【MCP协议】 原理概述

258 阅读2分钟

一、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决策与工具调用

  1. ​用户输入处理​

    主机将用户指令(如“分析某代码漏洞”)传递给LLM,并附加可用工具的描述。

  2. ​LLM意图识别​

    LLM根据工具描述生成结构化调用请求(JSON格式)。

  3. ​客户端执行调用​

    客户端将请求转发给对应服务器,服务器执行操作(如读取代码文件、调用静态分析工具)并返回结果。

步骤3:结果整合与响应生成

  • 客户端将服务器返回的数据(如漏洞报告)注入LLM上下文,模型结合新数据生成最终回答。

  • 支持多轮交互:若结果不完整,LLM可发起后续工具调用请求。