主题
Model Context Protocol SDKs
Model Context Protocol (MCP) 提供官方 SDK,帮助开发者高效构建客户端和服务器。
官方 SDKs
Python SDK
- 包名:
mcp
- 文档: Python SDK 指南
- 安装:
pip install mcp
- GitHub: python-sdk
TypeScript SDK
- 包名:
@modelcontextprotocol/sdk
- 文档: TypeScript SDK 指南
- 安装:
npm install @modelcontextprotocol/sdk
- GitHub: typescript-sdk
Go SDK
- 包名:
github.com/modelcontextprotocol/go-sdk
- 文档: Go SDK 指南
- 安装:
go get github.com/modelcontextprotocol/go-sdk
- GitHub: go-sdk
Java SDK
- 包名:
io.mcp.sdk
- 文档: Java SDK 指南
- 安装: Maven/Gradle 依赖
- GitHub: java-sdk
Rust SDK
- 包名:
mcp-rust
- 文档: Rust SDK 指南
- 安装:
cargo add mcp-rust
- GitHub: rust-sdk
C# SDK
- 包名:
ModelContextProtocol.SDK
- 文档: C# SDK 指南
- 安装:
dotnet add package ModelContextProtocol.SDK
- GitHub: csharp-sdk
Kotlin SDK
- 包名:
io.mcp.kotlin-sdk
- 文档: Kotlin SDK 指南
- 安装: Gradle/Maven 依赖
- GitHub: kotlin-sdk
Swift SDK
- 包名:
ModelContextProtocol
- 文档: Swift SDK 指南
- 安装: Swift Package Manager
- GitHub: swift-sdk
Ruby SDK
- 包名:
model_context_protocol
- 文档: Ruby SDK 指南
- 安装:
gem install model_context_protocol
- GitHub: ruby-sdk
PHP SDK
- 包名:
model-context-protocol/php-sdk
- 文档: PHP SDK 指南
- 安装:
composer require model-context-protocol/php-sdk
- GitHub: php-sdk
快速开始
构建服务器
选择您偏好的编程语言:
bash
# Python
pip install mcp
python -m mcp.examples.server
# TypeScript
npm install @modelcontextprotocol/sdk
npx create-mcp-server my-server
# Go
go get github.com/modelcontextprotocol/go-sdk
go run server.go
# Java
mvn dependency:add -Dartifact=io.mcp:sdk:1.0.0
java -jar mcp-server.jar
# Rust
cargo add mcp-rust
cargo run --bin server
构建客户端
bash
# Python
pip install mcp
python -m mcp.examples.client
# TypeScript
npm install @modelcontextprotocol/sdk
npx create-mcp-client my-client
# Go
go run client.go
# Java
java -jar mcp-client.jar
# Rust
cargo run --bin client
SDK 特性
核心特性
- 协议实现: 完整的 MCP 规范支持
- 传输层: stdio、SSE、WebSocket
- 类型安全: 完整的类型定义
- 错误处理: 全面的错误管理
- 日志记录: 内置调试和监控
服务器特性
- 工具注册: 简单的工具定义和注册
- 资源管理: 文件和数据资源处理
- 提示模板: 动态提示生成
- 能力声明: 自动能力协商
客户端特性
- 服务器发现: 自动服务器检测
- 连接管理: 稳健的连接处理
- 请求/响应: 类型安全的方法调用
- 事件处理: 实时事件处理
SDK 对比
特性 | Python | TypeScript | Go | Rust | Java | C# | Kotlin | Swift | Ruby | PHP |
---|---|---|---|---|---|---|---|---|---|---|
官方支持 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
服务器支持 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
客户端支持 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
类型安全 | ⚠️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⚠️ | ⚠️ |
性能 | ⚠️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⚠️ | ⚠️ |
生态系统 | ✅ | ✅ | ✅ | ⚠️ | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | ✅ |
获取帮助
- 文档: 学习 MCP
- 示例: 示例服务器
- 社区: Discord
- 问题反馈: GitHub Issues
贡献
我们欢迎对官方 SDK 的贡献:
- Python SDK: 贡献指南
- TypeScript SDK: 贡献指南
- Go SDK: 贡献指南
- Java SDK: 贡献指南
- Rust SDK: 贡献指南
- C# SDK: 贡献指南
- Kotlin SDK: 贡献指南
- Swift SDK: 贡献指南
- Ruby SDK: 贡献指南
- PHP SDK: 贡献指南
对于社区 SDK,请参考各自的代码仓库。