论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
软件与程序人生
›
云原生
›
【超详细】Claude MCP 大模子上下文协议全面先容(架构 ...
【超详细】Claude MCP 大模子上下文协议全面先容(架构、协议、优缺点) ...
熊熊出没
论坛元老
|
2025-4-4 15:30:07
|
显示全部楼层
|
阅读模式
楼主
主题
1820
|
帖子
1820
|
积分
5460
大家好,我是
同砚小张
,+v:
jasper_8017
一起交流,连续学习
AI大模子应用实战案例
,连续分享,接待大家
点赞+关注
,订阅我的大模子专栏,共同砚习和进步。
随着人工智能技能的飞速发展,大模子(LLMs)在各个范畴的应用越来越广泛。然而,怎样安全、高效地将这些大模子集成到应用程序中,成为了一个亟待办理的问题。Model Context Protocol (MCP) 应运而生,它提供了一种标准化的客户端-服务器架构,用于在应用程序中集成 AI 功能,同时确保安全性和可扩展性。本文将详细先容 MCP 的架构、底子协议、生命周期、传输机制、安全性以及优缺点。
1. MCP 架构
MCP 遵循客户端-主机-服务器架构,每个主机可以运行多个客户端实例。这种架构不仅使用户可以或许在应用程序中集成 AI 功能,还保持了明确的安全边界和隔离关注点。MCP 基于 JSON-RPC,提供了一个有状态的会话协议,专注于上下文交换和客户端与服务器之间的采样协调。
1.1 核心组件
主机(Host)
:主机历程充当容器和协调者,负责创建和管理多个客户端实例,控制客户端连接权限和生命周期,实行安全计谋和同意要求,处理用户授权决策,协调 AI/LLM 集成和采样,以及管理跨客户端的上下文聚合。
客户端(Client)
:每个客户端由主机创建,并维护一个隔离的服务器连接。客户端为每个服务器创建一个有状态的会话,处理协议协商和功能交换,双向路由协议消息,管理订阅和通知,维护服务器之间的安全边界。
服务器(Server)
:服务器提供专门的上下文和功能,通过 MCP 原语公开资源、工具和提示,独立运行,具有明确的职责,通过客户端接口请求采样,必须服从安全约束,可以是本地历程或长途服务。
1.2 设计原则
MCP 的设计基于以下几个关键原则:
服务器应该非常容易构建
:主机应用程序处理复杂的编排职责,服务器专注于特定的、明确的功能,简单的接口最小化实现开销,明确的分离使代码易于维护。
服务器应该高度可组合
:每个服务器在隔离中提供专注的功能,多个服务器可以无缝组合,共享协议实现互操作性,模块化设计支持可扩展性。
服务器不应读取整个对话,也不应“看到”其他服务器
:服务器仅吸收须要的上下文信息,完整的对话历史保留在主机中,每个服务器连接保持隔离,跨服务器交互由主机控制,主机历程实行安全边界。
功能可以逐步添加到服务器和客户端
:核心协议提供最少的必须功能,需要时可以协商额外的功能,服务器和客户端独立演进,协议设计为将来可扩展,保持向后兼容性。
2. 底子协议
所有 MCP 客户端和服务器之间的消息必须遵循
JSON-RPC 2.0
规范。该协议定义了三种基本类型的消息:
请求(Requests)
:用于启动操作的消息,必须包含唯一 ID 和方法名称。
响应(Responses)
:复兴请求的消息,必须包含与请求雷同的 ID,进一步分为成功结果或错误。
通知(Notifications)
:无需复兴的单向消息,不得包含 ID。
MCP 由多个关键组件组成,这些组件协同工作:
底子协议
:核心 JSON-RPC 消息类型。
生命周期管理
:连接初始化、功能协商和会话控制。
服务器功能
:服务器公开的资源、提示和工具。
客户端功能
:客户端提供的采样和根目录列表。
实用工具
:跨范畴关注点,如日记记录和参数完成。
所有实现必须支持底子协媾和生命周期管理组件,其他组件可以根据应用程序的具体需求实现。
3. 生命周期
MCP 定义了一个严格的客户端-服务器连接生命周期,确保正确的功能协商和状态管理。生命周期分为三个阶段:
初始化
:功能协商和协议版本协商。客户端通过发送包含支持的协议版本、客户端功能和客户端实现信息的 initialize 请求来启动此阶段。服务器以其自己的功能和信息举行响应。成功初始化后,客户端发送 initialized 通知以表示其准备开始正常操作。
操作
:正常的协议通信。客户端和服务器根据协商的功能交换消息,双方应恭敬协商的协议版本,仅使用成功协商的功能。
关闭
:优雅地停止连接。没有定义特定的关闭消息,应使用底层传输机制来表示连接停止。
4. 传输
MCP 目前定义了两种用于客户端-服务器通信的标准传输机制:
Stdio
:通过标准输入和标准输出举行通信。客户端将 MCP 服务器作为子历程启动,服务器在其标准输入 (stdin) 上吸收 JSON-RPC 消息,并将响应写入其标准输出 (stdout)。消息以换行符分隔,不得包含嵌入的换行符。
HTTP with Server-Sent Events (SSE)
:服务器作为独立历程运行,可以处理多个客户端连接。服务器必须提供两个端点:一个 SSE 端点,供客户端创建连接并吸收来自服务器的消息;一个常规的 HTTP POST 端点,供客户端向服务器发送消息。
客户端和服务器也可以以可插拔的方式实现自定义传输机制,以满意其特定需求。选择支持自定义传输的实现者必须确保它们保留 MCP 定义的 JSON-RPC 消息格式和生命周期要求。
5. 安全性
5.1 数据安全与隐私保护
制止敏感数据上传
:MCP 通过本地服务器与数据源创建双向连接,制止了将敏感数据上传到第三方平台,最大限度地保障了数据隐私。例如,用户可以直接让 AI 模子分析本地数据库中的数据,而无需将数据文件上传至云端。
受控本领
:MCP 服务器仅袒露特定且受控的功能,确保数据访问既可控又可审计。服务器自己控制资源,无需将 API 密钥等敏感信息提供给 LLM 提供商,纵然 LLM 提供商受到攻击,攻击者也无法获取到这些敏感信息。
5.2 传输安全
加密传输
:MCP 协议支持多种加密算法,以确保数据在传输过程中的安全性。对于长途连接,建议使用 TLS 加密网络传输,保护敏感数据。
消息验证
:MCP 协议要求验证所有传入消息,清理输入数据,查抄消息大小限制,并验证 JSON-RPC 格式。这有助于防止恶意内容和数据泄露。
5.3 身份验证与授权
用户授权机制
:MCP 通过用户授权机制确保安全使用,控制 AI 模子的权限范围。用户可以决定哪些上下文被发送到 LLM,何时实行操作,以及怎样使用工具和资源。
自定义认证计谋
:固然 MCP 核心规范目前不包括认证和授权,但客户端和服务器可以协商自己的自定义认证和授权计谋。
5.4 资源保护与访问控制
访问控制
:MCP 服务器实现访问控制,确保只有颠末验证的请求才能访问特定资源。服务器可以验证资源路径,监控资源使用,并限制请求速率。
防止滥用
:MCP 协议设计了防止滥用的机制,包括实施速率限制、设置合适的超时时间、处理拒绝服务(DoS)攻击场景等。
5.5 安全审计与监控
日记记录
:MCP 协议建议记录协议事件、跟踪消息流、监控性能和记录错误。这有助于举行安全审计和监控,实时发现和处理安全问题。
错误处理
:MCP 协议定义了标准错误代码,并要求在错误时不泄露敏感信息,记录安全干系错误,实现适当的清理。
5.6 模块化与可扩展性
模块化设计
:MCP 的架构允许模块化开辟,多个 MCP 服务器可以连接到单个主机,每个服务器处理不同的资源。这种设计使得安全机制可以针对不同的资源和功能举行定制和扩展。
向后兼容性
:MCP 协议设计为将来可扩展,保持向后兼容性。这确保了在添加新功能或更新协议时,不会破坏现有的安全机制。
6. 优缺点
长处
安全性
:MCP 提供了明确的安全边界和隔离关注点,确保了客户端和服务器之间的安全通信。
可扩展性
:通过模块化设计和功能协商,MCP 支持服务器和客户端的独立演进,保持向后兼容性。
灵活性
:MCP 支持多种传输机制,包括标准的 stdio 和 HTTP with SSE,以及自定义传输机制,满意不同应用场景的需求。
易用性
:服务器专注于特定的功能,简单的接口最小化实现开销,明确的分离使代码易于维护。
缺点
行业标准竞争剧烈
面临众多竞争对手:在数据连接和交互范畴,众多标准竞相角逐,MCP 协议只是其中之一。其他雷同协议或技能的不停涌现,可能会分散市场关注和资源,从而对 MCP 协议的推广和普及构成一定停滞。
生态建设难度大:要在众多标准中脱颖而出,成为行业通用标准,MCP 需要降服技能兼容性、市场认可度等多方面的困难,这可能需要大量的时间和资源投入,以及行业内的广泛合作和共识。
兼容性挑战
数据源和 AI 应用的多样性:鉴于数据源和 AI 应用的广泛多样性,某些数据源或 AI 应用在与 MCP 协议集成时可能会出现不兼容现象。例如,一些老旧系统或特殊定制的数据源可能难以与 MCP 协议顺遂对接,需要额外的适配工作,这在一定水平上限制了 MCP 协议的广泛应用。
协议本质的质疑
工程优化方案的质疑:部门观点以为,MCP 协议本质上更像是一个工程优化方案,且并非完善的优化方案。例如,有人指出,在极度情况下,直接为 LLM 提供 HTTP 接口,识别 JSON 并调用,与 MCP 协议并无本质区别,质疑其是否能称为真正的协议,以为它更像是
FunctionCall 与 Proxy
的组合。
应用范围受限
本地运行限制:目前,MCP 协议仅支持本地运行,服务器需摆设在本地呆板上,这在一定水平上限制了其在更广泛场景下的应用。尽管官方计划推出具有企业级身份验证的长途服务器支持,但在该功能完善之前,MCP 协议在多设备或分布式环境下的数据交互本领仍存在不敷,难以满意部门应用场景的需求。
7. 总结
Model Context Protocol (MCP) 为在应用程序中集成 AI 功能提供了一种安全、高效、可扩展的办理方案。通过其客户端-主机-服务器架构、底子协议、生命周期管理和传输机制,MCP 确保了客户端和服务器之间的安全通信和功能协商。尽管 MCP 在某些方面可能存在一定的复杂性和性能开销,但其在安全性和可扩展性方面的优势使其成为一种值得保举的 AI 集成协议。
参考:
https://model-context-protocol.github.io/specification/architecture/
https://model-context-protocol.github.io/specification/basic/
https://model-context-protocol.github.io/specification/basic/messages/
https://model-context-protocol.github.io/specification/basic/lifecycle/
https://model-context-protocol.github.io/specification/basic/transports/
https://www.claudemcp.com/zh/docs/introduction
如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~
大家好,我是
同砚小张
,连续学习
C++进阶、OpenGL、WebGL知识
和
AI大模子应用实战案例
接待
点赞 + 关注
继续阅读请点击广告
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
熊熊出没
论坛元老
这个人很懒什么都没写!
楼主热帖
数据库的三大范式
创建SQL server服务器
在字节跳动干软件测试5年,4月无情被辞 ...
2年自动化测试经验,连基础的都不会, ...
TortoiseGit间接处理linux目录下的仓库 ...
神经网络与深度学习
Java 知识 - 接口代理
ZYNQ从放弃到入门(十二)- AMP — Zyn ...
django小项目 ----- 创建错题集 ...
基于遗传算法的最优潮流问题的研究(Ma ...
标签云
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
网络安全
快速回复
返回顶部
返回列表