


-
MCP架构:MCP由三个核心组件构成:MCP主机、MCP客户端和MCP服务器。这些组件协同工作,实现AI应用与外部工具和数据源之间的无缝通信。
-
MCP主机:提供执行AI任务的环境,并运行MCP客户端。
-
MCP客户端:作为主机环境中的中介,管理MCP主机与一个或多个MCP服务器之间的通信。
-
MCP服务器:提供外部系统和操作的访问权限,具备工具、资源和提示三种核心能力。
MCP的传输层和通信机制
传输层是MCP架构中的关键组成部分,负责在MCP客户端和MCP服务器之间实现安全、双向的通信;通信流程的具体步骤:
-
初始请求:MCP客户端向MCP服务器发送初始请求,查询服务器的功能和可用工具。
-
初始响应:MCP服务器接收到请求后,返回一个初始响应,列出其提供的工具、资源和提示,供客户端使用。
-
持续通知:在建立连接后,MCP服务器会持续向客户端发送通知,实时更新服务器状态或任务进度,确保客户端能够及时获取最新信息。

-
MCP服务器生命周期:
-
创建阶段:涉及服务器注册、安装程序部署和代码完整性验证。此阶段面临的风险包括名称冲突、安装程序伪造和代码注入/后门。
-
运行阶段:服务器在此阶段处理请求、执行工具调用,并与外部资源进行交互。风险包括工具名称冲突、斜杠命令重叠和沙箱逃逸。
-
更新阶段:确保服务器保持安全、最新,并适应不断变化的需求。风险包括更新后权限持续、版本控制问题和旧版本配置漂移。
三、MCP生态系统

-
关键采用者(Key Adopters):
-
Anthropic 和 OpenAI 等行业领导者已将MCP集成到其产品中,例如Anthropic的Claude桌面版和OpenAI的Agent SDK,显著提升了AI代理与外部工具的交互能力。
-
百度地图、BlenderMCP 和 Replit 等工具也通过MCP实现了与外部API和服务的无缝集成。
-
开发者工具和IDE,如 Cursor、JetBrains 和 TheiaIDE,通过MCP集成了AI工具,提升了开发效率。
-
社区驱动的MCP服务器(Community-Driven MCP Servers):
-
尽管Anthropic尚未发布官方MCP市场,但社区已经创建了多个独立的服务器集合平台,如 MCP.so、Glama 和 PulseMCP,提供了数千个MCP服务器。
-
SDKs和工具(SDKs and Tools):
-
官方SDK支持多种语言(如TypeScript、Python、Java等),方便开发者在不同环境中实现MCP。
-
社区贡献了多种框架和工具,如 EasyMCP、FastMCP 和 Foxy Contexts,简化了MCP服务器的开发和部署。

-
OpenAI:
-
OpenAI通过在Agent SDK中集成MCP,简化了AI代理与外部工具的交互,提升了多步任务执行的效率。
-
计划将MCP集成到ChatGPT桌面应用中,进一步扩展AI代理的功能。
-
Cursor:
-
Cursor通过MCP集成了AI驱动的代码助手,使开发者能够在IDE中直接调用外部API和工具,自动化复杂任务,提升开发效率。
-
Cloudflare:
-
Cloudflare提供了远程MCP服务器托管服务,消除了本地配置的复杂性,支持多租户环境中的安全访问和管理。
-
通过OAuth认证和沙箱机制,确保了AI驱动的工作流在分布式环境中的安全执行。
四、安全与策略
详细分析了MCP在不同生命周期阶段的安全威胁,并提出了相应的缓解策略:
-
创建阶段:建议建立严格的命名空间策略、实施加密服务器验证和设计基于声誉的信任系统。
-
运行阶段:建议开发高级验证和异常检测技术,以识别和缓解欺骗性工具描述。
-
更新阶段:建议实施严格的权限撤销策略、确保权限变更在所有服务器实例中一致传播,并为API密钥和会话令牌设置自动过期机制


https://arxiv.org/pdf/2503.23278
Model Context Protocol (MCP): Landscape, Security Threats, and Future Research Directions
https://github.com/openai/openai-agents-python
(文:PaperAgent)