MCP 进阶:生产级实现模式
转载
Anthropic
S 精选 提升 |
约 75 分钟阅读
更新于 2025-06-01 本文为开源社区精选内容,由 Anthropic 原创。 文中链接将跳转到原始仓库,部分图片可能加载较慢。
查看原始来源MCP 进阶:生产级实现模式
Anthropic 官方课程 | 免费 | 高级 | 预计学习时间:75 分钟
课程概述
本课程深入 MCP 的高级特性和生产级实现模式,涵盖采样(Sampling)、传输机制、进度通知、权限控制和生产环境部署策略。适合已经掌握 MCP 基础、准备构建生产级应用的开发者。
模块一:采样(Sampling)
1.1 服务器发起的 LLM 调用
采样是 MCP 的高级特性,允许 MCP 服务器通过连接的客户端请求 LLM 调用。这种架构设计将 AI 的成本和复杂性从服务器端转移到客户端,使 MCP 服务器保持轻量。
1.2 采样的使用场景
- 在工具执行过程中需要 AI 判断下一步
- 需要对中间结果进行 AI 分析
- 实现自主决策的复杂工作流
模块二:通知与进度报告
2.1 进度通知
对于长时间运行的操作,使用上下文对象(Context)发送实时进度更新:
- 进度百分比报告
- 状态文本更新
- 日志回调用于调试
2.2 日志系统
MCP 内置的日志系统支持多级别日志(debug/info/warn/error),方便调试和监控。
模块三:权限与安全
3.1 Roots 文件访问
Roots 机制允许精确控制 MCP 服务器可以访问的目录范围,建立安全边界:
- 只授权特定目录的读写权限
- 防止服务器访问敏感文件
- 动态调整权限范围
模块四:JSON 消息架构
4.1 MCP 消息规范
深入理解 MCP 的 JSON-RPC 消息格式:
- 请求-响应对:带有唯一 ID 的双向消息
- 通知:单向消息,不需要响应
- 消息的序列化和反序列化
模块五:传输机制
5.1 Stdio 传输
通过标准输入/输出流通信的传输模式:
- 初始化握手序列
- 适用于本地进程间通信
- 最简单的实现方式
5.2 StreamableHTTP 传输
基于 HTTP 和 Server-Sent Events (SSE) 的传输模式:
- 支持远程服务器通信
- SSE 实现服务器到客户端的推送
- 适用于 Web 部署场景
5.3 传输选择指南
| 传输 | 适用场景 | 优势 |
|---|---|---|
| Stdio | 本地开发、命令行工具 | 简单、低延迟 |
| StreamableHTTP | Web 部署、远程服务 | 支持远程、可扩展 |
模块六:生产环境部署
6.1 水平扩展
无状态 HTTP 传输支持通过负载均衡器进行水平扩展,适合高并发生产场景。
6.2 监控与可观测性
生产级 MCP 服务需要完善的监控:请求延迟、错误率、工具调用频率等指标。
前置要求
- 完成《MCP 入门》课程
- Python 异步编程经验
- 熟悉 JSON 消息格式和 HTTP 协议
- 了解 Server-Sent Events (SSE)
本课程由 Anthropic 官方提供,灵阙学院提供中文导读与知识扩展。完整互动课程请访问 Anthropic Academy。
课后巩固
本分类的闪卡与测验,帮助巩固记忆
延伸阅读
根据本文主题,为你推荐相关的学习资料