b6cbadfd6d
Integration Tests / jazzy (push) Waiting to run
Integration Tests / melodic (push) Waiting to run
Integration Tests / noetic (push) Waiting to run
Integration Tests / humble (push) Waiting to run
Ruff Lint & Format / ruff (push) Waiting to run
Sync main to develop / Check if sync is needed (push) Waiting to run
Sync main to develop / Sync main to develop (push) Blocked by required conditions
5.0 KiB
5.0 KiB
Note
本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
ROS MCP Server 🧠⇄🤖
ROS-MCP-Server 将大语言模型(Large Language Model,LLM,如 Claude、GPT 和 Gemini)连接到机器人,实现双向通信,且无需修改现有机器人源代码。
为什么选择 ROS-MCP?
- 无需修改机器人源代码 → 只需在现有 ROS 配置中添加
rosbridge节点。 - 真正的双向通信 → LLM 既能控制机器人,也能观察机器人上发生的一切。
- 完整上下文 → 发布与订阅话题(topic)、调用服务(service)与动作(action)、设置参数、读取传感器数据,并实时监控机器人状态。
- 深度 ROS 理解 → 引导 LLM 自动发现可用的话题、服务、动作及其类型(包括自定义类型)——使其能以正确语法使用它们,无需手动配置。
- 兼容任意 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 的 issue 以入门。
📜 许可证
本项目采用 Apache License 2.0 许可证。

