用途 这是一套系统化构建生产级 MCP(Model Context Protocol)服务器的方法论,目标是让 AI 助手通过标准协议连接外部能力(数据库、API、文件等)。
主要能力
- 协议核心概念:区分 Tools(AI 主动调用的有副作用函数)、Resources(用 URI 标识的只读数据源,如 users://{id}/profile)、Prompts(预定义交互模板)。选择原则:执行操作→Tool,读取数据→Resource,引导交互→Prompt。
- 项目结构:TypeScript 使用 @modelcontextprotocol/sdk + zod,Python 使用 mcp + pydantic,给出 src/tools、src/resources、src/lib、tests 等目录规范。
- Tool 设计:命名用 snake_case 且动词开头;参数带类型约束与 .describe(),可选参数给默认值,用枚举代替布尔开关;描述需说明用途、返回内容与限制。
- 校验与错误处理:Zod/Pydantic 做 Schema 级校验,业务校验放 handler 开头;错误返回 isError: true 并附可操作信息,try/catch 包裹所有外部调用,避免服务器崩溃。
- 资源与生命周期:资源注册示例、连接池、超时、优雅关闭。
- 测试:单元测试(纯函数)、用 SDK Client 做集成测试、MCP Inspector 手动调试,命令如 npx @modelcontextprotocol/inspector node dist/index.js。
- 安全:最小权限、危险操作要求确认参数、参数化查询防注入、execFile 替代 exec、密钥走环境变量、沙箱与脱敏。
- 部署分发:npm 的 bin 配置与 mcpServers 客户端配置示例、pip 的 project.scripts、Dockerfile。
- 调试:MCP 用 stdio 通信,禁用 console.log,改用 console.error 或 server.sendLoggingMessage。
使用方式与适用场景 面向需要为 AI 助手开发 MCP 工具/服务器的开发者,适合阅读后按清单落地:先设计 Tools/Resources/Prompts 分工,再实现、测试(含真实 AI 客户端验证),最后发布并附带 README 与客户端配置示例。
限制 资料未提供具体版本兼容性、协议版本要求,也未见官方收费或授权信息,未提供官方发布渠道说明;实际落地需结合所用 SDK 的当前文档。