MCP服务 SSE / Streamable HTTP 这两种数据传输机制,怎么用 http 请求查询这个MCP服务支持哪些工具调用, 和怎么调用其中一个工具

写这个的目的,主要是好奇,想了解MCP服务 底层的原理。

拿 高德 mcp 服务 举例
1 查询 高德 mcp 服务 , 提供了哪些工具可以调用

这4个参数是 JSON-RPC 2.0 协议的标准字段,作用如下:

  • jsonrpc: "2.0":声明使用的协议版本。

  • id: 1:请求的唯一编号,用于将响应与当前请求配对。

  • method: "tools/list":要执行的方法名,即"获取工具列表"。

  • params: {}:方法所需的参数,此处为空表示不需要额外传参。

    curl --location --request POST 'https://mcp.amap.com/mcp?key=xxxxxxxx'
    --header 'Accept: application/json, text/event-stream'
    --header 'User-Agent: Apifox/1.0.0 (https://apifox.com)'
    --header 'Content-Type: application/json'
    --header 'Host: mcp.amap.com'
    --header 'Connection: keep-alive'
    --data-raw '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/list",
    "params": {}
    }'

2 调用 某个工具,如查天气

  • jsonrpc: "2.0":声明遵循 JSON-RPC 2.0 协议版本。

  • id: 3:本次请求的唯一标识符,用于匹配服务器返回的响应结果。

  • method: "tools/call":指定要执行的方法为"调用工具"。

  • params:包含调用该工具所需的具体参数对象,内部细分为:

  • name: "maps_weather":指明要调用的具体工具名称。

  • arguments:传递给该工具的输入参数,这里传入了 {"city": "北京"}。

    curl --location --request POST 'https://mcp.amap.com/mcp?key=xxxxxxxx'
    --header 'Accept: application/json, text/event-stream'
    --header 'User-Agent: Apifox/1.0.0 (https://apifox.com)'
    --header 'Content-Type: application/json'
    --header 'Host: mcp.amap.com'
    --header 'Connection: keep-alive'
    --data-raw '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
    "name": "maps_weather",
    "arguments": {
    "city": "北京"
    }
    }
    }'

3 调用 某个工具,根据 经纬度 查询地址

复制代码
curl --location --request POST 'https://mcp.amap.com/mcp?key=xxxxxxxx' \
--header 'Accept:  application/json, text/event-stream' \
--header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
--header 'Content-Type: application/json' \
--header 'Host: mcp.amap.com' \
--header 'Connection: keep-alive' \
--data-raw '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "maps_regeocode",
    "arguments": {
      "location": "116.397128,39.916527"
    }
  }
}'
相关推荐
funnycoffee12318 分钟前
华为USG防火墙端口有收光,无法UP故障
服务器·网络·华为
泰和英杰1 小时前
2026 华为数字能源 + 机房工程实操标准:故障排查、机房建设、设备选型标准化技术方案
运维·服务器·网络
mounter6251 小时前
探索未来 AI 算力网络的基石:从传统 RoCE 走向 SRv6 驱动的弹性弹性网络(解析 Netdev 0x1A 创新实践)
linux·网络·人工智能·linux kernel·kernel·rdma·rocev2
x_x-F1 小时前
深入浅出 Linux 网络核心:sk_buff 的内存与指针流转
linux·运维·网络
CHANG_THE_WORLD14 小时前
TCP 三次握手彻底解析:SYN、ACK、SEQ、确认号与状态迁移
网络·网络协议·tcp/ip
2501_9151063214 小时前
TraceEagle 代理抓包教程 本机和手机的 HTTPS 抓包方法
网络协议·计算机网络·网络安全·ios·adb·https·udp
小心我捶你啊15 小时前
数据采集和Web解锁不是一回事,从用途到规则区分
前端·爬虫·网络协议
DLYSB_15 小时前
基于 HTTP API 与 Modbus 协议的多源监控声光语音联动告警系统设计与实现
网络·网络协议·http·报警灯
Bobolink_16 小时前
手机端和电脑端的网络环境配置有什么不同?
网络·智能手机·电脑·网络环境
星恒讯工业路由器17 小时前
三大工业以太网协议选型对比
网络·物联网·ethercat·profinet·ethernet/ip·工业以太网协议