描述
在Docker容器中运行ROS MCP(模型上下文协议)服务器。该服务器为AI助手提供了一个接口,通过与rosbridge的websocket连接与ROS系统进行交互。服务器通过MCP客户端可以使用的HTTP端点公开ROS功能。
此仓库使用ROS MCP服务器构建了一个多架构Docker容器。Github Actions用于构建3个docker容器 docker buildx 适用于amd64(x86台式PC)、arm64(Jetson Nano)和arm32(Raspberry Pi)。这允许在不同的硬件平台上进行一致的部署。
示例
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名称 并编辑 和 README.md 品尝。
配置
容器接受以下环境变量:
ROSBRIDGE_URL:连接到rosbridge的WebSocket URL(默认值:ws://host.docker.internal:9090)- 端口
8000:MCP服务器端点的HTTP端口
先决条件
您需要一个运行rosbridge_suite的ROS系统来提供websocket接口。安装并运行罗斯布里奇:
# Install rosbridge (ROS1 example)
sudo apt-get install ros-$ROS_DISTRO-rosbridge-suite
# Launch rosbridge
roslaunch rosbridge_server rosbridge_websocket.launch测试
Github Actions期望在您的环境中设置DOCKERHUB_USERNAME和DOCKERHUB.TOKEN变量。
MCP服务器为ROS交互提供端点,一旦容器运行,就可以使用标准HTTP工具对其进行测试。
许可证
Apache 2.0
作者信息
乔舒亚·弗兰克 @法兰克福77
