什么是 MCP?
MCP(Model Context Protocol,模型上下文协议) 是由 Anthropic 提出的一种开放协议,旨在标准化 AI 模型与外部工具、数据源之间的交互方式。
简单来说,MCP 就像 AI 世界的「USB-C 接口」——它定义了一套统一的规范,让任何 AI 应用都能以相同的方式接入各种工具和数据。
为什么需要 MCP?
在 MCP 出现之前,如果你想让 AI 助手调用数据库、读取文件、发送 HTTP 请求,通常需要:
- 定制化开发:为每个工具单独编写集成代码
- Prompt Engineering:在提示词里塞大量上下文,效率低下
- 厂商锁定:不同 AI 平台的工具调用方式各不相同
MCP 解决了这些问题:
- ✅ 标准化:一套协议,所有 AI 应用通用
- ✅ 可复用:写一次 MCP Server,到处使用
- ✅ 动态发现:AI 可以自动发现可用的工具和数据源
- ✅ 安全可控:精细的权限管理
MCP 的核心架构
MCP 采用 客户端-服务器 架构:
1 | ┌──────────────┐ MCP Protocol ┌──────────────┐ |
- MCP Client:运行在 AI 应用中,负责与 Server 通信
- MCP Server:封装具体工具逻辑,暴露标准化的接口
快速上手:搭建一个 MCP Server
以下是一个简单的 Node.js MCP Server 示例,提供「获取天气」功能:
1 | import { Server } from "@modelcontextprotocol/sdk/server/index.js"; |
在 AI 客户端中配置 MCP
以 CodeBuddy / Cursor 为例,在 .codebuddy/mcp.json 中配置:
1 | { |
配置完成后,AI 助手就能自动发现并调用 get_weather 工具了。
实战场景
| 场景 | MCP Server 示例 |
|---|---|
| 数据库查询 | 连接 MySQL / PostgreSQL,AI 直接写 SQL |
| 文件管理 | 读写本地文件系统 |
| API 集成 | 封装第三方服务(GitHub、Jira、飞书等) |
| 浏览器自动化 | Playwright MCP,让 AI 操控浏览器 |
| 知识库检索 | RAG 增强,AI 实时查询企业内部文档 |
安全注意事项
- 最小权限原则:只暴露必要的工具和操作
- 参数校验:Server 端严格校验所有输入
- Token 鉴权:敏感操作需要身份验证
- 审计日志:记录所有工具调用,便于追溯
总结
MCP 正在改变 AI 应用与外部世界的交互方式。它让 AI 不再是「孤岛」,而是可以像人类一样使用各种工具的智能体。
如果你也在开发 AI 应用,不妨试试为你的工具编写一个 MCP Server——一次编写,处处运行。