游乐游手机版
首页/AI热点日报/热点详情

OpenClaw本地部署接入MCP工具教程

类型:热点整理2026-08-07
本地部署OpenClaw接入MCP工具需四步:配置mcp_server_url地址、启动MCP服务端、通过mcp_tools json注册工具列表、重启OpenClaw,四步缺一不可。完成后Agent可依自然语言指令调用外部工具,实现智能运维自动化。

概述

要想让本地部署的 OpenClaw 顺利调用外部运维工具、数据库或 API 服务,必须借助 MCP 协议使 Agent 能够识别并执行结构化工具请求。整个流程分为四步:设置 MCP 服务端地址 → 启动 MCP 服务 → 注册工具列表 → 重启 OpenClaw。若缺少任一环节,工具调用将被忽略,导致无法生成 tool_call 消息。

第一步:确认 OpenClaw 已启用 MCP 客户端支持

打开项目根目录下的 .agent/config.yaml,检查 llm 节下是否存在 mcp_server_url 字段。若不存在,手动添加一行:

mcp_server_url: http://localhost:3000

【务必与后续启动的 MCP 服务端口保持一致】,否则 OpenClaw 在推理过程中将无法构造 MCP 格式的 tool_call 消息,所有工具调用都将被忽略。

小提示:
默认端口为3000,若自定义端口,请同步修改此处URL。例如改为 http://localhost:8080。

第二步:启动兼容 OpenClaw 的 MCP 服务端

启动 MCP 服务端有两种方式,可选择任意一种。

方法一:使用最新 fastmcp 快速启动

执行以下命令安装并启动:

pip install "mcp[cli]"
mcp server --host 0.0.0.0 --port 3000

服务启动后终端会显示 "MCP 服务已启动,地址为 http://0.0.0.0:3000",表示已就绪。

方法二:运行自定义 MCP 工具集(需 Python 3.9+)

新建 my_tools.py,写入一个符合 MCP 规范的工具函数,例如:

from mcp.server import Server
server = Server()

@server.tool
def get_disk_usage() -> str:
    return "sda: 87% full"

server.run()

然后执行 python my_tools.py。注意:该脚本需保持持续运行,关闭后连接即中断。

常见问题:
Q:启动时提示端口被占用如何解决?
A:修改 --port 参数为其他端口(如 3001),并同步更新 config.yaml 中的 mcp_server_url 地址。

第三步:注册 MCP 工具到 OpenClaw 运行时环境

即便 MCP 服务已正常运行,LLM 仍需知晓哪些工具可用。必须通过 mcp_tools.json 文件来声明工具列表。

  • 请确认 .agent/skills/ 目录下存在 mcp_tools.json 文件,如不存在则手动创建。
  • 编辑该文件,填入服务端暴露的工具列表,格式如下:
[
  {
    "name": "get_disk_usage",
    "description": "获取磁盘使用率",
    "input_schema": {}
  }
]
  • 重启 OpenClaw 主进程。此时 Agent 加载技能时将解析该 JSON,并把其中的工具名注入 LLM 提示词的可用工具列表。

若跳过此步骤,即使 MCP 服务正在运行,LLM 也无法知道该工具的存在——它仅识别 .agent/skills/ 中声明过的工具名。

小提示:
多个工具可依次添加,每个工具必须包含 name、description 和 input_schema 字段。input_schema 可为空对象 {},也可定义参数结构。

第四步:验证 MCP 工具调用是否生效

启动 OpenClaw CLI 交互终端:

codeclaw --interactive

输入自然语言指令,例如:

查一下当前磁盘使用情况

观察日志输出:

  • 若出现类似 tool_call: {"name": "get_disk_usage", "args": {}} 以及后续 tool_result: "sda: 87% full",则表明 MCP 通路已成功建立。
  • 若仅返回“我不清楚如何操作”,则说明工具未注册或 MCP 服务未响应,需重新检查 mcp_server_url 配置及端口连通性。

常见问题:
Q:验证时未出现 tool_call 日志,但配置似乎正确?
A:检查 .agent/skills/mcp_tools.json 中的工具名是否与 MCP 服务端暴露的工具名完全一致(注意大小写)。同时确认 config.yaml 中的 mcp_server_url 端口是否与 MCP 服务启动端口匹配。

总结

通过以上四个步骤,即可在本地部署的 OpenClaw 中成功接入 MCP 工具。核心要点:配置地址、启动服务、注册工具、重启应用,缺一不可。配置完成后,Agent 即可根据自然语言指令自动调用外部运维工具、数据库或 API 服务,实现真正的智能运维。

来源:https://www.php.cn/faq/2929836.html?uid=1431639

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。