MCP是什么
MCP(Model Context Protocol)即模型上下文协议 ,旨在统一大模型与外部数据源和工具之间的通信协议。MCP 的主要目的在于解决当前 AI 模型因数据孤岛限制而无法充分发挥潜力的难题,MCP 使得 AI 应用能够安全地访问和操作本地及远程数据,为 AI 应用提供了连接万物的接口。
MCP是一个AI大模型领域新的开放标准协议,用来在大模型和数据源之间建立安全双向的链接。它规范了应用程序向 大模型(LLM) 提供上下文的方式。
MCP 就像 AI 应用程序的 USB-C 端口一样。正如 USB-C 提供了一种标准化的方式将您的设备连接到各种外围设备和配件一样

总的来说,MCP像USB一样,提供了各个LLM和各个工具之间的快速接入。如果把大模型(LLM) 比作人的大脑,MCP 就是手脚。
MCP的核心架构
MCP 采用C/S(客户端/服务端)架构,以下是 MCP 官方展示的架构:

1. MCP Client
MCP client 充当 LLM 和 MCP server 之间的桥梁,MCP client 的工作流程如下:
- MCP Client 首先从 MCP server 获取可用的工具列表。
- 将用户的查询连同工具描述通过Function Calling 一起发送给 LLM。
- LLM 决定是否需要使用工具以及使用哪些工具。
- 如果需要使用工具,MCP Client 会通过 MCP server 执行相应的工具调用。
- 工具调用的结果会被发送回 LLM。
- LLM 基于所有信息生成自然语言响应。
- 最后将响应展示给用户。
- 当前Claude Desktop 和Cursor都支持了MCP Server接入能力,它们就是作为 MCP client来连接某个MCP Server感知和实现调用。
2. MCP Server
MCP Server 是 MCP 架构中的关键组件,它可以提供 3 种主要类型的功能:
- 资源(Resources):类似文件的数据,可以被客户端读取,如 API 响应或文件内容。
- 工具(Tools):可以被 LLM 调用的函数。
- 提示(Prompts):预先编写的模板,帮助用户完成特定任务。
这些功能使 MCP server 能够为 AI 应用提供丰富的上下文信息和操作能力,从而增强 LLM 的实用性和灵活性。
3. MCP通信机制
MCP 协议支持两种主要的通信机制:基于标准输入输出的本地通信和基于SSE(Server-Sent Events)的远程通信。这两种机制都使用 JSON-RPC 2.0 协议格式进行消息传输,确保了通信的标准化和可扩展性。
- 本地通信:通过 stdio 传输数据,适用于在同一台机器上运行的客户端和服务器之间的通信。
- 远程通信:利用 SSE 与 HTTP 结合,实现跨网络的实时数据传输,适用于需要访问远程资源或分布式部署的场景。
MCP 的主要功能
MCP具有以下的功能:
(1). 统一标准与互操作性
标准化通信协议 :MCP 为大模型与外部工具的交互定义了一套标准化的通信协议,使得不同系统之间能够以统一的方式进行交互,降低了集成的复杂性,提高了互操作性。
模块化设计 :MCP 具有标准化与模块化的特点,支持两种传输协议(STDIO 和 SSE),并允许开发者通过插件扩展功能,具备灵活性和扩展性。
(2). 资源与工具共享
资源暴露 :MCP Server 可以将本地文件、数据库、API 等资源作为数据实体暴露给 AI 模型,为模型提供丰富的上下文信息和操作能力,突破其训练数据的时空限制。
工具提供 :提供工具功能,帮助 AI 完成复杂任务,如数据检索、内容生成、实时更新等。例如,支持对 MySQL、PostgreSQL 等数据库的查询和操作,也支持对本地文件系统的读写和目录管理。
(3). 会话管理与动态通知
会话管理 :MCP Server 能够管理客户端与服务器的连接,确保会话的时效性和稳定性,为多轮对话和持续交互提供支持。
动态通知 :通过实时推送机制,将最新的资源信息及时传递给 AI 模型,以保证数据的准确性和实时性。
(4). 安全性保障
加密认证 :采用加密认证机制,确保数据传输的安全性,避免敏感信息泄露。
访问控制 :通过访问控制机制,对资源和工具的访问进行严格管理,确保只有经过授权的请求才能访问特定资源。
本地运行支持 :支持本地运行,避免将敏感数据上传至第三方平台,从而更好地保护用户隐私。
(5). AI 智能体扩展
AI 助手增强 :为 AI 助手提供上下文支持和工具调用能力,能够扩展 AI 助手的功能,使其能够更智能地处理各种任务。
多场景应用 :可以应用于多种场景,如本地资源集成、云服务交互、AI 助手扩展等,帮助开发者构建更加智能和实用的 AI 应用。
(6). 提示词与工作流管理
提示词定义 :提示词在 MCP 中是一种可复用的、参数化的模板,用于引导用户和 LLM 完成特定的、预设好的工作流。服务器开发者可以预先封装好最佳的交互模式,提高任务执行的效率和准确性。
工作流编排 :通过提示词和工具的组合,MCP 能够实现复杂的工作流编排,使 AI 能够按照预定义的步骤自动执行任务。
(7). 采样与反向调用
采样功能 :采样是 MCP 中一个强大且独特的功能,颠覆了通常的请求流,允许服务器请求客户端去调用 LLM 生成内容。这种机制使得服务器开发者可以构建出需要 AI 能力的复杂工具,而无需自己维护和支付昂贵的 LLM API 密钥。
人机协作 :在采样过程中,客户端必须将请求呈现给用户进行审核和批准,用户可以查看甚至编辑即将发送给 LLM 的提示,并对 LLM 生成的结果进行最终确认,实现了人机协作和 “人在环路” 的安全保障。
(8). 操作边界设定
根目录定义 :根目录是客户端向服务器建议的操作范围或工作空间,通常是一个或多个 URI 列表。它为 AI 的操作设定了清晰的边界,确保 AI 的操作集中在特定的工作范围内,提高了操作的针对性和安全性。
1224

被折叠的 条评论
为什么被折叠?



