什么是 MCP,为什么开发者应该关注它
面向开发者解释 Model Context Protocol:为什么 AI 工具需要共享上下文,以及 MCP 在现代编程工作流中的位置。
Model Context Protocol,通常简称 MCP,正在成为 AI 开发者工具链里的一个重要概念。它关注的是一个很实际的问题:语言模型只有连接到合适的工具和上下文,才能在开发工作里发挥更稳定的价值。
AI 编程助手如果能理解仓库、读取文档、调用测试脚本、查看 issue、查询数据库结构,就能比只凭上下文窗口回答问题更有用。如果没有统一协议,每个 AI 应用和每个外部系统都要单独做集成。MCP 想解决的正是这类重复连接问题。
MCP 想解决什么问题
大模型擅长基于上下文推理,但它不会天然知道你的本地文件、私有 API、设计文档、数据库结构或部署日志。过去开发者通常用自定义插件、工具调用、检索系统和脚本来解决。
这些方法能用,但容易碎片化:
- 一个编辑器集成有自己的插件格式。
- 一个聊天应用有另一套工具接口。
- 一个内部系统通过自定义脚本暴露数据。
- 一个团队需要为不同 AI 客户端重复写类似连接器。
MCP 提供了一种更统一的方式,让 AI 应用和外部系统描述能力、暴露资源并交换上下文。
可以把 MCP 理解为上下文基础设施
MCP 本身不是模型,也不是编程 Agent。它更像 AI 应用和外部系统之间的一层协议。
在这个模型里:
- host 是 AI 应用或运行环境。
- client 管理来自 host 的连接。
- server 暴露文件、工具、提示词或数据源等能力。
对开发者来说,术语不是重点。重点是 AI 应用可以通过一致的接口发现并使用能力,而不是依赖一次性的胶水代码。
为什么开发者应该关注
MCP 重要,是因为开发工作流正在从单次 prompt 走向工具连接型工作:
- 让助手检查代码,而不是只凭记忆回答。
- 允许它调用本地工具或项目脚本。
- 给它访问文档和结构化资源的能力。
- 让敏感上下文尽量留在合适的环境里。
这并不意味着代码审查、测试或安全边界可以消失。它只是让集成边界变得更明确。
MCP 和 function calling 有关,但不是一回事
Function calling 或 tool calling 让模型可以通过定义好的工具 schema 请求操作。MCP 更关注 AI 应用如何通过共享协议连接外部能力。实际使用中,两者可以配合:模型判断需要某项能力,应用层通过 MCP 类似的基础设施暴露这项能力。
如果你在做 AI 功能,这个区分很重要。模型 API 决定模型如何请求工具;MCP 这类协议影响工具和上下文如何围绕应用组织起来。
接下来应该怎么做
开发者不需要立刻跟进每一个新协议,但应该开始把 AI 工作流看成一个集成系统:
- 哪些上下文应该给 AI 使用?
- 哪些工具可以被调用?
- 哪些数据必须保持本地或私密?
- 哪些操作需要人确认?
- 哪些集成应该能复用到不同编辑器和 Agent?
这套思维方式,才是 MCP 值得关注的真正原因。