一、引言

在人工智能快速发展的当下,AI 模型与外部工具和数据源的交互变得至关重要。MCP 协议的出现,为解决这一交互难题提供了有效的方案。它就像一个强大的桥梁,让 AI 模型能够更加顺畅地与外界沟通协作。

二、MCP 协议概述

(一)定义

MCP 即 Model Context Protocol(模型上下文协议),是由 Anthropic(Claude 模型的主体公司)在 2024 年 11 月推出并开源的一项创新标准。它是一种开放标准协议,用于将 AI 模型连接到各种外部工具和数据源,通俗来讲,它就如同 AI 界的 USB 接口,定义了一套规则,告诉 AI 如何调用工具,包括参数名、参数类型和参数描述等信息,还能响应 AI 的 Toolcall 并返回结果,让 AI 携带结果继续发起对话。

(二)重要性

在 MCP 协议出现之前,AI 模型与外部工具的交互复杂且不稳定。虽然 Toolcall 出现较早,OpenAI 也很早就支持,但由于没有统一标准,每个人的实现方式和对参数的使用都不一致。而 MCP 协议的推出成为了现阶段最合适的解决方案,甚至 OpenAI 也加入到这个生态中。

三、MCP 协议架构

(一)核心组件

  1. MCP 主机(Host):这是面向用户的 AI 界面,例如 Claude Desktop、Cursor、Cline 插件等,它可以连接到多个 MCP 服务器。
  2. MCP 客户端(Client):作为管理主机和服务器之间安全连接的中介,每个服务器对应一个客户端以实现隔离,客户端位于主机应用程序中。
  3. MCP 服务器(Server):是提供特定功能(如工具、数据访问、领域提示)的外部程序,能够连接到 Google Drive、Slack、GitHub、数据库和 Web 浏览器等各种数据源。
  4. 传输层(Transport Layer):是客户端和服务器之间的通信机制。MCP 支持两种主要传输方式:
    • STDIO(标准输入/输出):类似于 Python 的 subprocess.Popen,然后通过 write/read stdout 来实现。官方已经提供了 Python 和 JavaScript 的 SDK,几乎可以一键接入。有能力的话发布至 pypi 或 npm 后,用户使用也非常简单,Python 可以使用明星包管理工具 uv(uvx),JavaScript 可以使用 npx 实现一键运行。
    • HTTP + SSE(服务器发送事件):用于远程连接,HTTP 用于客户端请求,SSE 用于服务器响应和流式传输,但目前使用较少,例如 Claude Desktop 现在不支持这种方式,主流还是 STDIO 方案。

四、MCP 与传统 API 的对比

(一)相似之处

MCP 与传统 API(有 OpenAPI 支持的 RESTful API)都实现了系统间的通信。

(二)关键优势

  1. 单一协议集成所有功能:MCP 不仅仅包含 Toolcall,实际上还涵盖了 Prompts、Resources 等。不过目前各个 Client 对这些特性的支持比较有限。它就像一个统一接口,只要一次整合,就能连接多个服务。
  2. 实时数据更新:不是静态连接,例如在 Claude Desktop 中一次对话可以多次调用 Toolcall,并且根据 Toolcall result 做出决策。
  3. 动态工具发现和上下文处理:MCP 协议有 notifications/tools/list_changed 事件可以支持热更新工具列表,AI 模型能自动识别并使用可用的工具,不用提前写死每个接口。

五、MCP 协议的核心优势

(一)简化开发

只需编写一次代码,就可以多次集成。官方主推语言是 Python 和 JavaScript,动态语言跨平台天生具有优势,相比 Go、Rust 等工具分发起来要容易很多,结合 pypi 和 npm 分发也非常方便。

(二)灵活性

可以在不进行复杂重新配置的情况下切换 AI 模型或工具。

(三)实时响应

MCP 连接保持活跃,在配置文件新增了工具之后不需要重启客户端就能实现工具的热更新。

(四)安全合规

内置访问控制和标准化安全实践,这对于 AI 来说是非常重要的课题之一。

(五)可扩展性

随着 AI 生态系统的增长,可以添加来自官方、社区的各种新工具。以前 AI 主要比拼提示词,现在大家也开始关注 MCP 了。

六、MCP 协议的应用场景

(一)实时数据获取

AI 可以通过 MCP 查询最新股票价格、天气信息等实时数据。

(二)企业数据库集成

帮助企业将自有数据库与 AI 模型连接,让 AI 能够分析和处理企业内部数据,例如客户信息、销售数据等。

(三)区块链交互

分析区块链交易、验证智能合约等,实现 AI 与区块链系统的协作。

(四)具体案例

  1. BlenderMCP:Claude 可以自动化打开 Blender 将 2D 图片转为 3D 建模,还能基于此场景搭建可以互动的网页,甚至通过语音对话的方式快速构建用 Blender 渲染好的飞机。
  2. 将设计稿转成前端代码:仅需贴入一个链接给大模型,就可以将 Figma 中的设计稿界面快速变成在线可以预览的网页。安装 MCP 使用的是 Figma - Context - MCP 框架,在本地启动服务后再进行信息注册。
  3. 生成 AI 新闻资讯卡片:实现一句话联网搜索相关信息后,参考相关的样式图进行页面填充。

七、结论

MCP 协议作为 AI 领域的一项重要创新,为 AI 模型与外部工具和数据源的交互提供了统一、高效、安全的解决方案。它的出现不仅简化了开发流程,提高了开发效率,还为 AI 应用带来了更多的可能性和灵活性。随着 AI 生态系统的不断发展,MCP 协议有望在更多的场景中得到应用和推广,推动 AI 技术迈向新的高度。我们有理由相信,MCP 协议将在未来的 AI 发展中发挥越来越重要的作用。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐