Model Context Protocol 让 AI 直接访问 GitHub、数据库、文件系统等,这是 AI 编程工具的核心扩展机制。对所有使用 Claude/AI 编程的开发者必读。
人工智能已经变得极其强大。
它可以编写代码、解释复杂概念、总结文档,甚至帮助调试应用程序。
但它有一个重要的局限。
AI 模型并不会自动知道如何访问你的 GitHub 仓库、查询数据库、读取计算机上的文件,或与你的内部应用程序交互。
过去,开发者通常会为每一个 AI 应用程序,以及它需要连接的每一项服务,分别构建自定义集成。
这种方式很快就会变得难以维护。
这正是 Model Context Protocol(MCP)出现的原因。
你可以把 MCP 看作 AI 应用程序的通用连接器。开发者不必再为每一种工具单独创建集成,而是可以通过 MCP server 暴露自己的应用程序,让任何兼容的 AI client 都能够使用它们。
在本指南中,我们将探讨 MCP 是什么、它为何诞生、它如何工作,以及它为什么正在成为 AI 生态系统中最重要的标准之一。
Model Context Protocol(MCP)是一项开放标准,允许 AI assistant 使用统一协议与外部工具、API、数据库、文件系统和应用程序通信。
MCP 定义了一套标准的通信方式,避免每个 AI 应用程序都要分别与每项服务建立自己的集成。
MCP 让 AI 模型能够以安全、标准化的方式使用外部工具。
设想有四个不同的 AI assistant:
现在再设想,你希望它们都能访问:
如果没有 MCP,每个 AI 应用程序都需要自己的集成。
ChatGPT → GitHub
Claude → GitHub
Gemini → GitHub
Cursor → GitHub
再把这种情况乘以几十项服务。
维护所有这些集成,很快就会变得既昂贵又耗时。
有了 MCP,整个架构会简单得多。
flowchart TD
AI["AI Clients<br/>ChatGPT • Claude • Cursor"]
MCP["MCP Server"]
GitHub["GitHub"]
Slack["Slack"]
DB["Database"]
Drive["Google Drive"]
AI --> MCP
MCP --> GitHub
MCP --> Slack
MCP --> DB
MCP --> Drive
现在,一套集成就可以服务多个 AI client。
MCP server 是一种轻量级应用程序,负责向 AI client 暴露工具、资源和 prompt。
它是 AI 模型与外部系统之间的桥梁。
AI 不会直接与你的数据库或 API 通信,而是将请求发送给 MCP server。
server 执行请求的操作,再以结构化格式返回结果。
这让集成更容易构建,也更容易保障安全。
一个 MCP 生态系统通常由三个部分组成。
flowchart LR
User --> Client["AI Client"]
Client --> Server["MCP Server"]
Server --> APIs["External APIs"]
Server --> Files["File System"]
Server --> DB["Database"]
Server --> Apps["Business Applications"]
每个组件都有明确的职责。
MCP server 通常会暴露三类不同的能力。
工具是 AI 可以执行的函数。
搜索 GitHub 仓库
search_customer()
create_invoice()
get_weather(city)
AI 会决定何时调用某个工具。
资源用于提供 AI 可以读取的信息。
资源主要用于读取信息。
MCP server 还可以共享 prompt 模板。
生成 release notes
审查 pull request
开发者不必反复编写同一个 prompt,而是可以暴露可复用的模板。
这是最常见的困惑之一。
client 就是 AI 应用程序。
ChatGPT 桌面应用程序
它的职责包括:
连接 MCP server
发现可用工具
server 则提供真正的功能。
连接数据库
返回结构化结果
可以这样理解:
server 负责执行具体工作。
假设你向 AI assistant 提出请求:
“显示 GitHub 上所有处于 open 状态的 issue。”
以下是幕后发生的过程。
sequenceDiagram
participant User
participant AI
participant MCP
participant GitHub
User->>AI: Show open issues
AI->>MCP: Call GitHub tool
MCP->>GitHub: Fetch issues
GitHub-->>MCP: Issue list
MCP-->>AI: Structured response
AI-->>User: Display results
AI 从不直接与 GitHub 通信。
一切都通过 MCP server 完成。
假设你正在构建一个公司内部 assistant。
“今天一共下了多少笔订单?”
AI 不会直接连接生产数据库,而是调用一个 MCP 工具。
get_daily_orders()
MCP server 会安全地查询数据库,并返回类似下面的结果:
{
"orders": 428
}
然后 AI 会回答:
今天共下了 428 笔订单。
AI 永远看不到你的数据库凭据。
所有操作都由 server 安全处理。
大多数 MCP server 都遵循一套简单的工作流程。
flowchart TD
A[Install MCP SDK]
B[Create Server]
C[Register Tools]
D[Connect External APIs]
E[Run Server]
F[Connect AI Client]
A --> B --> C --> D --> E --> F
典型的工具可能包括:
server 启动后,兼容的 AI client 就能自动发现这些工具。
许多公司和开源项目已经提供了 MCP server。
一些常见示例包括:
组织也可以为自己的内部应用程序构建自定义 MCP server。
MCP 为开发者带来了多项优势。
一套标准集成即可支持多个 AI client
通过受控的工具执行提升安全性
结构化通信
可复用的集成
开发者不必多次构建同一种集成,只需构建一次即可。
尽管 MCP 功能强大,但它仍然是一项持续演进的标准。
目前的一些局限包括:
需要兼容 MCP 的 AI client
server 的可用性会影响工具的可用性
必须谨慎设计权限
性能取决于外部服务
一些遗留系统仍然需要自定义 adapter
随着 MCP 的采用率持续增长,这些问题有望逐步改善。
软件行业已经多次见证标准如何改变开发者构建应用程序的方式。
REST 标准化了 Web API。
Docker 标准化了应用程序打包。
USB 标准化了硬件连接。
MCP 希望为 AI 应用程序实现类似的目标。
开发者不再需要面对每个 AI 平台自行发明的集成系统,而是拥有了一套可跨多个 client 使用的通用协议。
随着 AI Agent 的能力越来越强,MCP 这样的标准将在构建安全、可扩展且可互操作的 AI 系统时发挥越来越重要的作用。
Model Context Protocol 远不只是另一个 AI 流行词。
它提供了一种标准方式,让 AI 应用程序能够与外部工具和服务交互,从而解决了一个真实存在的问题。
无论你是在构建 AI 驱动的应用程序、内部 assistant、开发者工具,还是企业软件,理解 MCP 都会成为一项越来越有价值的技能。
如果你刚刚踏上 AI 开发之旅,学习如何构建 MCP server 会是一个非常不错的下一步。
MCP 是一项用于连接 AI 应用程序与外部工具的开放标准。
MCP server 是 AI client 与外部系统之间的安全桥梁。
AI client 可以发现并执行 MCP server 暴露的工具。
MCP 减少了对自定义集成的需求。
这项协议正在迅速成为现代 AI 应用程序的一项基础技术。
感谢你抽出时间阅读本文。
我热衷于学习和构建 AI、Machine Learning、DevOps、Cloud 与 Software Engineering 相关技术,并经常通过技术博客和动手实践项目分享自己的学习成果。
如果你对这些话题感兴趣,或者只是想认识更多开发者同行,我很乐意与你在 LinkedIn 上建立联系。
🔗 LinkedIn:原文作者的 LinkedIn 个人主页
再次感谢,祝你编码愉快!
💬 这是我在 DEV 上发表的第一篇文章。如果你有任何建议、发现了可以改进的地方,或者想分享自己使用 MCP 的经历,欢迎在评论区告诉我你的想法。
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。