MCP 理论浅记
MCP(Model Context Protocol)
MCP(Model Context Protocol)是 Anthropic 提出的开放协议。
目标是统一大模型与外部能力之间的连接方式。
我在日常的开发工作中,就是用 MCP 协议去使用公司原有的各类接口和工具。
MCP 架构
┌─────────────┐
│ LLM │
└──────┬──────┘
│
▼
┌─────────────┐
│ MCP Client │
└──────┬──────┘
│
▼
┌─────────────┐
│ MCP Server │
└──────┬──────┘
│
┌─────┼─────┐
▼ ▼ ▼
Tool Resource Prompt
MCP Client
MCP Client 是能力使用方,也就是大模型的手脚。
负责:
- 从 Server 获取能力列表和能力描述
- 调用 LLM 选定的能力
- 接收 Server 端返回的结果
MCP Server
MCP Server 是能力提供方。
负责:
- 提供 Tool
- 提供 Resource
- 提供 Prompt
MCP Server 可以在进程里直接执行函数,也可以作为网关调用 CSF 平台里的接口并返回结果。
MCP 的作用
MCP 协议有一个更为重要的作用,就是标准化 Agent 的上下文。
这可以有效减少幻觉,其全称就是:
Model Context Protocol(模型上下文协议)
多 Agent 场景
在生产环境中,我们的智能体往往是多 Agent 协作的,而且 MCP Server 也可能不是一个平台。
就比如你作为一个综合管理部门,下面可能涉及多个业务,每个业务可能因为历史原因形成了自己的接口平台,但不能贸然合并,可能存在各种数据问题。
再比如公司涉及全球业务,不同的甲方、不同的地区、不同的业务,其实都有差别。
这种情况下,Multi-Agent 会同时连接多个 MCP Server。
不过很多时候会抽象形成一个统一的 MCP Client,下面则是各个业务系统对应的 MCP Server。
Multi-Agent
│
▼
MCP Client
│
┌─────────────┼─────────────┐
▼ ▼ ▼
MCP Server A MCP Server B MCP Server C
│ │ │
业务系统A 业务系统B 业务系统C