MCP 协议与 AI 工具生态
MCP 协议与 AI 工具生态
什么是 MCP?
MCP(Model Context Protocol)是 Anthropic 在 2024 年底推出的一个开放标准协议,目标是让 AI 模型能够以统一的方式连接各种外部数据源和工具。
可以把 MCP 理解为 AI 世界的”USB 接口”——有了这个统一标准,任何工具只需实现一次 MCP 接口,就能被所有支持 MCP 的 AI 客户端(Claude、Cursor、Zed 等)直接使用,不需要为每个 AI 应用单独开发适配层。
MCP 架构
┌─────────────────────────────────────────┐ |
三个核心角色:
- MCP Host:AI 应用程序(如 Claude Desktop、Cursor)
- MCP Client:内嵌在 Host 中,负责与 Server 通信
- MCP Server:工具/数据提供方,暴露资源和能力
MCP 提供的三类能力
1. Tools(工具)
AI 可以主动调用的函数,例如执行代码、发送请求:
# MCP Server 定义一个工具 |
2. Resources(资源)
AI 可以读取的数据,类似于”只读文件”:
# 暴露一个资源:当前项目的文件列表 |
3. Prompts(提示词模板)
预定义的提示词,可以被 AI 应用调用:
|
搭建一个简单的 MCP Server
使用官方 Python SDK:
pip install mcp |
from mcp.server import Server |
在 Claude Desktop 中配置:
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{ |
主流 MCP Server 生态
官方和社区已经提供了大量现成的 MCP Server:
| MCP Server | 功能 |
|---|---|
filesystem |
读写本地文件 |
github |
操作 GitHub 仓库、Issues、PR |
postgres |
查询 PostgreSQL 数据库 |
brave-search |
调用 Brave 搜索引擎 |
slack |
收发 Slack 消息 |
puppeteer |
控制浏览器自动化 |
memory |
持久化的 KV 记忆存储 |
MCP vs Function Calling
很多人会问 MCP 和 OpenAI 的 Function Calling 有什么区别:
| 对比项 | Function Calling | MCP |
|---|---|---|
| 定义方式 | 每次请求内嵌工具定义 | 独立 Server,复用性强 |
| 适用范围 | 单个模型/API | 跨模型、跨应用 |
| 工具发现 | 手动维护 | 动态发现 |
| 状态管理 | 无状态 | 支持有状态连接 |
| 生态 | OpenAI 生态 | 开放标准,多方参与 |
MCP 更像是工具的平台化,一次接入,处处可用。
实际使用体验
目前在 Cursor 里配合 MCP 使用效果很好,配置了以下几个 Server:
- filesystem — 让 AI 直接读写项目文件,不用反复粘贴代码
- github — 直接查看 PR、Issue,省去来回切换窗口
- memory — 跨对话保持上下文,记住项目的关键约定
整体感受是:MCP 让 AI 从”聊天工具”变成了真正能”干活”的助手。期待生态继续丰富,特别是企业内网数据源的接入方案。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Mag1code's blog!



