{"id":30868611,"url":"https://github.com/robotmcp/ros-mcp-server","last_synced_at":"2026-01-29T08:02:45.017Z","repository":{"id":287364516,"uuid":"964371379","full_name":"robotmcp/ros-mcp-server","owner":"robotmcp","description":"Connect AI models like Claude \u0026 GPT with robots using MCP and ROS.","archived":false,"fork":false,"pushed_at":"2026-01-28T08:20:15.000Z","size":140948,"stargazers_count":959,"open_issues_count":13,"forks_count":141,"subscribers_count":18,"default_branch":"main","last_synced_at":"2026-01-28T09:16:50.283Z","etag":null,"topics":["mcp","mcp-server","modelcontextprotocol","ros","ros-mcp-server","ros2","ros2-mcp-server"],"latest_commit_sha":null,"homepage":"https://github.com/robotmcp/ros-mcp-server","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robotmcp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":"docs/governance.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-11T05:40:09.000Z","updated_at":"2026-01-28T07:10:07.000Z","dependencies_parsed_at":"2025-10-22T10:19:57.255Z","dependency_job_id":null,"html_url":"https://github.com/robotmcp/ros-mcp-server","commit_stats":null,"previous_names":["lpigeon/ros_mcp_server","lpigeon/ros-mcp-server","robotmcp/ros-mcp-server"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/robotmcp/ros-mcp-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotmcp%2Fros-mcp-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotmcp%2Fros-mcp-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotmcp%2Fros-mcp-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotmcp%2Fros-mcp-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robotmcp","download_url":"https://codeload.github.com/robotmcp/ros-mcp-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotmcp%2Fros-mcp-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28871353,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T07:35:32.468Z","status":"ssl_error","status_checked_at":"2026-01-29T07:33:31.463Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mcp","mcp-server","modelcontextprotocol","ros","ros-mcp-server","ros2","ros2-mcp-server"],"created_at":"2025-09-07T22:03:51.574Z","updated_at":"2026-01-29T08:02:45.012Z","avatar_url":"https://github.com/robotmcp.png","language":"Python","funding_links":[],"categories":["Developer Tools","Code Execution \u0026 Automation Mcp Servers","\u003cimg src=\"./assets/satellite.svg\" width=\"16\" height=\"16\" style=\"vertical-align: middle;\"\u003e Satellites","Servers","📚 Projects (1974 total)","Containerised MCP Servers","AI \u0026 ML (20)","MCP Servers \u0026 Protocol"],"sub_categories":["Robotics \u0026 Automation","MCP Servers","AI \u0026 Machine Learning"],"readme":"# ROS MCP Server 🧠⇄🤖\n\n![Static Badge](https://img.shields.io/badge/ROS-Available-green)\n![Static Badge](https://img.shields.io/badge/ROS2-Available-green)\n![Static Badge](https://img.shields.io/badge/License-Apache%202.0-blue)\n![Python](https://img.shields.io/badge/python-3.10%2B-blue)\n![pip](https://img.shields.io/badge/pip-23.0%2B-blue)\n![Dev Container](https://img.shields.io/badge/Dev-Container%20Ready-blue)\n![GitHub Repo stars](https://img.shields.io/github/stars/robotmcp/ros-mcp-server?style=social)\n![GitHub last commit](https://img.shields.io/github/last-commit/robotmcp/ros-mcp-server)\n\n\u003c!-- mcp-name: io.github.robotmcp/ros-mcp-server --\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/robotmcp/ros-mcp-server/blob/main/docs/images/framework.png\"/\u003e\n\u003c/p\u003e\n\nROS-MCP-Server connects large language models (such as Claude, GPT, and Gemini) with existing robots giving them bidirectional AI integration.  \n\nWith no changes to existing robot source code, this enables:\n- 🗣 **Commanding the robot in natural language** → instructions are translated into ROS/ROS2 commands.  \n- 👀 **Giving AI full visibility** → subscribe to topics, call services, read sensor data, and monitor robot state in real time.  \n\n\n### ✅ Key Benefits  \n\n- **No robot code changes** → only requires adding the `rosbridge` node.  \n- **True two-way communication** → LLMs can both *control* robots and *observe* everything happening in ROS (sensors, topics, parameters).  \n- **ROS1 \u0026 ROS2 support** → works with both versions out of the box.  \n- **MCP-compatible** → integrates with any MCP-enabled LLM (Claude Desktop, Gemini, ChatGPT, and beyond).   \n\n## 🎥 Examples in Action  \n\n🖥️ **Example - Controlling the MOCA mobile manipulator in NVIDIA Isaac Sim**  \nCommands are entered into Claude Desktop, which uses the MCP server to directly drive the simulated robot.  \n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/robotmcp/ros-mcp-server/blob/main/docs/images/result.gif\" /\u003e\n\u003c/p\u003e  \n\n---\n🐕 **Example - Controlling Unitree Go with natural language**  ([video](https://youtu.be/RW9_FgfxWzs?si=8bdhpHNYaupzi9q3))  \nThe MCP server enables the Claude to interpret images from the robot's cameras, and then command the robot based on human natural language commands. \n\n\u003cp align=\"left\"\u003e\n  \u003cimg src=\"https://contoro.com/asset/media/demo_go2.gif\" /\u003e\n\u003c/p\u003e  \n\n---\n🏭 **Example - Debugging an industrial robot** ([Video](https://youtu.be/SrHzC5InJDA))  \n- Connecting to an industrial robot enables the LLM to browse all ROS topics and services to assess the robot state. \n- With no predefined context, the MCP server enables the LLM to query details about custom topic and service types and their syntax (00:28). \n- Using only natural language, the operator calls the custom services to test and debug the robot(01:42). \n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://contoroinc.sharepoint.com/:v:/s/SandboxNewBusiness/EVh2t2_YG9BEl-Bw-8k6xucBcEv7XebJv1MtqLTIfrQpig?e=deu3YO\"\u003e\n    \u003cimg src=\"https://github.com/robotmcp/ros-mcp-server/blob/main/docs/images/Contoro_robot.png\" width=\"400\" alt=\"Testing and debugging an industrial robot\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## ⚙️ Features of the ROS MCP Server  \n\n- **List topics, services, and message types** → explore everything available in your robot’s ROS environment.  \n- **View type definitions (incl. custom)** → understand the structure of any message.  \n- **Publish/subscribe to topics** → send commands or stream robot data in real time.  \n- **Call services (incl. custom)** → trigger robot functions directly.  \n- **Get/set parameters** → read or adjust robot settings on the fly.  \n- 🔜 **Action support** → upcoming support for ROS Actions.  \n- 🔜 **Permission controls** → manage access for safer deployments.  \n\n---\n\n## 🛠 Getting Started  \n\nThe MCP server is version-agnostic (ROS1 or ROS2) and works with any MCP-compatible LLM.  \n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/robotmcp/ros-mcp-server/blob/main/docs/images/MCP_topology.png\"/\u003e\n\u003c/p\u003e  \n\n### Installation  \n\nFollow the [installation guide](docs/installation.md) for step-by-step instructions to install, run, and troubleshoot the ROS-MCP server.  \n\nFor developers, we also have instructions for [installation from source](docs/installation-from-source.md). \n\nIf you prefer not to use desktop LLM apps (such as Claude, ChatGPT, or Gemini), you can use the [robot-mcp-client](https://github.com/robotmcp/robot-mcp-client) to run and interact with the MCP server directly from the terminal. \n\n---\n\n## 📚 More Examples \u0026 Tutorials  \n\nBrowse our [examples](examples) to see the server in action.  \nWe welcome community PRs with new examples and integrations!  \n\n---\n\n## 🤝 Contributing  \n\nWe love contributions of all kinds:  \n- Bug fixes and documentation updates  \n- New features (e.g., Action support, permissions)  \n- Additional examples and tutorials  \n\nCheck out the [contributing guidelines](docs/contributing.md) and see issues tagged **good first issue** to get started.  \n\n---\n\n## 📜 License  \n\nThis project is licensed under the [Apache License 2.0](LICENSE).  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobotmcp%2Fros-mcp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobotmcp%2Fros-mcp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobotmcp%2Fros-mcp-server/lists"}