Skip to content

MCP协议技术概述:连接AI Agent与外部世界的桥梁

前言

MCP(Model Context Protocol)是 Anthropic 推出的一个开放协议,用于标准化 AI 模型与外部工具/数据源之间的通信。通过 MCP,可以让 AI Agent 安全、规范地调用外部系统能力。

本文将系统介绍 MCP 的核心原理、交互机制及部署模式。

MCP协议核心原理

整体架构

MCP 协议定义了 AI 客户端(Agent)与 MCP Server 之间的通信规范,MCP Server 再与实际的业务系统进行交互:

工作机制

MCP 协议的工作流程包含以下几个关键阶段:

阶段说明
工具注册MCP Server 启动时向客户端声明自己提供哪些工具(tools)、资源(resources)、提示词(prompts)
消息格式使用 JSON-RPC 2.0 协议进行通信
调用流程Agent 识别用户意图 → 选择合适的 MCP 工具 → 发送调用请求 → MCP Server 执行业务逻辑 → 返回结果

Agent与MCP的交互机制

能力发现流程

Agent 需要"知道"当前有哪些 tools 可用、参数定义等信息,这个过程在 MCP 协议的初始化和能力发现阶段 完成:

整个流程可以分为三个阶段:

  1. 初始化握手:Agent 与 MCP Server 建立连接,双方交换能力信息和协议版本
  2. 工具发现:Agent 通过 tools/list 请求获取 MCP Server 提供的所有工具信息
  3. 实际调用:Agent 根据用户意图选择合适的工具,发起调用请求

tools/list返回的信息结构

MCP Server 在响应 tools/list 时,返回的核心字段:

字段说明
name工具唯一标识,如 create_order
description工具功能描述,LLM 用此判断何时调用
inputSchemaJSON Schema 格式的参数定义(类型、必填、描述等)

Agent 获取这些信息后,会将其注入到 LLM 的上下文中,使 LLM 能够:

  • 了解有哪些工具可用
  • 理解每个工具的用途
  • 知道调用时需要传递什么参数

传输协议:stdio与SSE

MCP Server 与客户端之间支持两种传输层协议。

stdio(Standard Input/Output)

stdio 模式通过进程的标准输入输出进行通信:

特性说明
通信方式通过进程的标准输入(stdin)和标准输出(stdout)
部署位置必须在本地运行
启动方式客户端直接启动 MCP Server 进程
连接模式一对一,每个客户端启动独立进程
典型场景本地开发、桌面应用、私有部署

SSE(Server-Sent Events)

SSE 模式基于 HTTP 协议,支持远程部署:

特性说明
通信方式基于 HTTP 的服务端推送技术
部署位置可以在远程服务器上
启动方式独立部署为 HTTP 服务
连接模式一对多,可服务多个客户端
典型场景云端部署、SaaS 服务、对外开放

架构设计方案

方案一:stdio模式

用户将 MCP Server 部署在本地,配置业务系统的凭证与业务系统进行通信,底层是 HTTP 请求,鉴权取决于业务系统的鉴权体系。

特点:

  • 用户需要在本地安装 MCP Server
  • 业务凭证配置在用户本地
  • MCP Server 内部用 HTTP 调用业务系统 API
  • 鉴权由业务系统完成

方案二:SSE模式

将 MCP Server 部署在服务器上,客户端和 MCP Server 之间可以加一层网关,通过 API 秘钥进行鉴权。

特点:

  • MCP Server 部署在业务系统服务器上(云端)
  • 用户不需要本地安装,只需配置连接地址
  • 可以在前面加网关统一鉴权(API Key 方式)
  • 更适合 SaaS 化、多租户场景

两种模式对比分析

维度stdio 模式SSE 模式
部署复杂度用户需本地安装用户零安装
凭证管理散落在各用户本地集中管理
安全性凭证在用户侧,有泄露风险可通过网关统一管控
更新维护需用户主动更新服务端更新即可
网络要求本地进程通信,无延迟依赖网络,有一定延迟
可观测性难以统一监控可集中监控、审计
扩展性受限于用户本地资源可弹性扩容
适合场景开发测试、私有部署生产环境、对外服务

总结

MCP 协议为 AI Agent 与外部系统的交互提供了标准化的解决方案:

  1. 协议层面:使用 JSON-RPC 2.0 规范通信格式,定义了初始化、工具发现、工具调用等标准流程
  2. 传输层面:支持 stdio 和 SSE 两种模式,分别适用于本地部署和云端部署场景
  3. 架构层面:MCP Server 作为中间层,解耦了 Agent 与业务系统,使工具能力可以被多个 Agent 复用

随着 AI Agent 技术的发展,MCP 协议正在成为工具调用的行业标准,为构建丰富的 AI 应用生态奠定基础。

参考资料

许可协议

本文章采用 CC BY-NC-SA 4.0 许可协议进行发布。您可以自由地:

  • 共享 — 在任何媒介以任何形式复制、发行本作品
  • 演绎 — 修改、转换或以本作品为基础进行创作

惟须遵守下列条件:

  • 署名 — 您必须给出适当的署名,提供指向本许可协议的链接,同时标明是否(对原始作品)作了修改。您可以用任何合理的方式来署名,但是不得以任何方式暗示许可人为您或您的使用背书。
  • 非商业性使用 — 您不得将本作品用于商业目的。
  • 相同方式共享 — 如果您再混合、转换或者基于本作品进行创作,您必须基于与原先许可协议相同的许可协议分发您贡献的作品。

上次更新时间: