Python server implementing Model Context Protocol (MCP) for ROS2.
8.8K
14 Tools
Version 4.43 or later needs to be installed to add the server automatically
Tools
| Name | Description |
|---|---|
ros2_action_request_result | Wait for the RESULT of a ROS 2 action (GetResult) for a given goal_id. Before **every** use of this tool, the agent should ensure the target action exists (e.g., by calling 'ros2_list_actions'). |
ros2_action_subscribe_feedback | Subscribe to feedback messages of a ROS 2 action. Optionally filter by goal_id_hex. Collects feedback for a fixed duration or until a maximum number of messages is received. Each message contains goal_id, feedback payload, and receive timestamp. |
ros2_action_subscribe_status | Subscribe to '/<action>/_action/status' (action_msgs/msg/GoalStatusArray) and return a snapshot of status frames over a time window. Each frame contains goal_id, accept_stamp, status_code and status text. |
ros2_cancel_action_goal | Cancel a ROS 2 action goal via '/<action>/cancel_goal' (action_msgs/srv/CancelGoal). You can cancel a specific goal by goal_id_hex or cancel all matching goals using cancel_all=True. Optionally limit cancellation to goals accepted before a given stamp (sec/nanosec). Before **every** use of this tool, the agent should ensure the target action exists (e.g., by calling 'ros2_list_actions'). |
ros2_get_message_fields | Returns the fields of a given ROS2 message type. |
ros2_get_messages_stored_in_influx_data_base | Calls the ROS2 ‘/get_messages’ service to retrieve past messages from a topic for data which is stored in InfluxDB. Check if the /get_messages service is available before calling. |
ros2_interface_list | Returns a list of available ROS 2 interfaces. |
ros2_list_actions | List all available ROS 2 actions with their types and request fields. This tool queries the current ROS graph to discover active action servers and returns a structured description for each action. |
ros2_send_action_goal | Send a goal to a ROS 2 action by name and action type using provided goal fields. Before **every** use of this tool, the agent must call 'ros2_list_actions' and 'ros2_interface_list' to ensure the latest available actions and types are known. Optionally wait for the result with a timeout. |
ros2_service_call | Call a ROS 2 service by name and type using provided fields. Will ask the user to confirm if some fields are missing unless 'force_call' is set to True. Before **every** use of this tool, the agent must call 'ros2 service list' and 'ros2 interface list' to ensure the latest interface information is available. |
ros2_service_list | Returns a list of available ROS 2 services and their request fields. |
ros2_topic_list | Returns a list of available ROS 2 topics and their types. |
ros2_topic_publish | Publish a message to a ROS 2 topic by name and message type using provided field values. Supports single publish (default) or continuous publishing at a specified frequency for a duration. Before **every** use of this tool, the agent must call 'ros2_topic_list' and 'ros2_interface_list' to ensure the latest available topics and message types are known. |
ros2_topic_subscribe | Subscribe to a ROS 2 topic by name collecting messages for a given time or count limit. Before **every** use of this tool, the agent must call 'ros2_topic_list' to ensure it has the latest available topics |