Client 源码:cap_mcp_client.ccomponents/claw_capabilities/cap_mcp_client/src/cap_mcp_client.c ·
头文件:cap_mcp_client.hcomponents/claw_capabilities/cap_mcp_client/include/cap_mcp_client.h ·
Skill:SKILL.mdcomponents/claw_capabilities/cap_mcp_client/skills/cap_mcp_client/SKILL.md
Server 源码:cap_mcp_server.ccomponents/claw_capabilities/cap_mcp_server/src/cap_mcp_server.c ·
头文件:cap_mcp_server.hcomponents/claw_capabilities/cap_mcp_server/include/cap_mcp_server.h ·
Skill:SKILL.mdcomponents/claw_capabilities/cap_mcp_server/skills/cap_mcp_server/SKILL.md
ESP-Claw 通过 cap_mcp_client 和 cap_mcp_server 两个组件实现 Model Context Protocol (MCP) 支持:
cap_mcp_client:允许 LLM 发现并调用远程 MCP 服务器提供的工具
cap_mcp_server:将设备自身的 Capability 暴露为本地 MCP 服务端,供外部 MCP 客户端调用
| 工具 ID | 说明 |
|---|
mcp_list_tools | 列出远程 MCP 服务器上的可用工具 |
mcp_call_tool | 调用远程 MCP 服务器上的指定工具 |
mcp_discover | 发现局域网内广播的 MCP 服务器 |
| 参数 | 类型 | 必填 | 说明 |
|---|
server_url | string | ✅ | MCP 服务器 URL |
endpoint | string | | MCP endpoint 路径 |
cursor | string | | 分页游标 |
| 参数 | 类型 | 必填 | 说明 |
|---|
server_url | string | ✅ | MCP 服务器 URL |
tool_name | string | ✅ | 要调用的工具名称 |
endpoint | string | | MCP endpoint 路径 |
arguments | object | | 传递给工具的参数 |
| 参数 | 类型 | 必填 | 说明 |
|---|
timeout_ms | integer | | 发现超时时间 |
include_self | boolean | | 是否包含自身 |
| 属性 | 值 |
|---|
| Group ID | cap_mcp_client |
| 默认 LLM 可见 | ❌(需通过 Skill 激活) |
| 工具数量 | 3 |
cap_mcp_server 是一个 CLAW_CAP_KIND_HYBRID 类型的 Capability,具有生命周期管理。启动后,它在本地创建一个 MCP 服务端实例,将设备的已注册 Capability 暴露为 MCP 工具,供局域网内的外部 MCP 客户端(如桌面 IDE、其他 ESP-Claw 设备)发现和调用。
- 支持 MCP SSE(Server-Sent Events)传输
- 自动将设备 Capability 映射为 MCP 工具
- 支持 mDNS 广播,局域网可发现
- 具备完整生命周期(init → start → stop)
| 属性 | 值 |
|---|
| Group ID | cap_mcp_server |
| 默认 LLM 可见 | ❌ |
| 工具数量 | 0(作为服务端,不暴露 LLM 可调用工具) |