WiseVision ROS2 MCP Server 是一个为 ROS2 系统实现 Model Context Protocol (MCP) 的 Python 服务器。该镜像通过 MCP 协议提供与 ROS2 系统的标准化交互接口,支持获取消息结构、调用服务、管理话题(发布/订阅)等核心功能,主要用于需要通过 AI 应用或外部系统与 ROS2 生态进行安全、标准化交互的场景。
| 属性 | 详情 |
|---|---|
| Docker 镜像 | https://hub.docker.com/repository/docker/mcp/ros2 |
| 作者 | https://github.com/wise-vision |
| 代码仓库 | https://github.com/wise-vision/mcp_server_ros_2 |
| Dockerfile | https://github.com/wise-vision/mcp_server_ros_2/blob/main/Dockerfile |
| 镜像构建方 | Docker Inc. |
| Docker Scout 健康评分 | !Docker Scout Health Score |
| 签名验证命令 | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/ros2 --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
| 许可证 | 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 https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
Docker 容器提供了隔离环境,可限制 MCP Server 对主机系统的访问权限,降低***操作风险。同时,容器化部署简化了依赖管理,确保服务器在一致环境中运行,符合 MCP 协议的安全设计理念。
ros2_get_messages 从 InfluxDB 检索历史数据,用于离线分析或模型训练。本镜像基于 Mozilla Public License 2.0 开源协议发布。
以下是 mcp/ros2 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务