部署 MCP 服务器#

   

本存储库提供了使用 Ray Serve 和 Anyscale Service 部署和扩展模型上下文协议 (MCP) 服务器的端到端示例,涵盖了可流式传输的 HTTP 和 stdio 传输类型。

为什么选择 Ray Serve 来处理 MCP#

  • 自动伸缩:动态调整副本数量以匹配流量高峰并保持响应能力。

  • 负载均衡:智能地将传入请求分配给所有副本,以实现稳定的吞吐量。

  • 可观测性:公开请求速率、资源使用情况和系统健康状况的实时指标。

  • 容错:检测故障、重启组件并将流量重新路由到健康的副本,以实现持续可用性。

  • 组合:将部署(预处理、推理、后处理和自定义逻辑)链接成一个无缝的管道。

Anyscale 服务优势#

  • 生产就绪:企业级基础设施管理和自动化部署,以应对真实的 MCP 流量。

  • 高可用性可用区感知调度和零停机滚动更新,以最大化正常运行时间。

  • 日志记录跟踪全面的日志、分布式跟踪和实时仪表板,用于端到端的可观测性。

  • 主节点容错托管的主节点冗余,以消除 Ray 集群协调层中的单点故障。

先决条件#

  • Ray Serve,包含在基础 Docker 映像中。

  • Podman,用于部署 MCP 工具与现有 Docker 映像(用于笔记本 3 到 5)。

  • 在您的环境中设置的 Brave API 密钥 (BRAVE_API_KEY),用于笔记本 3 和 4。

  • MCP Python 库。

开发#

您可以在自己的 Ray 集群或 Anyscale 工作空间 上运行此示例,这使您无需担心基础设施即可进行开发——就像在笔记本电脑上一样。工作空间附带:

  • 开发工具:从您的本地 IDE(Cursor、VS Code 等)启动远程会话并开始编码,使用您熟悉的工具结合 Anyscale 计算的强大功能。

  • 依赖项:继续使用 pip 等常用工具安装依赖项。Anyscale 会将所有依赖项传播到您的集群。

  • 计算:通过将 Anyscale 部署到您的帐户中,利用任何预留的实例容量、来自您选择的任何计算提供商的 Spot 实例。或者,您可以使用 Anyscale 云来实现完全无服务器的体验。

  • 调试:利用分布式调试器获得与 VS Code 相似的调试体验。

官方文档中了解有关 Anyscale 工作空间的更多信息。

注意:在Anyscale上免费运行整个教程——所有依赖项都已预装,计算会自动缩放。要在其他地方运行它,请从提供的 Dockerfile 安装依赖项并提供适当的资源……

生产#

通过利用 Anyscale CLISDK,无缝集成到您现有的 CI/CD 管道中,以部署高可用性服务并运行可靠的批处理作业。在一个与生产环境几乎相同的环境(多节点集群)中开发,可以极大地加速从开发到生产的过渡。本教程还介绍了 RayTurbo 的专有功能,可优化工作负载的性能、容错能力、规模和可观测性。

无基础设施烦恼#

将基础设施抽象化,让您的 ML/AI 开发人员可以专注于核心 ML 开发。您还可以通过企业治理和可观测性以及管理员功能更好地管理计算资源和成本,以便您可以设置资源配额,为不同的工作负载设置优先级,并获得跨整个计算集群的利用率可观测性。如果您在 Kubernetes 云(EKS、GKE 等)上运行,仍然可以通过部署Anyscale Kubernetes 运算符来访问本教程中演示的专有 RayTurbo 优化。