ROS MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| set_websocket_ipC | Set the IP and port for the WebSocket connection. |
| get_topicsC | Fetch available topics from the ROS bridge. Example: get_topics() |
| get_topic_typeC | Get the message type for a specific topic. Example: get_topic_type('/cmd_vel') |
| get_message_detailsB | Get the complete structure/definition of a message type. Example: get_message_details('geometry_msgs/Twist') |
| get_publishers_for_topicC | Get list of nodes that are publishing to a specific topic. Example: get_publishers_for_topic('/cmd_vel') |
| get_subscribers_for_topicC | Get list of nodes that are subscribed to a specific topic. Example: get_subscribers_for_topic('/cmd_vel') |
| subscribe_onceA | Subscribe to a ROS topic and return the first message received. Example: subscribe_once(topic='/cmd_vel', msg_type='geometry_msgs/msg/TwistStamped') |
| publish_onceC | Publish a single message to a ROS topic. Example: publish_once(topic='/cmd_vel', msg_type='geometry_msgs/msg/TwistStamped', msg={'linear': {'x': 1.0}}) |
| subscribe_for_durationB | Subscribe to a topic for a duration and collect messages. Example: subscribe_for_duration(topic='/cmd_vel', msg_type='geometry_msgs/msg/TwistStamped', duration=5, max_messages=10) |
| publish_for_durationsC | Publish a sequence of messages with delays. Example: publish_for_durations(topic='/cmd_vel', msg_type='geometry_msgs/msg/TwistStamped', messages=[{'linear': {'x': 1.0}}, {'linear': {'x': 0.0}}], durations=[1, 2]) |
| get_servicesB | Get list of all available ROS services. Example: get_services() |
| get_service_typeC | Get the service type for a specific service. Example: get_service_type('/rosapi/topics') |
| get_service_detailsC | Get complete service details including request and response structures. Example: get_service_details('my_package/CustomService') |
| get_service_providersC | Get list of nodes that provide a specific service. Example: get_service_providers('/rosapi/topics') |
| inspect_all_servicesB | Get comprehensive information about all services including types and providers. Example: inspect_all_services() |
| call_serviceC | Call a ROS service with specified request data. Example: call_service('/rosapi/topics', 'rosapi/Topics', {}) |
| ping_robotA | Ping a robot's IP address and check if a specific port is open. A successful ping to the IP but not the port can indicate that ROSbridge is not running. Example: ping_robot(ip='192.168.1.100', port=9090) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
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/robotmcp/ros-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server