什么是 MCP?
Model Context Protocol (MCP) 是 Anthropic 推出的开放标准,用于将 AI 助手连接到外部数据源和工具。可以将其视为 AI 的 USB-C——一种到处通用的协议。
为什么 MCP 重要
在 MCP 之前,每个 AI 集成都是定制的。每个工具需要自己的插件、API 包装器和配置。MCP 标准化了这一切。
架构
- MCP 宿主:AI 应用(如 Claude Desktop、Cursor)。
- MCP 服务器:通过协议暴露工具和数据。
- MCP 客户端:将宿主连接到服务器。
核心概念
- 工具:AI 可调用的函数(搜索、创建文件、查询数据库)。
- 资源:AI 可读取的数据(文件、数据库记录、API 响应)。
- 提示词:应用间共享的可复用提示模板。
构建 MCP 服务器
1. 用 JSON schema 定义工具。
2. 实现 MCP 协议(REST 或 stdio 传输)。
3. 注册能力(工具、资源、提示词)。
4. 用 MCP Inspector 或 Claude Desktop 测试。
生态系统
- GitHub:仓库和 Issue 的 MCP 服务器。
- PostgreSQL:数据库查询的 MCP 服务器。
- Slack:消息和频道的 MCP 服务器。
开发者指南
- TypeScript 和 Python SDK 可用。
- 规范见 modelcontextprotocol.io。
- 社区服务器快速增长——已有数百个。
构建你的第一个 MCP 服务器
使用 TypeScript SDK 的最小示例:定义服务器、注册工具、处理请求。
安全考虑
- 认证:MCP 服务器应要求 API 密钥或 OAuth token。永远不要公开暴露无认证的服务器。
- 输入验证:根据 schema 验证所有工具输入。MCP 不会自动净化输入。
- 速率限制:实施速率限制防止滥用。典型限制为每客户端 100 请求/分钟。
- 审计日志:记录所有工具调用以进行调试和合规。
MCP vs 传统 API
MCP 增加了语义理解——AI 知道每个工具的功能和使用时机。与 REST API 中开发者硬编码集成逻辑不同,MCP 让 AI 根据上下文决定调用哪些工具。这使 MCP 非常适合 AI 需要动态选择操作的 Agent 工作流。