基于
modelcontextprotocol/python-sdkv2 源码分析,协议版本 2026-07-28
概述
MCP Python SDK 是 Model Context Protocol 的官方 Python 实现,当前为 v2 版本——一次重大的架构重写,既支持 2026-07-28 规范及所有早期版本,也修复了长期存在的架构问题。SDK 同时提供 Server 和 Client 两套完整能力,支持 stdio、Streamable HTTP、SSE 三种标准传输方式。
1. 分层架构:四层分离
SDK 采用清晰的四层分层设计,每层职责明确、边界严格:
┌─────────────────────────────────────────┐
│ FastMCP 层 (MCPServer) │ 装饰器 API,开发者面向
├─────────────────────────────────────────┤
│ Lowlevel Server 层 (Server) │ 构造函数 handler 注册
├─────────────────────────────────────────┤
│ Dispatcher 层 (JSONRPCDispatcher) │ 请求-响应关联、并发调度
├─────────────────────────────────────────┤
│ Transport 层 (stdio / StreamableHTTP) │ 字节流 ↔ 消息流
└─────────────────────────────────────────┘
FastMCP 层(MCPServer)提供最高级抽象——@mcp.tool()、@mcp.resource()、@mcp.prompt() 装饰器,开发者只需写带类型注解的 Python 函数,SDK 自动推导 JSON Schema、处理参数校验和协议交互。15 行代码即可构建完整 MCP Server。