仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接
模型上下文协议(MCP):一种标准化接口,旨在实现AI模型与外部工具和资源之间的无缝交互,打破数据孤岛,促进不同系统之间的互操作性。
在MCP出现之前,AI应用与外部工具的交互依赖于手动API连接、插件接口和Agent框架等方法,这些方法存在复杂性高、可扩展性差等问题
来自华科的研究人员详细探讨了MCP的核心组件、工作流程、服务器生命周期,并分析了其在创建、运行和更新阶段的安全和隐私风险,还考察了MCP的当前生态系统(行业中采用情况、用例、支持其集成的工具和平台)。
一、MCP核心组件
MCP架构:MCP由三个核心组件构成:MCP主机、MCP客户端和MCP服务器。这些组件协同工作,实现AI应用与外部工具和数据源之间的无缝通信。
MCP主机:提供执行AI任务的环境,并运行MCP客户端。
MCP客户端:作为主机环境中的中介,管理MCP主机与一个或多个MCP服务器之间的通信。
MCP服务器:提供外部系统和操作的访问权限,具备工具、资源和提示三种核心能力。
初始请求:MCP客户端向MCP服务器发送初始请求,查询服务器的功能和可用工具。
初始响应:MCP服务器接收到请求后,返回一个初始响应,列出其提供的工具、资源和提示,供客户端使用。
持续通知:在建立连接后,MCP服务器会持续向客户端发送通知,实时更新服务器状态或任务进度,确保客户端能够及时获取最新信息。
二、MCP服务器生命周期
MCP服务器生命周期:
创建阶段:涉及服务器注册、安装程序部署和代码完整性验证。此阶段面临的风险包括名称冲突、安装程序伪造和代码注入/后门。
运行阶段:服务器在此阶段处理请求、执行工具调用,并与外部资源进行交互。风险包括工具名称冲突、斜杠命令重叠和沙箱逃逸。
更新阶段:确保服务器保持安全、最新,并适应不断变化的需求。风险包括更新后权限持续、版本控制问题和旧版本配置漂移。
三、MCP生态系统
关键采用者(KeyAdopters):
Anthropic和OpenAI等行业领导者已将MCP集成到其产品中,例如Anthropic的Claude桌面版和OpenAI的AgentSDK,显著提升了AI代理与外部工具的交互能力。
百度地图、BlenderMCP和Replit等工具也通过MCP实现了与外部API和服务的无缝集成。
开发者工具和IDE,如Cursor、JetBrains和TheiaIDE,通过MCP集成了AI工具,提升了开发效率。
社区驱动的MCP服务器(Community-DrivenMCPServers):
尽管Anthropic尚未发布官方MCP市场,但社区已经创建了多个独立的服务器集合平台,如MCP.so、Glama和PulseMCP,提供了数千个MCP服务器。
SDKs和工具(SDKsandTools):
官方SDK支持多种语言(如TypeScript、Python、Java等),方便开发者在不同环境中实现MCP。
社区贡献了多种框架和工具,如EasyMCP、FastMCP和FoxyContexts,简化了MCP服务器的开发和部署。
四、MCP用例
OpenAI:
OpenAI通过在AgentSDK中集成MCP,简化了AI代理与外部工具的交互,提升了多步任务执行的效率。
计划将MCP集成到ChatGPT桌面应用中,进一步扩展AI代理的功能。
Cursor:
Cursor通过MCP集成了AI驱动的代码助手,使开发者能够在IDE中直接调用外部API和工具,自动化复杂任务,提升开发效率。
Cloudflare:
Cloudflare提供了远程MCP服务器托管服务,消除了本地配置的复杂性,支持多租户环境中的安全访问和管理。
通过OAuth认证和沙箱机制,确保了AI驱动的工作流在分布式环境中的安全执行。
四、安全与策略
详细分析了MCP在不同生命周期阶段的安全威胁,并提出了相应的缓解策略:
创建阶段:建议建立严格的命名空间策略、实施加密服务器验证和设计基于声誉的信任系统。
运行阶段:建议开发高级验证和异常检测技术,以识别和缓解欺骗性工具描述。
更新阶段:建议实施严格的权限撤销策略、确保权限变更在所有服务器实例中一致传播,并为API密钥和会话令牌设置自动过期机制
推荐阅读
•动手设计AIAgents:(编排、记忆、插件、workflow、协作)
•DeepSeekR1+Agent的下半场
•单智能体(Agent):企业员工AI助理
•Agent到多模态Agent再到多模态Multi-Agents系统的发展与案例讲解(1.2万字,20+文献,27张图)
欢迎关注我的公众号“PaperAgent”,每天一篇大模型(LLM)文章来锻炼我们的思维,简单的例子,不简单的方法,提升自己。