最近引爆了整个AI圈的Model Context Protocol(MCP)到底是什么?你是否也和小编一样一头雾水,不是说好的LLM风潮呢,怎么现在变成通信协议啦?最近小编也是找到一篇神仙综述,带你一遍搞清什么是MCP的神奇之处!
文章来自:Ray P P. A Survey on Model Context Protocol: Architecture, State-of-the-art, Challenges and Future Directions[J]. Authorea Preprints, 2025.
🚀通俗来讲,MCP只解决了一个重要的问题!当前,大语言模型(LLM)服务的爆发式增长正面临三大核心挑战:
-
· 机械化的无状态接口——每次交互都是"重新开始",缺乏连贯性
-
· 拼凑式的安全管控——权限管理零散,难以满足企业级需求
-
· 上下文碎片化——多轮对话的关键信息难以有效沉淀和调用
模型上下文协议 (MCP) 旨在通过面向会话的 JSON-RPC 框架(Typescript MCP SDK或Python MCP SDK实现)来克服这些限制,该框架允许 LLM 在精细的、符合 OAuth 2.1 的访问控制下协商功能、调用外部工具并检索上下文资源。
MCP的工作流程
图中展示了 MCP 的完整架构工作流程,这是一个标准化框架,旨在无缝连接大语言模型(LLMs)与本地和远程环境中的上下文数据、工具以及用户界面。
系统的核心是 MCP 主机,这是一个受信任的本地进程,负责协调多个客户端实例的生命周期(MCP Host)。它管理诸如用户界面控制(UI)、设置配置(Setting)、隐私保护(Privacy)和信任策略(Trust)等关键事务。此外,它还监督安全协议,管理客户端权限,并协调客户端启动、关闭和资源清理等生命周期事件。
主机在上下文聚合中也起着关键作用,促进多个客户端与语言模型之间的连贯通信,同时执行严格的边界控制,确保任何服务器或客户端都不会超出其指定的访问范围。
在这个架构中,MCP 客户端作为特定会话的独立执行者。每个客户端通过可流式传输的 HTTP + 服务器发送事件(SSE)(通常用于异步、事件驱动的通信)或基于标准输入输出(stdio)的 JSON - RPC 2.0(通常用于轻量级、同步消息传递)与相应的 MCP 服务器保持专用的点对点连接。这些客户端在初始化阶段会公布它们的功能,如文件系统访问(即根目录)和语言模型查询(即采样),并在与主机和服务器协商的严格契约下运行。
MCP架构的核心组件
1. MCP主机(Host)
- 作为可信的本地进程,负责协调客户端生命周期
- 统一管理UI控制、隐私策略、信任协议等关键功能
- 严格管控权限,确保数据访问不越界
主机对所有大语言模型的交互保持控制,作为中介,在任何模型调用之前验证提示的有效性,聚合多源上下文,并执行用户同意操作。
每个客户端 - 服务器连接都是沙盒化的,防止跨域的数据泄露或未经授权的访问。组件之间的通信遵循严格的会话和协议规则,这些规则在初始化阶段通过 JSON - RPC 消息传递建立。
可流式传输的 HTTP 传输支持丰富的服务器发送交互和使用唯一会话标识符和事件游标进行会话恢复,而标准输入输出传输为边缘部署提供高效的本地执行。
此外,该协议支持诸如取消、进度报告、补全自动完成、日志记录和通过 OAuth 2.1 进行授权等高级功能,使其强大且适用于高信任环境和开放的多租户平台。
2. MCP客户端(Client)
-
每个会话独立运行,支持两种通信模式:
- HTTP + SSE(Server-Sent Events):适用于异步、事件驱动的交互
- stdio + JSON-RPC 2.0:轻量级同步通信,适合本地部署
-
在初始化时声明能力(如文件访问、模型查询),并在协商的权限范围内运行
3. MCP服务器(Server)
-
模块化设计,支持无状态/有状态运行
-
提供四大核心功能:
- 提示(Prompts):动态引导模型行为
- 资源(Resources):结构化/非结构化数据(如文档、代码)
- 工具(Tools):本地函数或远程API调用
- 实用程序(Utilities):日志、补全等支持服务
MCP 服务器是模块化的,既可以是无状态的,也可以是有状态的单元,通过定义明确的原语来展示特定功能,这些原语包括提示(指导模型行为的预定义输入模板)、资源(结构化或非结构化的上下文数据,如代码文件、日志或文档)、工具(例如可执行函数或远程 API)以及实用程序(如日志记录、补全和通知等支持服务)。
这些服务器可以在本地运行,直接与文件和传感器交互,也可以连接到云端点,如软件即服务(SaaS)平台、企业数据库和搜索 API。根据配置的不同,服务器可能支持动态资源发现、数据更改订阅和异步交互,在不暴露完整对话历史或不相关客户端数据的情况下,丰富大语言模型可用的上下文信息。
这种架构的关键优势之一是其混合的大语言模型调用层,它可以根据模型偏好提示、延迟要求、隐私敏感度或成本限制,智能地将采样请求通过大语言模型引擎或框架(例如,Ollama3、GPT4All4、Llama.cpp5、LM Studio6、vLLM7 )路由到本地模型,或者路由到远程大语言模型(例如,通过企业 API 或商业端点)。
模型选择是基于客户端定义的功能,使用包含速度、成本和智能优先级等属性的偏好结构,而不是硬编码的模型标识符,这确保了在异构环境中的适应性。
关键技术优势
-
智能模型路由:根据延迟、成本、隐私需求,动态选择本地(如Llama.cpp)或云端模型(如GPT-4)
-
严格安全管控:OAuth 2.1授权 + 会话级沙盒隔离,防止数据泄露
-
上下文富化:聚合多源数据,确保LLM始终在完整上下文中响应
通过解耦上下文提供者(即服务器)、会话管理器(即客户端)和编排逻辑(即主机),MCP 架构促进了模块化、可扩展性和安全性。其灵活的传输机制、严格的能力协商和可扩展的协议设计,使开发者和研究人员能够构建强大且保护隐私的人工智能增强系统。
这使得 MCP 成为构建下一代人工智能助手、自主代理、集成到集成开发环境(IDE)中的副驾驶以及跨越本地和分布式环境的交互式多模态系统的坚实基础,让人们能够自信且可控地进行开发。
应用场景
-
智能助手:连贯的多轮对话,记忆用户偏好
-
企业级AI:合规调用内部API,保障数据安全
-
开发工具:集成IDE,关联代码历史与文档
来源:A Survey on Model Context Protocol: Architecture, State-of-the-art, Challenges and Future Directions
链接:https://www.techrxiv.org/users/913189/articles/1286748-a-survey-on-model-context-protocol-architecture-state-of-the-art-challenges-and-future-directions
内容来源:IF 实验室