大模型MCP示例

1. 工具发现(Tool Discovery)​​

  • ​​客户端行为​ ​:

    用户输入问题后,客户端(如Claude Desktop)向已配置的MCP服务器(如高德地图MCP服务)发送请求,获取可用的工具列表。

    • ​​请求示例​​(HTTP GET):

      arduino 复制代码
      http复制GET https://mcp.amap.com/tools/list
    • ​​响应示例​​(JSON):

      json 复制代码
      json复制{
        "tools": [
          {
            "name": "maps_weather",
            "description": "查询指定城市的实时天气数据",
            "parameters": {
              "city": "string"
            }
          }
        ]
      }
  • ​​LLM决策​ ​:

    LLM(如Claude)解析用户问题,匹配工具描述,发现maps_weather工具适合回答天气查询,并提取参数city: "北京"。

​​2. 工具调用(Tool Execution)​​

  • ​​客户端发起调用​ ​:

    客户端根据LLM生成的参数,向MCP服务器发送工具调用请求。

    • ​​请求示例​​(HTTP POST):

      css 复制代码
      http复制POST https://mcp.amap.com/tools/call
      Headers: {"Content-Type": "application/json"}
      Body: {
        "tool": "maps_weather",
        "parameters": {"city": "北京"}
      }
  • ​​MCP服务器执行​ ​:

    高德地图MCP服务收到请求后:

    1. 验证API权限和参数有效性。

    2. 调用内部天气API(如高德开放平台)获取实时数据。

    3. 返回结构化结果。

    • ​​响应示例​​:

      json 复制代码
      json复制{
        "result": {
          "city": "北京",
          "weather": "晴天",
          "temperature": "22℃",
          "humidity": "45%"
        }
      }

​​3. 结果整合(Response Generation)​​

  • ​​LLM生成自然语言回复​ ​:

    LLM接收MCP返回的JSON数据,转换为用户友好的自然语言:

    arduino 复制代码
    plaintext复制"北京今天晴天,22℃,湿度45%。"
    • ​关键动作​ :
      • 提取weather和temperature字段。
      • 忽略冗余数据(如湿度,除非用户明确询问)。
      • 补充上下文(如"今天")。

​​4. 协议交互流程图​​

关键设计特点​​

  1. ​解耦LLM与工具​ :
    • LLM无需预置工具代码,通过动态发现和调用扩展能力。
  2. ​标准化接口​ :
    • 所有工具遵循相同的/tools/list和/tools/call端点。
  3. ​安全控制​ :
    • MCP服务器可限制敏感工具(如数据库写入)的访问权限。

​​对比其他协议(如OpenAI Function Calling)​​

特性

MCP协议

OpenAI Function Calling

​​工具发现​​

动态获取(需主动请求/tools/list)

静态预定义(在API请求中传递工具描述)

​​执行方式​​

客户端直接调用MCP服务器

由OpenAI后端代理调用工具

​​适用场景​​

私有化部署、复杂工具链

快速集成OpenAI生态工具

通过这一流程,MCP协议实现了​​自然语言→工具调用→自然语言​​的闭环,同时保持灵活性和安全性。开发者可通过扩展MCP服务器支持更多工具(如股票查询、航班预订),而无需修改LLM核心逻辑。

相关推荐
Alice-YUE17 分钟前
从「能用」到「可控」:Prompt 工程与日常写 Prompt 的本质区别
人工智能·大模型·llm·prompt·prompt工程·提示词·ai应用
互联网叫兽17 小时前
RAG 知识库-基于元数据的细粒度权限控制
ai·llm·rag
智码看视界19 小时前
第7篇:GPT 系列大模型架构演进与提示工程入门
gpt·自然语言处理·大模型·llm·rlhf·提示工程·思维链
XLYcmy20 小时前
PDF 论文处理器 — 改进方向与建议文档
python·pdf·llm·agent·dify·rag·harness
山顶夕景21 小时前
【Agent】A harness for every task: dynamic workflows in Claude Code
llm·agent·多智能体·harness
Together_CZ1 天前
Large Language Model-Brained GUI Agents:A Survey——大语言模型驱动的GUI智能体:综述
llm·agent·gui agent·ufo·大语言模型驱动·gui智能体综述·model-brained
stereohomology1 天前
一不小心蹬过头了
llm·总结·薅羊毛
AINative软件工程1 天前
LLM 上下文满了别直接报错:Context Eviction 工程实践,5 种淘汰策略的生产对比
后端·llm·ai编程
诺伦1 天前
Manus 2.0 Cascade降本拆解:Token少用23.2%、成本降32%的工程手段,营销Agent编排能迁移什么 | RiseClaw玄策
人工智能·llm·ai agent·agent编排·增长运营
Bug收容所2 天前
学习LangChain day1
学习·langchain·llm·agent