LLM 如何使用 MCPs?

发布: (2026年1月8日 GMT+8 15:09)
3 分钟阅读
原文: Dev.to

Source: Dev.to

概览

要了解大型语言模型(LLM)如何知道模型上下文协议(MCP)服务器中有什么,想象一下 LLM 不是一个“知道”事物的人,而是一个在烹饪前被递交菜单的厨师。LLM 实际上并不“知道”MCP的存在,直到你发送一条消息为止。

步骤说明

  1. 启动会话
    在支持 MCP 的应用程序(例如 Claude Desktop 或 Cursor)中,MCP 客户端(即应用)使用标准请求 tools/list 与 MCP 服务器(即工具)进行通信。

  2. 服务器响应
    服务器返回它提供的所有工具的列表。对于每个工具,它会提供:

    • 名称
    • 描述
    • JSON Schema(工具所需的参数)
  3. 将工具列表注入提示
    MCP 客户端将此列表直接插入 LLM 的提示上下文,通常作为系统指令的一部分。

  4. 隐藏指令块
    当 LLM 收到你的消息时,它还会看到类似以下的隐藏文本块:

    You have access to the following tools:
    get_weather: Get current weather. Parameters: location (string).
    query_postgres: Run SQL on the DB. Parameters: query (string).
  5. 用户查询
    例如,你会问:“东京的天气怎么样?”

  6. 工具选择
    LLM 识别出它不知道天气信息,但看到有一个匹配意图的工具(get_weather)。

  7. 结构化工具调用
    根据它在“工具使用”或“函数调用”模式上的训练,LLM 停止生成普通文本,输出结构化片段:

    {
      "call": "get_weather",
      "args": {
        "location": "Tokyo"
      }
    }
  8. 客户端处理调用

    • 客户端检测到 LLM 输出中的片段。
    • 它暂停 LLM 并向 MCP 服务器发送指定请求。
    • 服务器执行实际代码并将结果返回给客户端。
  9. 结果回馈给 LLM
    客户端将结果再次注入 LLM 的上下文。

  10. 最终答案
    LLM 读取结果后回复,例如:“东京的天气是 15 °C,晴朗。”

Back to Blog

相关文章

阅读更多 »

你好,我是新人。

嗨!我又回到 STEM 的领域了。我也喜欢学习能源系统、科学、技术、工程和数学。其中一个项目是…