热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 >OpenClaw Docker部署怎么接入MCP工具?

OpenClaw Docker部署怎么接入MCP工具?

来源:互联网 更新时间:2026-08-01 13:27

想让 OpenClaw 顺利调用 Git、curl 这些 MCP 工具,关键一步就是通过 Docker Compose 把 mcp-server 容器集成进来,并且把 MCP Server URL 设置成 http://mcp-server:3001。不然的话,工具调用要么直接跳过,要么就失败。

OpenClaw Docker部署怎么接入MCP工具?

OpenClaw 是 OpenHands 的衍生项目,专门强化了 MCP 工具集成能力,但最新版本并没有提供开箱即用的 Docker 镜像来支持 MCP 工具链。要让 OpenClaw 容器真正调用 Git、curl、jq、browser 这些工具,必须在容器启动前完成工具注入和权限打通,否则所有调用都会失败,或者被沙箱拦截。

确认 OpenClaw 是否已启用 MCP 模块

进入 OpenClaw Web UI 后,点击左下角的「Settings」→「Agent Configuration」→ 展开「Advanced」,检查

【MCP Server URL】

字段是否为空。如果为空,说明当前运行的容器没有加载 MCP 服务,后续所有工具调用都会直接跳过——不报错,也不执行。

这个字段默认应该是 http://localhost:3001,如果显示为 http://mcp-server:3001 或者空白,就需要重建容器,并显式挂载 MCP 服务。

用 Docker Compose 启动带 MCP 的 OpenClaw

方法一:使用最新推荐的多服务编排配置(推荐)

① 创建 docker-compose.yml 文件,内容如下:

services:
  mcp-server:
    image: docker.all-hands.dev/all-hands-ai/mcp-server:0.14
    ports:
      - "3001:3001"
    volumes:
      - ~/.openhands-mcp:/root/.mcp
  openhands:
    image: docker.all-hands.dev/all-hands-ai/openclaw:0.14
    ports:
      - "3000:3000"
    environment:
      - MCP_SERVER_URL=http://mcp-server:3001
      - SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.14-nikolaik
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ~/.openhands-state:/.openhands-state
      - ${WORKSPACE_BASE:-$PWD/workspace}:/opt/workspace_base
    depends_on:
      - mcp-server

② 在终端中执行 docker-compose up -d,等待两个容器都显示 healthy 状态。

③ 浏览器访问 http://localhost:3000 → Settings → Agent Configuration → Advanced → 检查 MCP Server URL 是否自动填充为 http://mcp-server:3001。如果没有自动填充,手动输入并保存。

这一步不能跳过:MCP Server URL 必须指向容器内可解析的地址。如果填成 localhost:3001,OpenClaw 容器内部就无法连接到 mcp-server 容器。

手动验证 MCP 工具是否就绪

在 OpenClaw Web UI 中新建一个会话,输入指令:“列出当前工作区所有 .py 文件”,然后发送。

如果返回结果包含文件名列表(比如 main.pyutils.py),说明 MCP 的 filesystem.list_files 工具已经成功注册并调用;如果返回“Tool not found”或者超时无响应,那就说明 MCP 服务没有连通,或者工具没有启用。

这时候需要检查 mcp-server 容器的日志:docker logs mcp-server | grep -i "registered tool",确认能看到类似 registered tool: git.commitfilesystem.read_file 的输出行。

【关键前提】

mcp-server 容器必须使用 root 用户启动,否则无法挂载 host.docker.internal 或调用宿主机上的二进制工具。如果你改过 user: 1001 配置,请删掉那一行。

热门手游

相关攻略

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc