MCP专题| 突破LLM三大瓶颈!模型上下文协议(MCP)如何重塑AI交互体验?

news2025/5/10 15:58:51

最近引爆了整个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的工作流程

图中展示了 MCP 的完整架构工作流程,这是一个标准化框架,旨在无缝连接大语言模型(LLMs)与本地和远程环境中的上下文数据、工具以及用户界面。

系统的核心是 MCP 主机,这是一个受信任的本地进程,负责协调多个客户端实例的生命周期(MCP Host)。它管理诸如用户界面控制(UI)、设置配置(Setting)、隐私保护(Privacy)和信任策略(Trust)等关键事务。此外,它还监督安全协议,管理客户端权限,并协调客户端启动、关闭和资源清理等生命周期事件。

主机在上下文聚合中也起着关键作用,促进多个客户端与语言模型之间的连贯通信,同时执行严格的边界控制,确保任何服务器或客户端都不会超出其指定的访问范围

在这个架构中,MCP 客户端作为特定会话的独立执行者。每个客户端通过可流式传输的 HTTP + 服务器发送事件(SSE)(通常用于异步、事件驱动的通信)或基于标准输入输出(stdio)的 JSON - RPC 2.0(通常用于轻量级、同步消息传递)与相应的 MCP 服务器保持专用的点对点连接。这些客户端在初始化阶段会公布它们的功能,如文件系统访问(即根目录)和语言模型查询(即采样),并在与主机和服务器协商的严格契约下运行。

MCP架构的核心组件

1. MCP主机Host)

  1. 作为可信的本地进程,负责协调客户端生命周期
  2. 统一管理UI控制、隐私策略、信任协议等关键功能
  3. 严格管控权限,确保数据访问不越界

主机对所有大语言模型的交互保持控制,作为中介,在任何模型调用之前验证提示的有效性,聚合多源上下文,并执行用户同意操作。

每个客户端 - 服务器连接都是沙盒化的,防止跨域的数据泄露或未经授权的访问。组件之间的通信遵循严格的会话和协议规则,这些规则在初始化阶段通过 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 实验室

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2372421.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

我的AD快捷键方案【留存】

留存我的快捷键方案文件,以便换电脑的时候能够快速导入快捷键。 我的快捷键文件: 通过网盘分享的文件:JB20250509.DXPPrf 链接: https://pan.baidu.com/s/1t6V0GjdGFPNSFydP5Z_tfg?pwde4xs 提取码: e4xs 复制这段内容后打开百度网盘手机Ap…

Edwards爱德华STP泵软件用于操作和监控涡轮分子泵

Edwards爱德华STP泵软件用于操作和监控涡轮分子泵

QT6(35)4.8定时器QTimer 与QElapsedTimer:理论,例题的界面搭建,与功能的代码实现。

(112) (113)模仿随书老师给的源代码搭建的, LCD 显示的部分不一样 : (114)以下开始代码完善: 关联定时器的信号与槽函数 : (115)…

02 mysql 管理(Windows版)

一、启动及关闭 MySQL 服务器 1.1 通过 “服务” 管理工具 winr打开运行,输入services.msc 找到MySQL80,这个是我们在安装mysql的时候给的服务的名称,具体见文章mysql 安装 右键选择启动或者停止。 1.2 通过命令提示符 1.2.1 关闭命令…

不同渲染任务,用CPU还是GPU?

一、CPU与GPU渲染的核心差异与选型建议 CPU渲染的核心优势与适用场景 复杂场景处理能力:CPU凭借强大的多核性能(如AMD Threadripper 3990x的64核)和高内存容量(最高支持512GB),擅长处理影视级光线追踪、全…

硅基计划 学习总结 拾贰

一、二级指针 难道指针也有分等级的吗,我们学过的指针要存放变量的地址的,那二级指针是干嘛的呢? 一级指针:int a 10; int *pa &a; 指针变量,它终究是个变量,也有自己的地址 那我们以后是不是可以通…

【C语言指针超详解(三)】--数组名的理解,一维数组传参的本质,冒泡排序,二级指针,指针数组

目录 一.数组名的理解 二.使用指针访问数组 三.一维数组传参的本质 四.冒泡排序 五.二级指针 六.指针数组 6.1--指针数组的定义 6.2--指针数组模拟二维数组 🔥个人主页:草莓熊Lotso的个人主页 🎬作者简介:C方向学习者 &…

QT聊天项目DAY10

1.封装redis操作类 头文件 #ifndef REDISMANAGE_H #define REDISMANAGE_H#include "Singletion.h" #include "GlobalHead.h"class RedisManage : public Singletion<RedisManage> {friend class Singletion<RedisManage>; public:~RedisMana…

养生:开启健康生活的钥匙

养生&#xff0c;是对生活的精心呵护&#xff0c;是通往健康之路的秘诀。以下从饮食、运动、睡眠和心态四个方面&#xff0c;为你呈现科学养生之道。 饮食养生&#xff1a;营养均衡的智慧 合理的饮食是养生的基础。遵循 “食物多样&#xff0c;谷类为主” 的原则&#xff0c;…

基于springboot的海洋环保知识分享系统的设计与实现

博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;熟悉各种主流语言&#xff0c;精通java、python、php、爬虫、web开发&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;没有什么华丽的语言&#xff0…

操作系统 第2章节 进程,线程和作业

一:多道程序设计 1-多道程设计的目的 for:提高吞吐量(作业道数/处理时间),我们可以从提高资源的利用率出发 2-单道程序设计缺点: 设备的利用率低,内存的利用率低,处理机的利用率低 比如CPU去访问内存,CPU空转.内存等待CPU访问也是没有任何操作的.要是有多个东西要去访问不冲…

RT-Thread 深入系列 Part 2:RT-Thread 内核核心机制深度剖析

摘要&#xff1a; 本文从线程管理、调度器原理、中断处理与上下文切换、IPC 同步机制、内存管理五大核心模块出发&#xff0c;深入剖析 RT-Thread 内核实现细节&#xff0c;并辅以源码解读、流程图、时序图与性能数据。 目录 线程管理与调度器原理 1.1 线程控制块&#xff08;T…

在线caj转换word

CAJ格式是中国知网特有的一种文献格式&#xff0c;在学术研究等领域广泛使用&#xff0c;但有时我们需要将其转换为Word格式&#xff0c;方便编辑、引用文献。本文分享如何轻松将CAJ转换为word的转换工具&#xff0c;提高阅读和办公效率。 如何将CAJ转换WORD? 1、使用CAJ转换…

25:三大分类器原理

1.分类的逻辑&#xff1b; 2.统计学与数据分析。 ************************ Mlp 多层感知系统 GMM 高斯混合模型-极大似然估计法 SVM 支持向量机建立一个超平面作为决策曲面&#xff0c;使得正例和反例的隔离边界最大化 Knn 1.MLP整个模型就是这样子的&#xff0c;上面…

【从零开始学习微服务 | 第一篇】单体项目到微服务拆分实践

目录 引言 一、选择聚合结构进行拆分的优势 二、微服务模块创建步骤 &#xff08;一&#xff09;引入 pom 文件与修改 &#xff08;二&#xff09;创建 Spring Boot 启动类 &#xff08;三&#xff09;搭建基本包结构 三、配置文件的引入与调整 四、业务代码的引入与注意…

【高并发】Celery + Redis异步任务队列方案提高OCR任务时的并发

线程池处理OCR仍然会阻塞请求的原因主要有以下几点&#xff0c;以及为什么CeleryRedis是更好的解决方案&#xff1a; 1. 线程池的阻塞本质 请求-响应周期未分离&#xff1a;即使使用线程池&#xff0c;HTTP请求仍需要等待线程池任务完成才能返回响应。当所有线程都繁忙时&#…

2025数维杯数学建模竞赛B题完整参考论文(共38页)(含模型、代码、数据)

2025数维杯数学建模竞赛B题完整参考论文 目录 摘要 一、问题重述 二、问题分析 三、模型假设 四、定义与符号说明 五、 模型建立与求解 5.1问题1 5.1.1问题1思路分析 5.1.2问题1模型建立 5.1.3问题1求解结果 5.2问题2 5.2.1问题2思路分析 5.2.2问题2…

AI数据分析中的伪需求场景:现状、挑战与突破路径

在当今企业数字化转型浪潮中&#xff0c;AI数据分析产品如雨后春笋般涌现&#xff0c;但其中存在大量"伪需求场景"——看似创新实则难以落地的功能设计。本文将从技术限制、用户体验和商业价值三个维度&#xff0c;系统分析AI数据分析产品中常见的伪场景现象&#xf…

base64与图片的转换和预览(高阶玩法)

1.完整的功能描述 功能概述 这是一个网页工具&#xff0c;支持用户输入不同格式的图片数据或上传本地图片文件&#xff0c;对图片进行预览、转换为多种格式&#xff0c;并支持导出不同格式的图片数据。 输入方式 1. 文本输入 &#xff1a;用户可以输入 Data URL、公网图片 UR…

AI客服问答自动生成文章(基于deepseek实现)

小编一直在用AI做网站平台文章的润色或者二创。一直有一个想法&#xff0c;在自己网站加一个AI智能客服&#xff0c;通过文心或者deepseek来智能回答网友提出的问题&#xff0c;这样就能减少很多人工回复的麻烦&#xff0c;提高互动效率。 开发背景 其实很多网友提出的问题非…