MCP Server 是什么
MCP(Model Context Protocol)是 Anthropic 提出的开放协议,用于标准化 AI 模型与外部工具、数据源之间的通信方式。MCP Server 是实现该协议的服务端程序,为 AI 客户端提供工具调用能力。
核心概念
MCP 定义了三个角色:
- Host(宿主):用户直接交互的应用程序,如 Claude Desktop、Cursor 等。
- Client(客户端):Host 内部的 MCP 协议客户端,负责与 Server 通信。
- Server(服务端):提供具体工具能力的程序,如文件系统访问、数据库查询、API 调用等。
一个 Host 可以同时连接多个 MCP Server,每个 Server 提供不同的工具集。
MCP Server 与普通插件的区别
| 对比项 | MCP Server | 普通插件 |
|---|---|---|
| 协议 | 标准化的 JSON-RPC 协议 | 各平台私有 API |
| 复用性 | 一个 Server 可被多个客户端使用 | 通常只适用于特定平台 |
| 运行方式 | 独立进程,通过 stdio 或 HTTP 通信 | 通常在宿主进程内运行 |
| 开发语言 | 任意语言(Node.js、Python 等) | 受限于平台 SDK |
| 安全边界 | 进程隔离,权限可控 | 通常共享宿主权限 |
工作原理
MCP 的通信流程如下:
- Host 启动时,根据配置文件启动 MCP Server 子进程。
- Client 通过 stdio(标准输入输出)与 Server 建立 JSON-RPC 连接。
- Server 向 Client 声明自己提供的工具列表(tools)和资源(resources)。
- 用户与 AI 对话时,AI 根据需要调用 Server 提供的工具。
- Server 执行操作并返回结果,AI 将结果整合到回复中。
用户 → Host(Claude Desktop) → Client → MCP Server → 外部服务/文件系统
↓
返回执行结果
MCP Server 能做什么
- 读写本地文件系统
- 执行数据库查询
- 调用第三方 API(GitHub、Slack、Notion 等)
- 运行 Shell 命令
- 搜索和抓取网页内容
- 管理日历和邮件
注意事项
- MCP Server 以本地进程运行,拥有你授予的系统权限,接入前务必确认权限范围。
- 不同 Server 的风险等级不同,文件只读类风险低,能执行命令或访问网络的风险高。
- MCP 协议仍在快速迭代中,配置格式可能随客户端版本变化。
常见问题
- MCP 是 Anthropic 专有的吗?
- MCP 是开放协议,规范和 SDK 均开源。任何 AI 客户端都可以实现 MCP 支持,目前 Claude Desktop、Cursor、Windsurf 等已支持。
- 使用 MCP 需要编程基础吗?
- 基础使用只需编辑 JSON 配置文件,不需要写代码。但理解命令行操作和环境变量概念会有帮助。
- MCP Server 会自动更新吗?
- 不会。MCP Server 通过 npx 或 uvx 运行时会拉取最新版本,但本地安装的需要手动更新。建议定期检查官方仓库的更新日志。