关于 ros-mcp-server
ros-mcp-server 通过 MCP 将 LLM 连接到 ROS 机器人,面向需要用自然语言观察和控制机器人的开发者。它支持 ROS 1 和 ROS 2,并可发现自定义主题、服务和动作的类型与用法。
主要功能
- 01双向控制与观察机器人
- 02发布和订阅 ROS 主题
- 03调用服务与动作
- 04设置参数并读取传感器数据
- 05发现主题、服务和动作类型
- 06兼容 ROS 1 与 ROS 2
适用场景
- 01用自然语言控制机器人移动与操作
- 02读取机器人状态和传感器数据
- 03诊断工业机器人末端执行器
- 04连接仿真中的机器人并下达指令
MCP 相关
该 MCP 服务向兼容客户端提供 ROS 主题、服务、动作、参数和传感器数据的访问能力。它支持机器人状态观察及控制,并可发现相关接口和类型。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
ROS MCP 服务 🧠⇄🤖
ROS-MCP-Server 将大模型(如 Claude、GPT 和 Gemini)连接到机器人,实现双向通信,且无需更改现有机器人源代码。
为什么选择 ROS-MCP?
- 无需更改机器人源代码 → 只需将
rosbridge节点添加到现有 ROS 设置中。 - 真正的双向通信 → 大模型既能控制机器人,也能观察机器人上发生的一切。
- 完整上下文 → 实时发布和订阅话题、调用服务和动作、设置参数、读取传感器数据并监控机器人状态。
- 深入理解 ROS → 引导大模型发现可用的话题、服务、动作及其类型(包括自定义类型),使其无需手动配置即可使用正确语法调用。
- 适用于任何 MCP 客户端 → 基于开放的 MCP 标准,支持 Claude Code、Codex CLI、Gemini CLI、Claude Desktop、ChatGPT、Cursor 等。
- 兼容不同 ROS 版本 → 兼容 ROS 2(Jazzy、Humble 等)和 ROS 1 发行版。
🎥 实际演示
🏭 示例 - AI Agent 诊断工业机器人的末端执行器(视频)
- MCP 服务将 Claude 连接到一台用于生产的工业机器人,且仅以技术手册作为参考。
- Claude 会自行发现机器人的自定义话题和服务类型及其语法。
- 只需一个测试夹爪的提示词,它就会阅读手册、自行运行测试、发现异常并报告根本原因。
🤖 示例 - 用自然语言控制“Wilson”(视频)
只需一个提示词——“从冰箱里拿一罐可乐,然后去客厅。”——Google Gemini 就会使用 MCP 服务自主导航和操作。该机器人基于 ROS 2 构建,使用 Nav2(SLAM)进行建图和导航,并使用 MoveIt 控制机械臂。
🐕 示例 - 在 NVIDIA Isaac Sim 中控制 Unitree Go2(视频)
MCP 服务将 Claude 连接到 NVIDIA Isaac Sim 中模拟的 Unitree Go2 四足机器人,并将自然语言命令转化为导航和控制机器人的操作。
🛠 入门
按照安装指南开始使用。
ROS-MCP 适用于 Claude Code、Codex CLI、Gemini CLI、Claude Desktop、ChatGPT、Cursor 或任何兼容 MCP 的客户端。
📚 更多示例和教程
浏览我们的示例,了解服务的实际运行情况。
欢迎社区提交包含新示例和集成的 PR!
🤝 贡献
我们欢迎各种形式的贡献:
- 修复错误和更新文档
- 新功能(例如,支持 Action、权限)
- 补充示例和教程
查看贡献指南,并查找标记为 good first issue 的问题,开始参与。
📜 许可证
本项目基于 Apache License 2.0 授权。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。