ROS MCP服务器

在Docker容器中运行的ROS MCP服务器,为AI助手提供通过rosbridge与ROS系统交互的接口。

  • by frankjoshua
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 frankjoshua/docker-ros2-mcp-server

使用说明

Docker中的ROS MCP服务器

描述

在Docker容器中运行ROS MCP(模型上下文协议)服务器。该服务器为AI助手提供了一个接口,通过与rosbridge的websocket连接与ROS系统进行交互。服务器通过MCP客户端可以使用的HTTP端点公开ROS功能。

此仓库使用ROS MCP服务器构建了一个多架构Docker容器。Github Actions用于构建多架构镜像 docker buildx 适用于amd64(x86台式电脑)和arm64(Jetson)。这允许在不同的硬件平台上进行一致的部署。

示例

docker run -it \
    --network=host \
    -p 8000:8000 \
    -e ROSBRIDGE_URL=ws://your-ros-host:9090 \
    frankjoshua/ros-mcp-server

服务器将在以下时间可用 http://localhost:8000 并将通过指定的URL连接到rosbridge websocket ROSBRIDGE_URL (默认为 ws://host.docker.internal:9090).

建筑

使用 build.sh 构建docker容器。


本地构建如下:

./build.sh -t frankjoshua/ros-mcp-server -l

同时为amd64和arm64构建。也推送到docker hub。

./build.sh -t frankjoshua/ros-mcp-server -p

模板

这个仓库是一个GitHub模板。只需在中更改repo名称 .github/works/ci.yml 并编辑 Dockerfile 和 README.md 品尝。

配置

容器接受以下环境变量:

  • ROSBRIDGE_URL:连接到rosbridge的WebSocket URL(默认值: ws://host.docker.internal:9090)
  • 港口 8000:MCP服务器端点的HTTP端口

先决条件

您需要一个运行rosbridge_suite的ROS系统来提供websocket接口。安装并运行罗斯布里奇:

# Install rosbridge (ROS 2)
sudo apt-get install ros-$ROS_DISTRO-rosbridge-suite

# Launch rosbridge
ros2 launch rosbridge_server rosbridge_websocket_launch.xml

测试

Github Actions期望在您的环境中设置DOCKERHUB_USERNAME和DOCKERHUB.TOKEN变量。

MCP服务器为ROS交互提供端点,一旦容器运行,就可以使用标准HTTP工具对其进行测试。

许可证

Apache 2.0

作者信息

乔舒亚·弗兰克 @法兰克福77
http://roboticsascode.com