什么是模型上下文协议(MCP)?
模型上下文协议(MCP) 是 Anthropic 于 2024 年 11 月 25 日推出的一项开放标准,旨在规范人工智能系统和大型语言模型如何通过一个统一的接口与外部工具、系统及数据源进行数据集成和共享(维基百科(2024年)。在MCP出现之前,每次集成AI都需要为每款工具专门编写定制的“粘合代码”。MCP用一个统一、一致的连接层取代了这种拼凑式方案,任何符合规范的客户端或服务器都可以实现该连接层,无论涉及哪种大型语言模型(LLM)或平台。
模型上下文协议是如何工作的?
MCP 采用客户端-服务器架构。AI 代理(或托管该代理的应用程序)充当 MCP 客户端。 MCP Server是一个小型程序,它封装了特定功能:文件系统、数据库、搜索引擎、网页浏览器或任何外部 API。客户端连接到一个或多个服务器,发现每个服务器公开了哪些工具和资源,然后在其推理循环中调用这些工具。
该协议定义了三个主要基本操作。工具 是代理可以调用的操作。资源 是代理可以读取的数据。提示词 是可重用的提示模板。这种明确的分离使得集成具有可预测性:服务器开发者清楚知道需要实现哪些接口,而代理开发者也清楚知道会收到什么样的响应。
由于该协议是开放且与供应商无关的,因此基于某个大型语言模型(LLM)平台构建的代理程序可以连接到最初为其他平台编写的MCP Server。这种可移植性对于需要跨多个AI供应商开展工作,或希望在不同项目间共享基础设施的团队而言,是一项实际优势。
MCP 生态系统
该生态系统在上线后迅速发展。截至2025年11月25日,官方MCP注册库中已收录近2,000条服务器记录,较2025年9月注册库开放以来的增长幅度达407%(模型上下文协议博客(2025年)。该注册表中的服务器涵盖文件系统、代码执行环境、网络搜索、浏览器控制、日历、关系型数据库、向量存储以及数十个SaaS API。
主要的LLM提供商和开发工具供应商已发布了官方的MCP Server。社区贡献者则填补了供应商尚未涉及的长尾API。其结果是,代理在启动时可以浏览并连接到该目录,而无需针对所需的每项新功能进行定制集成工作。
使用场景
可实时访问网络的AI代理。 需要读取当前网页内容的代理可以连接到一个支持网页渲染的 MCP Server。该服务器会获取、渲染并返回纯净的 HTML 或 Markdown 代码,而代理则将该输出作为结构化的工具结果进行读取。Massive 的 Web Render API 完全符合这一模式:Browsing 端点(/browser) 返回format=markdown 或format=rendered 输出结果,使连接到 MCP 的代理能够立即使用实时网页,无需额外解析。
多工具研究流程。 一个研究代理可以同时与网络搜索服务器、数据库服务器和代码执行服务器建立连接。它会在单个会话内协调对这三者的调用,并在返回最终答案之前整合结果。MCP的工具发现机制使代理能够在启动时枚举可用功能,而无需依赖硬编码的路由逻辑。
企业数据落地。 内部 MCP Server 可在推理阶段向大型语言模型(LLM)提供专有数据库、文档存储库或 CRM 记录,而无需将敏感数据发送至第三方训练管道。代理会根据需求向 Server 发起查询,确保数据始终保留在组织自身的基础设施内。
开发工具。 代码编辑器和集成开发环境(IDE)现已支持 MCP 客户端。开发者的 AI 助手可通过 MCP Server 在聊天界面内直接运行测试、获取错误日志、查询文档或提交拉取请求。
最佳实践
严格控制范围服务器的权限。 每个 MCP Server 应仅提供一组明确界定的、范围有限的工具。应避免构建一个包揽系统所有功能的服务器。范围的限定可以在代理意外调用工具时将影响控制在最小范围内,同时也能使每个服务器的审计和维护更加便捷。
在服务器端对所有输入进行验证。 代理可能被利用,通过提示符注入传递意外的参数。MCP Server 应将每个传入的工具调用视为不可信,并在执行任何操作前验证参数,无论连接的是哪个代理。
请使用运输安全服务。 远程 MCP Server 应通过 HTTPS/TLS 运行。使用 stdio 传输协议的本地托管服务器虽然暴露风险较低,但对于任何涉及敏感数据或操作的服务器,仍值得实施身份验证。
记录工具调用及其结果。 当代理系统出现故障时,往往难以进行调试。MCP Server 层上的结构化日志会为您提供一份清晰、独立的记录,详细显示代理调用了哪些操作以及接收到了哪些内容,该记录与 LLM 自身的跟踪信息相互独立。
将生产环境中的服务器版本固定下来。 MCP 规范仍在不断演进。锁定代理所依赖的服务器版本,可以防止上游的静默更新以代理无法预料的方式更改工具接口。
结论
模型上下文协议(MCP)为人工智能代理提供了一种一致且与供应商无关的方式,使其能够连接到所需的工具和数据。 开发人员无需为每项功能编写自定义适配器,只需实现一种协议,即可访问不断扩充的现成服务器目录。MCP 注册表到 2025 年底已快速增长至近 2,000 个条目,这表明该生态系统已达到投入生产使用的实际门槛。 随着人工智能代理在网页访问、数据检索和代码执行等领域承担更多自主任务,其外部连接的可靠性将决定它们实际能够完成什么。MCP 使这些连接变得可预测且可移植。
常见问题解答
MCP 规范了 AI 代理与外部工具、数据源和 API 的连接方式。开发人员无需为每项功能编写自定义集成代码,只需构建或部署一个符合 MCP 规范的 Server,任何支持 MCP 的代理均可与其连接。常见用途包括 Web Access API、数据库查询、文件操作以及在代理管道内执行代码。
Anthropic 于 2024 年 11 月 25 日推出了“模型上下文协议”(Model Context Protocol),作为一项开放标准(维基百科(2024年)。该规范是开源且厂商中立的,这意味着任何大型语言模型(LLM)提供商或工具开发者均可实施该规范,无需受许可限制,也无需获得Anthropic的批准。
截至2025年11月25日,官方MCP注册库中收录的服务器条目已接近2,000条,较该注册库2025年9月上线时增长了407%(模型上下文协议博客(2025年)。除了GitHub上的官方注册库外,还有其他由社区维护的服务器,这些服务器托管在其他软件包托管平台上。
REST API 是一种专为开发人员构建应用程序而设计的通用接口。MCP 则专门针对 AI 代理而设计:它包含一种发现机制,使代理能够在运行时枚举可用的工具;提供了一套用于工具输入和输出的统一模式;并为工具、资源和提示词模板定义了各自的基元。 MCP Server可以在内部封装 REST API,同时向外部暴露一个统一的、代理可读的接口。
MCP 是一种协议,而非安全边界。安全性取决于各个服务器的具体实现和部署方式。 推荐的做法包括在服务器端验证所有输入、通过 HTTPS 运行远程服务器、对连接的客户端进行身份验证,以及限制每台服务器暴露的攻击面。命令注入是代理系统中已知的风险,而 MCP Server 正是应用输入验证作为防御层的一个合理位置。