一、MCP的核心架构
MCP基于客户端-服务器架构,包含三大核心组件:
- MCP主机(Host)
运行LLM的应用程序(如Claude Desktop、IDE工具),负责接收用户指令并协调客户端与模型的交互。
- MCP客户端(Client)
嵌入在主机中的模块,负责与服务器通信,将LLM的请求转换为标准化JSON-RPC协议消息。每个客户端与服务器保持1:1连接,支持本地(通过Stdio)或远程(通过HTTP/SSE)通信。
- MCP服务器(Server)
轻量级服务程序,对接具体数据源或工具(如数据库、文件系统、API),执行请求并返回结构化结果。例如:
-
文件系统服务器:读取本地文档
-
SQL服务器:执行数据库查询
-
Slack服务器:发送消息通知
二、MCP与LLM的集成流程
步骤1:能力发现
客户端启动时与服务器建立连接,通过initialize请求获取服务器支持的资源(Resources)、工具(Tools)和提示(Prompts)清单。
步骤2:LLM决策与工具调用
-
用户输入处理
主机将用户指令(如“分析某代码漏洞”)传递给LLM,并附加可用工具的描述。
-
LLM意图识别
LLM根据工具描述生成结构化调用请求(JSON格式)。
-
客户端执行调用
客户端将请求转发给对应服务器,服务器执行操作(如读取代码文件、调用静态分析工具)并返回结果。
步骤3:结果整合与响应生成
-
客户端将服务器返回的数据(如漏洞报告)注入LLM上下文,模型结合新数据生成最终回答。
-
支持多轮交互:若结果不完整,LLM可发起后续工具调用请求。