Amazing ROS 2 MCP Server

ROS 2 graph introspection and native control via direct rclpy node integration.

Data last scanned today · Reviewed today

4522 tools10PythonApache-2.0

Overview

Amazing ROS 2 MCP provides native ROS 2 interaction for AI agents by running as an rclpy node. This architecture avoids the latency and complexity of rosbridge by communicating directly with the ROS 2 graph, enabling LLMs to inspect nodes, parameters, and topics, as well as execute services and actions. The server includes specialized support for Nav2 navigation tasks such as waypoint following and costmap clearing. It is designed to handle custom workspace messages by dynamically discovering Python paths, ensuring that proprietary robotics interfaces remain accessible to the agent.

Our verdict

This server carries a high risk level with a security score of 45/100, primarily because it is a community-maintained project with a bus factor of one and no independent editorial review. Users should exercise caution; while the project implements safety features like topic blocklists and velocity clamping, the lack of third-party auditing makes it unsuitable for critical production deployments without internal validation.

  • Native rclpy integration removes dependency on rosbridge
  • Includes safety guardrails like velocity clamping and blocklists
  • Supports custom workspace message and service discovery
  • Zero direct dependencies reduces supply chain surface
  • Community-maintained project with single contributor risk
  • Security profile has not yet been editorially reviewed
  • No official vendor support or long-term maintenance guarantee

Tools

ToolDescriptionRisk
list_topicsList active topics and typeslow
list_servicesList active services and typeslow
list_actionsList active action serverslow
list_nodesList nodes and namespaceslow
get_topic_detailsShow publishers, subscribers, and topic typelow
get_message_detailsShow fields and types for a ROS messagelow
get_service_detailsShow request and response fields for a ROS servicelow
get_action_detailsShow goal, result, and feedback fields for a ROS actionlow
get_node_infoShow publishers, subscribers, services, and clients for a nodelow
list_parametersList parameters on a nodelow

Compatibility

ClientLocalDockerRemoteRead-only
Claude Desktop
Cursor
VS Code
Windsurf
ChatGPT

Frequently asked questions

Does this server require rosbridge to communicate with ROS 2?

No, the server runs natively on rclpy and does not require rosbridge or WebSockets to interact with the ROS 2 graph.

How does the server handle custom messages from my workspace?

The server automatically discovers workspace Python paths via AMENT_PREFIX_PATH and the local install/ folder, allowing it to import custom interfaces even if the environment was not perfectly sourced.

What safety measures are implemented for write operations?

The server includes safety guardrails that clamp velocity values for /cmd_vel topics and enforces a blocklist for sensitive topics. You can also enable a dry-run mode to inspect outgoing writes without executing them on the robot.

How do I configure custom safety limits or topic blocks?

Safety settings, such as maximum velocity and topic blocklists, are configured directly in the amazing_ros2_mcp/config.py file.

How can I deploy this server in environments other than stdio?

You can change the communication transport mode by setting the TRANSPORT_MODE environment variable to http or streamable-http and configuring the host and port accordingly.

Badge

Amazing ROS 2 MCP Server security score, rated on RepoAI

Maintain this server? Add the live badge to your README.