ROS 2 MCP
Advanced MCP Server ROS 2 bridging AI agents straight into robotics
What is ROS 2 MCP?
ROS 2 MCP is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to advanced mcp server ros 2 bridging ai agents straight into robotics
Advanced MCP Server ROS 2 bridging AI agents straight into robotics
This server falls under the Browser Automation category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- Advanced MCP Server ROS 2 bridging AI agents straight into r
Use Cases
Maintainer
Works with
Installation
Manual Installation
npx ros2-mcpConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use ROS 2 MCP
ROS 2 MCP is an advanced Python MCP server from WiseVision that bridges AI agents directly into ROS 2 robotic systems, enabling natural language interaction with live robots, simulations, and sensor streams. It exposes a comprehensive set of tools covering topic listing and subscription, message publishing, service calls, action goal management (send, cancel, wait for result, subscribe to feedback), message type schema discovery, and integration with WiseVision's Data Black Box for querying historical sensor data. Unlike simpler ROS 2 bridges, it supports nested message fields, auto QoS selection, and pre-built prompt templates for common workflows like health checks, topic relay, and diff monitoring — making it suitable for both rapid prototyping and production robot control scenarios.
Prerequisites
- ROS 2 installed (Humble or Jazzy — both are supported)
- Python 3 and uv package manager installed
- A running ROS 2 system with active nodes, topics, and/or services
- An MCP-compatible client such as Claude Desktop, VS Code Copilot, or Warp terminal
- Docker (optional — a Docker Hub image is available for deployment without a local Python/ROS 2 dev environment)
Source your ROS 2 workspace
Source your ROS 2 installation before starting the MCP server. The server process needs access to ROS 2 Python bindings (rclpy) and any workspace packages that define custom message types.
source /opt/ros/humble/setup.bash
# If you have a custom workspace:
# source ~/my_ws/install/setup.bashClone the repository
Clone the ros2_mcp repository from WiseVision.
git clone https://github.com/wise-vision/ros2_mcp.git
cd ros2_mcpConfigure Claude Desktop
Add the ROS 2 MCP server to your claude_desktop_config.json. The server uses uv to manage its Python dependencies and stdio transport. Set the directory to the absolute path of your clone.
{
"mcpServers": {
"ros2": {
"command": "uv",
"args": ["--directory", "/path/to/ros2_mcp", "run", "mcp_ros_2_server"]
}
}
}Verify using the MCP Inspector
Test the server independently of Claude Desktop using the MCP Inspector. This is the recommended debugging workflow since the server uses stdio and has no visible output when embedded in a client.
npx @modelcontextprotocol/inspector uv --directory /path/to/ros2_mcp run mcp_ros_2_serverRestart Claude Desktop and list topics
Restart your MCP client. With ROS 2 nodes running, ask Claude to list available topics using ros2_topic_list. The server auto-discovers the full ROS 2 graph including message type schemas.
Use built-in action prompts for common tasks
The server includes structured prompts for topic echo and analysis, node health checks, topic relay, and topic diff monitoring. Access these from your MCP client's prompt selector for guided multi-step robotics workflows.
ROS 2 MCP Examples
Client configuration
Claude Desktop configuration connecting to the ROS 2 MCP server via uv.
{
"mcpServers": {
"ros2": {
"command": "uv",
"args": ["--directory", "/home/user/ros2_mcp", "run", "mcp_ros_2_server"]
}
}
}Prompts to try
Natural language commands for robot control and diagnostics through the ROS 2 MCP server.
- "List all available ROS 2 topics with their message types"
- "Subscribe to /scan for 3 seconds and analyze the laser scan data"
- "Publish a geometry_msgs/Twist message to /cmd_vel to move forward at 0.3 m/s"
- "Call the /reset_simulation service"
- "Send a navigation goal action to /navigate_to_pose to reach coordinates x=2.0, y=1.5"
- "Check if all expected topics for my robot are available and publishing at the expected rates"
- "Monitor /camera/depth/image_rect_raw and /camera/color/image_raw and show me if they are synchronized"Troubleshooting ROS 2 MCP
Server starts but no topics or services are discovered
Check that ROS_DOMAIN_ID matches between the MCP server process and your ROS 2 nodes. The default is 0; if your nodes use a different domain, add 'ROS_DOMAIN_ID': '<value>' to the env block of the MCP server config.
rclpy import fails when the server starts
The uv environment used by the server needs ROS 2 to be sourced in the same shell session. Create a wrapper shell script that sources /opt/ros/<distro>/setup.bash before running the uv command, and point the MCP config to that script instead of uv directly.
Service calls or action goals fail for custom message types
Custom ROS 2 message and service types must be sourced before the MCP server starts. Add 'source ~/my_ws/install/setup.bash' before launching, or create a startup wrapper script that sources all required workspaces in order before invoking the uv run command.
Frequently Asked Questions about ROS 2 MCP
What is ROS 2 MCP?
ROS 2 MCP is a Model Context Protocol (MCP) server that advanced mcp server ros 2 bridging ai agents straight into robotics It connects AI assistants to external tools and data sources through a standardized interface.
How do I install ROS 2 MCP?
Follow the installation instructions on the ROS 2 MCP GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.
Which AI clients work with ROS 2 MCP?
ROS 2 MCP works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is ROS 2 MCP free to use?
Yes, ROS 2 MCP is open source and available under the MPL-2.0 license. You can use it freely in both personal and commercial projects.
ROS 2 MCP Alternatives — Similar Browser Automation Servers
Looking for alternatives to ROS 2 MCP? Here are other popular browser automation servers you can use with Claude, Cursor, and VS Code.
Chrome DevTools MCP
★ 40.6kAI-powered Chrome automation server with natural language element detection. Control Chrome browser through MCP protocol for testing, debugging, and performance analysis. Features 91% accuracy in element location, works with free AI models, and suppo
UI TARS Desktop
★ 34.9k📇 🏠 - Browser automation capabilities using Puppeteer, both support local and remote browser connection.
Playwright
★ 32.8kA production-ready browser automation server that enables AI assistants to interact with web pages using tools for navigation, element interaction, and data extraction. It features a built-in Inspector UI and robust crash recovery for reliable automa
Page Agent
★ 18.0kJavaScript in-page GUI agent. Control web interfaces with natural language.
Chrome
★ 11.7kAn extension-based MCP server that enables AI assistants to control your browser, leveraging existing sessions and login states for automation and content analysis. It provides over 20 tools for semantic tab search, interactive element manipulation,
LAMDA
★ 7.8kThe most powerful Android RPA agent framework, next generation mobile automation.
Browse More Browser Automation MCP Servers
Explore all browser automation servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up ROS 2 MCP in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use ROS 2 MCP?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.