WiseVision ROS2 MCP Server 是一个为 ROS2 系统实现 Model Context Protocol (MCP) 的 Python 服务器。该镜像通过 MCP 协议提供与 ROS2 系统的标准化交互接口,支持获取消息结构、调用服务、管理话题(发布/订阅)等核心功能,主要用于需要通过 AI 应用或外部系统与 ROS2 生态进行安全、标准化交互的场景。
| 属性 | 详情 |
|---|---|
| Docker 镜像 | mcp/ros2 |
| 作者 | wise-vision |
| 代码仓库 | [***] |
| Dockerfile | [***] |
| 镜像构建方 | Docker Inc. |
| Docker Scout 健康评分 | !Docker Scout Health Score |
| 签名验证命令 | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/ros2 --key [***] |
| 许可证 | Mozilla Public License 2.0 |
ros2_get_messages 工具)。该服务器提供以下 8 种工具,用于与 ROS2 系统进行交互:
| 工具名称 | 简短描述 |
|---|---|
ros2_get_message_fields | 返回指定 ROS2 消息类型的字段列表。 |
ros2_get_messages | 调用 ROS2 /get_messages 服务,从 InfluxDB 中检索指定话题的历史消息数据。 |
ros2_interface_list | 返回当前可用的 ROS2 接口列表。 |
ros2_service_call | 按名称和类型调用 ROS2 服务,并传入指定字段参数。 |
ros2_service_list | 返回当前可用的 ROS2 服务列表及其请求字段。 |
ros2_topic_list | 返回当前可用的 ROS2 话题列表及其类型。 |
ros2_topic_publish | 按名称和消息类型向 ROS2 话题发布消息,需提供字段值。 |
ros2_topic_subscribe | 订阅 ROS2 话题,按时间或消息数量限制收集消息。 |
ros2_get_message_fields功能:返回指定 ROS2 消息类型的字段列表。
| 参数名 | 类型 | 描述 |
|---|---|---|
message_type | string | ROS2 消息类型全称,例如 std_msgs/msg/String |
ros2_get_messages功能:调用 ROS2 /get_messages 服务,从 InfluxDB 中检索指定话题的历史消息数据。
| 参数名 | 类型 | 描述 |
|---|---|---|
message_type | string | 用于解码消息的 ROS2 消息类型全称 |
topic_name | string | 待检索消息的话题名称 |
number_of_messages | integer | 可选,需获取的消息数量 |
time_end | string | 可选,ISO8601 格式时间戳,过滤此时间前的消息 |
time_start | string | 可选,ISO8601 格式时间戳,过滤此时间后的消息 |
ros2_interface_list功能:返回当前可用的 ROS2 接口列表。
无参数
ros2_service_call功能:按名称和类型调用 ROS2 服务,并传入指定字段参数。
使用前必须调用 ros2_service_list 和 ros2_interface_list 以获取最新服务信息。
| 参数名 | 类型 | 描述 |
|---|---|---|
fields | object | 服务请求字段的字典(键值对形式) |
service_name | string | 服务名称 |
service_type | string | ROS2 服务类型全称(需先用 ros2_service_list 确认) |
force_call | boolean | 可选,是否在字段缺失时强制调用服务 |
ros2_service_list功能:返回当前可用的 ROS2 服务列表及其请求字段。
无参数
ros2_topic_list功能:返回当前可用的 ROS2 话题列表及其类型。
无参数
ros2_topic_publish功能:按名称和消息类型向 ROS2 话题发布消息,需提供字段值。
使用前必须调用 ros2_topic_list 和 ros2_interface_list 以获取最新话题和消息类型信息。
| 参数名 | 类型 | 描述 |
|---|---|---|
data | object | 消息字段及值的字典(键值对形式) |
message_type | string | ROS2 消息类型全称,例如 std_msgs/msg/String |
topic_name | string | 待发布消息的话题名称 |
ros2_topic_subscribe功能:订阅 ROS2 话题,按时间或消息数量限制收集消息。
使用前必须调用 ros2_topic_list 以获取最新话题信息。
| 参数名 | 类型 | 描述 |
|---|---|---|
topic_name | string | 待订阅的话题名称 |
duration | number | 可选,收集消息的持续时间(秒) |
message_limit | integer | 可选,收集消息的数量上限 |
通过 Docker 运行 MCP Server 的基础命令如下:
bashdocker run -i --rm mcp/ros2
参数说明:
-i:交互模式,允许输入输出;--rm:容器退出后自动删除,避免残留。在支持 MCP 协议的应用(如 Anthropic Claude)中,可通过以下配置集成该服务器:
json{ "mcpServers": { "ros2": { "command": "docker", "args": [ "run", "-i", "--rm", "mcp/ros2" ] } } }
为确保镜像完整性,可通过以下命令验证签名:
bashCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/ros2 --key [***]
Docker 容器提供了隔离环境,可限制 MCP Server 对主机系统的访问权限,降低***操作风险。同时,容器化部署简化了依赖管理,确保服务器在一致环境中运行,符合 MCP 协议的安全设计理念。
ros2_get_messages 从 InfluxDB 检索历史数据,用于离线分析或模型训练。本镜像基于 Mozilla Public License 2.0 开源协议发布。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429