Rosbridge

A Model Context Protocol (MCP) server that provides comprehensive tools for interacting with ROS (Robot Operating System) via rosbridge WebSocket connection. This Python implementation enables AI assistants to monitor and control ROS systems through a standardized interface.
  • python

0

GitHub Stars

python

Language

7 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "takanarishimbo-rosbridge-mcp-server": {
      "command": "uvx",
      "args": [
        "takanarishimbo-rosbridge-mcp-server"
      ],
      "env": {
        "ROSBRIDGE_HOST": "localhost",
        "ROSBRIDGE_PORT": "9090"
      }
    }
  }
}

You can control and monitor ROS through a dedicated MCP server that exposes ROS topics, services, and actions over a standardized interface. This enables AI assistants to interact with your ROS system in a consistent, scriptable way while keeping ROS-specific details encapsulated in a single gateway.

How to use

You use an MCP client to connect to the Rosbridge MCP Server and perform operations such as listing topics, publishing messages, calling services, and sending/monitoring action goals. Start by launching the MCP server locally or against a remote rosbridge instance, then issue tool commands to interact with ROS resources. Use the available tools to inspect ROS entities, publish updates, or trigger actions as part of your automation or autonomous behaviors.

How to install

Prerequisites: you need Python and the MCP runtime tooling installed, along with the uvx runtime used to start MCP servers.

Steps to set up and run the Rosbridge MCP Server locally:

# 1) Install or ensure you have uvx available
# 2) Start the Rosbridge MCP Server via uvx as shown in the configuration examples

Additional configuration and notes

The Rosbridge MCP Server exposes its configuration through a set of example MCP connections. You can run the server in several modes depending on where your rosbridge is located.

Example configurations shown here assume you run the MCP server with the uvx runtime and provide a package name for the rosbridge MCP server.

Basic usage runs against a local rosbridge instance. You can also customize host and port to point to a remote rosbridge or to a host in your network. These examples demonstrate how to set up different connections.

Commands and examples for the Rosbridge MCP Server

{
  "mcpServers": {
    "rosbridge": {
      "command": "uvx",
      "args": ["takanarishimbo-rosbridge-mcp-server"]
    }
  }
}

Remote host and custom host variations

{
  "mcpServers": {
    "rosbridge": {
      "command": "uvx",
      "args": ["takanarishimbo-rosbridge-mcp-server"],
      "env": {
        "ROSBRIDGE_HOST": "192.168.1.100",
        "ROSBRIDGE_PORT": "9090"
      }
    }
  }
}

Remote ROS system example

{
  "mcpServers": {
    "rosbridge": {
      "command": "uvx",
      "args": ["rosbridge-mcp-server"],
      "env": {
        "ROSBRIDGE_HOST": "ros-robot.local",
        "ROSBRIDGE_PORT": "9091"
      }
    }
  }
}

Available tools

list_topics

List all available ROS topics with their types.

get_topic_info

Get detailed information about a specific topic including publishers and subscribers.

publish_topic

Publish a message to a ROS topic with a specified message type and content.

list_services

List all available ROS services.

publish_service

Call a ROS service with a given request payload and optional timeout.

list_actions

List all available ROS action servers.

publish_action

Send a goal to a ROS action server and wait for the result or timeout.

cancel_action

Cancel a running ROS action goal by ID or all goals if no ID is provided.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational