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本地开发、命令行工具简单、低延迟
StreamableHTTPWeb 部署、远程服务支持远程、可扩展

模块六:生产环境部署

6.1 水平扩展

无状态 HTTP 传输支持通过负载均衡器进行水平扩展,适合高并发生产场景。

6.2 监控与可观测性

生产级 MCP 服务需要完善的监控:请求延迟、错误率、工具调用频率等指标。

前置要求

  • 完成《MCP 入门》课程
  • Python 异步编程经验
  • 熟悉 JSON 消息格式和 HTTP 协议
  • 了解 Server-Sent Events (SSE)

本课程由 Anthropic 官方提供,灵阙学院提供中文导读与知识扩展。完整互动课程请访问 Anthropic Academy