Skip to main content
Glama
Yutarop
by Yutarop

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ROS_DOMAIN_IDNoROS domain ID for communication between MCP server and local machine. Default is 0 if not set.0

Capabilities

Features and capabilities supported by this server

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

Tools

Functions exposed to the LLM to take actions

NameDescription
list_topicsA

Displays a list of currently accessible ROS2 topics.

Example: Used when the user asks "What topics are available?"
check_topic_statusA

Checks whether a specific ROS2 topic is actively publishing messages.

Args:
    topic_name: The name of the ROS2 topic to check

Example: Used when the user asks "Is the topic /scan publishing data?"
find_ros2_packageA

Searches for available ROS 2 packages that match a given keyword.

Args:
    pkg_name: Partial or full name of the package to search for

Example: "Are there any packages related to turtle?" → ros2 pkg list | grep turtle
run_ros2_executableB

Runs a ROS 2 executable from a specified package.

Args:
    package: Name of the ROS2 package
    executable: Name of the executable to run

Example: "Start the turtlesim node" → ros2 run turtlesim turtlesim_node
list_ros2_nodesA

Lists currently running ROS 2 nodes.

Example: "Which nodes are currently running?" → ros2 node list
get_ros2_node_infoC

Shows detailed information about a specific ROS 2 node.

Args:
    node_name: Name of the node (e.g., /turtlesim)

Example: "Tell me about node /turtlesim" → ros2 node info /turtlesim
publish_ros2_topicA

Publishes a message to a specific ROS 2 topic for a given duration (in seconds).

Args:
    topic: Topic name to publish to (e.g., "/cmd_vel")
    msg_type: ROS 2 message type (e.g., "geometry_msgs/msg/Twist")
    msg_content: Message to send (e.g., '{linear: {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.5}}')
    duration: Duration in seconds to continue publishing

Example:
    topic: "/cmd_vel"
    msg_type: "geometry_msgs/msg/Twist"
    msg_content: '{linear: {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.5}}'
    duration: 5
check_ros2_topic_hzB

Displays the publishing frequency (Hz) of a given ROS 2 topic.

Args:
    topic_name: Name of the topic (e.g., /scan)

Example: "Check the message rate on /scan" → ros2 topic hz /scan
list_ros2_servicesA

Lists available ROS 2 services.

Example: No arguments needed. Just returns the list.
call_ros2_serviceA
Calls a ROS 2 service with the specified name, type, and optional request.

Args:
    service_name: Name of the service to call.
    srv_type: Type of the service (e.g., "std_srvs/srv/Empty").
    request: Request payload in string format (e.g., "{r: 255, g: 0, b: 0, width: 2, off: 0}").
             If the service type does not require a request (e.g., std_srvs/srv/Empty),
             this can be omitted or set to None.

Example:
    Call a service without a request:
        service_name = "/clear"
        srv_type = "std_srvs/srv/Empty"

    Call a service with a request:
        service_name = "/turtle1/set_pen"
        srv_type = "turtlesim/srv/SetPen"
        request = "{r: 255, g: 0, b: 0, width: 2, off: 0}"
list_ros2_actionsA

Lists available ROS 2 actions.

Example: No arguments needed. Just returns the list.
send_ros2_action_goalB

Sends a goal to a ROS 2 action.

Args:
    action_name: Name of the action
    action_type: Action type (e.g., example_interfaces/action/Fibonacci)
    goal: Goal message (e.g., "{order: 5}")

Example:
    action_name: "/fibonacci"
    action_type: "example_interfaces/action/Fibonacci"
    goal: "{order: 5}"
run_ros2_doctorA

Runs ros2 doctor to check ROS 2 environment setup and issues.

Example: No arguments needed. Just runs the doctor tool.
show_ros2_interfaceB

Shows the interface (definition) for a given ROS 2 message or service type.

Args:
    msg_type: The interface type to show (e.g., std_msgs/msg/String)

Example: msg_type: "std_msgs/msg/String"
launch_rqt_graphA

Launch rqt_graph GUI tool via WebSocket server.

Example: Launch rqt_graph to visualize ROS2 node connections
launch_rvizB

Launch RViz2 GUI tool via WebSocket server.

Example: Launch RViz2 for visualization
launch_turtlesimA

Launch turtlesim GUI application via WebSocket server.

Example: Launch turtlesim for turtle simulation
launch_gazeboA

Launch Gazebo simulation environment via WebSocket server.

Example: Launch Gazebo for physics simulation
launch_turtlebot3_worldB

Launch TurtleBot3 world in Gazebo via WebSocket server.

Example: Launch TurtleBot3 in a world environment for simulation
launch_turtlebot3_empty_worldB

Launch TurtleBot3 in empty world in Gazebo via WebSocket server.

Example: Launch TurtleBot3 in an empty world for simulation
get_topic_infoB

Get detailed information about a specific ROS2 topic.

Args:
    topic_name: Name of the topic to get info about

Example: Get information about /cmd_vel topic
debug_ros2_environmentB

Debug ROS 2 environment variables and setup.

echo_ros2_topicB

Echo messages from a ROS2 topic for a specified number of messages.

Args:
    topic_name: Name of the topic to echo
    count: Number of messages to capture (default: 1)

Example: Echo 5 messages from /scan topic
clean_all_ros2_nodesA

Kills all currently running ROS 2 and Gazebo related processes to clean the environment.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Yutarop/ros-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server