Install
$ agentstack add mcp-jonasneves-ros-mcp ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
ros-mcp
[](https://github.com/jonasneves/ros-mcp/actions/workflows/build-push.yml) [](LICENSE)
Drive ROS robots from an AI agent: a FastMCP server that reaches a robot over the rosbridge WebSocket and exposes its topics, services, nodes, parameters, and actions as 37 MCP tools — usable from Claude Code, Claude Desktop, Cursor, or any MCP client.
MCP client ──stdio/HTTP──▶ ros-mcp ──ws :9090──▶ rosbridge ──▶ ROS graph
(Claude, Cursor) (topics, services,
nodes, actions, params)
The browser dashboard skips the Python server: roslibjs connects straight to rosbridge from the page, with an embedded AI chat panel.
| Mode | Best for | Bridge path | |---|---|---| | Browser dashboard | Quickest start, no install | page → rosbridge | | Python server — stdio | Claude Code (local) | client → ros-mcp → rosbridge | | Python server — HTTP | Claude Desktop, Cursor, remote | client → ros-mcp :9000 → rosbridge | | Remote CI server | Shared / cloud-hosted | client → hosted ros-mcp → rosbridge |
See [diagram.png](diagram.png) for the full picture.
Quick start
You need a running rosbridge (ros2 launch rosbridge_server rosbridge_websocket_launch.xml, default port 9090) — or use the bundled simulators below.
git clone https://github.com/jonasneves/ros-mcp && cd ros-mcp
Browser dashboard — open ros-mcp.github.io, enter your rosbridge WebSocket URL, connect. No install.
Claude Code (stdio)
make configure
Claude Desktop / Cursor (HTTP on :9000)
ROSBRIDGE_IP= make server-http
make configure-desktop
Remote CI server — uses the URL published by the GitHub Actions workflow:
make configure-remote
Docker simulators
3× Turtlesim — simulators and rosbridge start automatically; MCP server at http://localhost:9000/mcp:
make turtlesim
Isaac Sim — Linux + NVIDIA GPU, Isaac Sim installed, ROS 2 Bridge extension enabled:
make isaac-sim # rosbridge (FastDDS, host network)
ROSBRIDGE_IP=127.0.0.1 make server-http # MCP server, separate terminal
On macOS or a remote host, point at a rosbridge already running alongside Isaac Sim: ROSBRIDGE_IP= make server-http.
Tools
| Group | Tools | |---|---| | Connection | connect_to_robot, ping_robot | | Topics | get_topics, get_topic_type, get_topic_details, get_message_details, subscribe_once, subscribe_for_duration, publish_once, publish_for_durations | | Motion | turn_by_angle, move_by_distance, move_robots | | Services | get_services, get_service_type, get_service_details, call_service | | Nodes | get_nodes, get_connected_robots, get_node_details | | Actions | get_actions, get_action_details, send_action_goal, get_action_status, cancel_action_goal | | Parameters | get_parameter, set_parameter, has_parameter, delete_parameter, get_parameters, get_parameter_details | | Robot config | detect_ros_version, get_verified_robots_list, get_verified_robot_spec, get_robot_description, get_joint_states | | Images | analyze_previously_received_image |
Full signatures, units, and examples: [docs/tools.md](docs/tools.md).
Configuration
| Variable | Default | Description | |---|---|---| | ROSBRIDGE_IP | 127.0.0.1 | rosbridge host | | ROSBRIDGE_PORT | 9090 | rosbridge port | | ROS_DEFAULT_TIMEOUT | 5.0 | Tool timeout in seconds |
License
Apache 2.0. See [LICENSE](LICENSE).
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: jonasneves
- Source: jonasneves/ros-mcp
- License: Apache-2.0
- Homepage: http://jonasneves.com/ros-mcp/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.