ros-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_ros_nodesA | List all currently running ROS 2 nodes and their information |
| list_ros_topicsA | List all ROS 2 topics with their types and publishers/subscribers |
| monitor_topicB | Monitor a ROS 2 topic for a specified duration. Collects messages over time. |
| get_topic_infoA | Get detailed information about a specific ROS 2 topic including message type |
| publish_to_topicB | Publish a message to a ROS 2 topic |
| list_ros_servicesA | List all available ROS 2 services |
| call_serviceC | Call a ROS 2 service with optional parameters |
| monitor_tf2_framesC | Monitor TF2 transform frames and their relationships |
| get_node_parametersA | Get parameters for a specific ROS 2 node |
| set_node_parameterB | Set a parameter for a ROS 2 node |
| get_node_connectionsA | Get all topics that a node publishes to and subscribes from |
| generate_ros_graphB | Generate RQT graph showing connections between nodes and topics |
| run_ros_launchB | Launch a ROS 2 package launch file |
| run_ros_nodeC | Run a ROS 2 node from a package |
| check_ros_system_statusB | Check overall ROS 2 system status, daemon, and node health |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Each tool targets a distinct ROS 2 entity (topic, node, service, parameter, tf2, launch). No two tools perform the same action on the same resource; monitor_topic and get_topic_info differ in whether they collect sample messages or describe topic metadata.
All tool names use snake_case and follow a clear verb_noun pattern: list_*, get_*, set_*, run_*, monitor_*, publish_to_*, call_*, generate_*. There are no mixed conventions or ambiguous verbs like 'process' or 'do'.
15 tools is within the sweet spot for a ROS 2 control surface. Each tool addresses a core need: introspection (list, get, monitor), control (run, publish, call), and configuration (set). The count feels appropriate without being bloated.
The set covers the main ROS 2 interaction modes: nodes, topics, services, parameters, TF frames, and launch files. A notable gap is the lack of action support or explicit node shutdown, but these are advanced use cases; the core workflows are well covered.