rosout_mcp
A Model Context Protocol (MCP) server that loads ROS2 rosbag files containing log information (/rosout), builds an in-memory database, and provides SQL-like querying capabilities.
claude mcp add --transport stdio araitaiga-rosout_mcp docker run -i --rm --net=host --mount type=bind,src=<LOCAL_BAG_DIR>,dst=<LOCAL_BAG_DIR>,readonly araitaiga/rosout-mcp:latest
How to use
This MCP server loads ROS2 rosbag files containing /rosout data into an in-memory SQLite database and exposes SQL-like querying capabilities via the MCP protocol. Once running, you can use the available MCP tools to load rosbag data, query logs with filters such as time range, node name, log level, and message content, inspect database statistics, and list unique node names. Typical workflow: prepare a directory with your rosbag files, start the MCP server (e.g., via Docker using the provided mcp.json configuration), then use the MCP inspector or client to issue commands like rosbag_load to ingest bags, db_search to filter logs, db_status to monitor the database, node_list to discover nodes, and db_init to reset the in-memory database. The inspector UI will be available at the default address (http://localhost:6274) to test available tools and queries.
How to install
Prerequisites: Docker (for the recommended run method), or uv (uvx) with Python 3.10+ if you prefer local execution. Also ensure ROS2 is installed if you plan to generate or interpret rosbag data during testing.
Option A - Run via Docker (recommended):
- Install Docker from https://www.docker.com/
- Prepare a local directory with your rosbag files and note its path as <LOCAL_BAG_DIR>.
- Create a mcp.json (or use the provided configuration) and ensure the rosbag directory path is mounted in read-only mode.
- Run the container using the configuration:
# Example using the provided docker command in mcp_config
# Replace <LOCAL_BAG_DIR> with the actual path
docker run -i --rm --net=host --mount type=bind,src=<LOCAL_BAG_DIR>,dst=<LOCAL_BAG_DIR>,readonly araitaiga/rosout-mcp:latest
Option B - Run via uvx (Python):
- Install UV following the instructions at https://astral.sh/uv/install.sh
- Ensure Python 3.10+ (Humble) or 3.12+ ( Jazzy) is available and ROS2 is installed.
- Start the MCP server by pulling from GitHub and using uvx with the proper options, for example:
uvx --python 3.12 --from git+https://github.com/araitaiga/rosout_mcp rosout-mcp
- If you are testing with Jazzy (Python 3.12) or Humble (Python 3.10), adjust the --python flag accordingly.
Option C - Local development from source (Dockerfile or inspector):
- Clone the repository and install dependencies.
- Build and run using the local Dockerfile or install the package and start the inspector as described in the project docs.
Additional notes
Tips and common considerations:
- The default Docker command assumes you will mount a directory containing rosbag files at <LOCAL_BAG_DIR> and access the MCP inspector at http://localhost:6274.
- The rosbag data is loaded into an in-memory SQLite DB; use db_init to clear and reinitialize if needed.
- When using uvx, ensure the --from parameter points to the rosout_mcp repository URL and the final argument is the name of the MCP module (rosout-mcp).
- If you run inside a constrained environment, you may need to adjust network settings (e.g., --net=host) or port exposure for the inspector.
- The tools available under Available MCP Tools include: rosbag_load, db_search, db_status, node_list, db_init.
- Replace placeholders such as <LOCAL_BAG_DIR> with real paths before running.
- The README mentions both a Docker Hub image (araitaiga/rosout-mcp:latest) and the ability to run from source; choose the method that best fits your workflow.
Related MCP Servers
ros
Connect AI models like Claude & GPT with robots using MCP and ROS.
mcp-neo4j
Neo4j Labs Model Context Protocol servers
Gitingest
mcp server for gitingest
unitree-go2
The Unitree Go2 MCP Server is a server built on the MCP that enables users to control the Unitree Go2 robot using natural language commands interpreted by a LLM.
nav2_mcp_server
MCP server that provides tools and resources to control and monitor robots using Nav2.
ros2_mcp
Advanced MCP Server ROS 2 bridging AI agents straight into robotics