> [!NOTE]
> 本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
> [English](./README.en.md) · [原始项目](https://github.com/robotmcp/ros-mcp-server) · [上游 README](https://github.com/robotmcp/ros-mcp-server/blob/HEAD/README.md)
> 原作者、版权与许可证归属以原始项目及本仓库 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 标准](https://modelcontextprotocol.io/),),支持 Claude Code、Codex CLI、Gemini CLI、Claude Desktop、ChatGPT、Cursor 等。
- **跨 ROS 版本可用** → 兼容 ROS 2(Jazzy、Humble 等)和 ROS 1 各发行版。
---
## 🎥 实战示例
---
🏭 **示例 - AI Agent 诊断工业机器人末端执行器** ([视频](https://youtu.be/EhZNFULz9P4))
- MCP 服务器将 Claude 连接到产线工业机器人,仅以技师手册作为参考。
- Claude 自行发现机器人的自定义话题与服务类型及其语法。
- 仅凭一条测试夹爪的提示,它阅读手册、运行自测、发现异常并报告根本原因。
---
🤖 **示例 - 用自然语言控制 "Wilson"** ([视频](https://www.traceglarue.com/wilson))
仅凭一条提示——*"从冰箱里拿一罐可乐,然后去客厅。"*——Google Gemini 通过 MCP 服务器自主导航与操作。基于 ROS 2,使用 Nav2(SLAM)进行建图与导航,MoveIt 控制机械臂。
---
🐕 **示例 - 在 NVIDIA Isaac Sim 中控制 Unitree Go2** ([视频](https://www.youtube.com/watch?v=9StFx4lnvmc))
MCP 服务器将 Claude 连接到 NVIDIA Isaac Sim 中仿真的 Unitree Go2 四足机器人,解析自然语言指令以导航并控制机器人。
---
## 🛠 快速开始
请参阅[安装指南](docs/install/installation.md)开始使用。
ROS-MCP 可与 Claude Code、Codex CLI、Gemini CLI、Claude Desktop、ChatGPT、Cursor 或任意兼容 MCP 的客户端配合使用。
---
## 📚 更多示例与教程
浏览我们的[示例](examples),查看服务器实际运行效果。
欢迎社区提交包含新示例与集成的 PR!
---
## 🤝 参与贡献
我们欢迎各类贡献:
- 缺陷修复与文档更新
- 新功能(例如 Action 支持、权限管理)
- 更多示例与教程
请参阅[贡献指南](docs/contributing.md),并查看标记为 **good first issue** 的 issue 以入门。
---
## 📜 许可证
本项目采用 [Apache License 2.0](LICENSE) 许可证。