MCP 官方提供了 TypeScript 和 Python 两种主流语言的 SDK,此外社区也贡献了 C#、Go、Rust、Java、Swift 等语言的实现。对于大多数场景,推荐使用官方 TypeScript SDK(@modelcontextprotocol/sdk)或 Python SDK(mcp),以获得最好的协议兼容性和文档支持。截至 2026 年,MCP 已成为 Linux Foundation 旗下的开放标准,主流语言均有活跃维护的 SDK 实现。
明确服务端需要暴露哪些工具(Tools)、资源(Resources)和提示词(Prompts)。为每个原语编写清晰的描述文字(description),因为 AI 模型会根据描述文字决定是否调用该原语。使用 JSON Schema(TypeScript)或 Zod(Python)定义工具输入参数的类型和约束。
编写工具对应的实际执行逻辑,如调用外部 API、查询数据库、读取文件等。注意:基于 Stdio 传输的服务端 严禁 向标准输出(stdout)打印日志,否则会破坏 JSON-RPC 消息格式导致服务端崩溃;应使用标准错误(stderr)或文件记录日志。
对于本地使用的服务端,使用 Stdio 传输(从标准输入读、向标准输出写 JSON-RPC 消息)。对于需要远程访问的服务端,使用 Streamable HTTP 传输,并配置相应的认证机制(如 OAuth、API 密钥)。完成实现后,使用 MCP Inspector 工具进行本地测试。
将服务端打包发布到对应的包管理平台(TypeScript 发布到 npm,Python 发布到 PyPI),并在 MCP 社区目录中提交服务端信息,方便其他开发者发现和选用。对于企业内部使用的服务端,部署在内部服务器上,并配置好访问控制和安全审计机制。