Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ROS_BRIDGE_HOSTNoHostname or IP address of the wrosbridge gRPC server.
ROS_BRIDGE_PORTNoPort of the wrosbridge gRPC server.
REMOTE_ROS_CONFIG_PATHNoOptional path to a configuration file, overriding the default configuration path.

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
ros2_health_checkA

Check the connection and serving health of the remote wrosbridge gateway.

ros2_get_nodesA

List all active ROS2 nodes with namespace, pub/sub topics, and services.

ros2_get_topicsA

List all available ROS2 topics along with their publisher and subscriber nodes.

ros2_get_servicesA

List all active ROS2 services available in the graph.

ros2_get_parametersB

Get parameter values for a specific ROS2 node.

    Args:
        node_name: Full name of the node (e.g. '/robot/diff_drive_controller')
        names: List of parameter names to read
    
ros2_set_parametersC

Set runtime parameters for a specific ROS2 node.

    Args:
        node_name: Full name of the node (e.g. '/robot/diff_drive_controller')
        parameters: Key-value dictionary of parameters to update
    
ros2_lookup_tfA

Lookup geometric coordinate transform between two frames from ROS2 TF tree.

    Args:
        target_frame: Target coordinate frame (e.g. 'odom' or 'map')
        source_frame: Source coordinate frame (e.g. 'base_link' or 'camera_link')
        timeout_sec: Timeout in seconds
    
ros2_topic_publishB

Publish a message to a ROS2 topic.

    Args:
        topic: ROS2 topic name (e.g. '/robot/cmd_vel')
        topic_type: Message type string (e.g. 'geometry_msgs/msg/Twist')
        data: Message content as JSON object/dict
    
ros2_topic_echoB

Capture and return messages from a ROS2 topic.

    Args:
        topic: Topic name to listen to (e.g. '/robot/cmd_vel')
        topic_type: Message type (e.g. 'geometry_msgs/msg/Twist')
        count: Number of messages to capture (default 1)
        timeout_sec: Maximum time to wait in seconds
    
ros2_call_serviceA

Call a ROS2 service and receive the response.

    Args:
        service: Service name (e.g. '/add_two_ints' or '/robot/reset_odometry')
        service_type: Service type (e.g. 'example_interfaces/srv/AddTwoInts')
        request_data: Request parameters as JSON object/dict
        timeout_sec: Maximum wait time for service response
    
ros2_action_send_goalA

Send a goal to a ROS2 Action server and optionally wait for result.

    Args:
        action_name: Name of the action (e.g. '/navigate_to_pose')
        action_type: Action type identifier (e.g. 'nav2_msgs/action/NavigateToPose')
        goal_data: Goal definition as JSON dict
        wait_for_result: Whether to block until goal completes or times out
        timeout_sec: Maximum timeout to wait for result
    
ros2_action_cancel_goalB

Cancel an executing ROS2 action goal.

    Args:
        action_name: Name of the action
        goal_id: Identifier of the goal to cancel
    
ros2_assert_topic_publishedA

Assert that a message matching an optional condition has been published to a topic.

    Args:
        topic: Topic to check (e.g. '/robot/cmd_vel')
        topic_type: Message type string (e.g. 'geometry_msgs/msg/Twist')
        condition_expr: Python expression evaluating 'msg' (e.g. "msg['linear']['x'] > 0.5")
        timeout_sec: Max wait duration in seconds
    
ros2_measure_topic_hzA

Measure publishing frequency (Hz) and period statistics of a topic.

    Args:
        topic: ROS2 topic to measure
        topic_type: Type of message
        sample_count: Target number of samples to record
        timeout_sec: Maximum collection time
    
ros2_mock_publish_sequenceB

Publish a sequence of mock messages to stimulate and test subscriber nodes.

    Args:
        topic: Target topic name
        topic_type: Message type identifier
        sequence: List of JSON message objects to publish in order
        interval_sec: Delay between each published message
    
ros2_record_and_inspectC

Record topic messages for a period and return summary statistics.

    Args:
        topic: Topic to record
        topic_type: Message type
        duration_sec: Recording duration in seconds
    

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
resource_healthGet live health status of wrosbridge gateway.
resource_nodesGet current list of active ROS2 nodes and connections.
resource_topicsGet current list of active ROS2 topics.

TDQS

A3.5/5.0

Scored across 16 tools

Disambiguation4/5

Most tools target distinct ROS2 resources and operations—topics, services, actions, parameters, TF, and graph introspection are clearly separated. Minor overlap exists between ros2_topic_publish and ros2_mock_publish_sequence, and between ros2_record_and_inspect and ros2_measure_topic_hz, but descriptions clarify their different intents.

Naming Consistency3/5

All tool names share a ros2_ prefix and use lowercase snake_case, making them readable and recognizable. However, the internal structure is inconsistent: some are verb-first like ros2_get_nodes and ros2_set_parameters, while others are resource-first like ros2_topic_publish and ros2_action_send_goal, and a few like ros2_record_and_inspect or ros2_health_check break the pattern entirely.

Tool Count4/5

Sixteen tools is slightly above the typical well-scoped range, but each tool covers a distinguishable ROS2 interaction or inspection capability. The extra testing-oriented tools like assert, measure, and mock-publish add value without feeling redundant.

Completeness4/5

The server covers the major ROS2 interaction surfaces: graph introspection, topics, services, actions, parameters, TF, and health checking. Notable gaps include no way to list message/service/action type definitions and no action goal status listing, but these are workable limitations rather than fatal omissions.

Maintenance

ActivityMaintained
ResponsivenessNo issues