rviz-mcp
MCP server enabling AI agents to control RViz2 displays, fixed frames, and views, with offline mock support for CI and demos.
README
rviz-mcp
rviz-mcp is an MCP server so AI agents can control RViz2 displays, fixed frames, and views — with a full offline mock for CI and demos (no ROS/RViz install required).
Product: mergeos-bounties/rviz-mcp
Highlights
| Capability | Description |
|---|---|
| Offline mock | Display tree, fixed frame, view controller |
| Live bridge | Optional HTTP/file bridge when RVIZ_MCP_MODE=live |
| MCP stdio | Cursor / Claude / Grok host integration |
| CLI | status · demo · doctor · serve · call |
Quick start
cd rviz-mcp
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e ".[dev]"
rviz-mcp demo
rviz-mcp demo --profile nav
rviz-mcp doctor
rviz-mcp status
pytest -q
rviz-mcp serve
Modes
| Mode | Env | Behavior |
|---|---|---|
| mock (default) | RVIZ_MCP_MODE=mock |
In-memory RViz config |
| live | RVIZ_MCP_MODE=live + bridge URL/file |
Forwards to local RViz bridge |
Tools
| Tool | Purpose |
|---|---|
rviz_doctor |
Connectivity / config health |
status (CLI) |
Fixed frame, display count, mode, version (--json supported) |
rviz_seed_demo |
Reset mock displays (Grid, TF, RobotModel) |
rviz_list_displays |
Current display tree |
rviz_add_display / rviz_remove_display |
Manage displays |
rviz_list_panels |
Current panel layout |
rviz_add_panel / rviz_remove_panel |
Manage mock UI panels |
rviz_set_fixed_frame |
Fixed frame (e.g. map, odom) |
rviz_set_view |
View controller type + look-at |
rviz_load_config / rviz_save_config |
Config path (mock records path) |
rviz_screenshot |
Mock screenshot path |
Demo profiles
The default mock seed includes Grid, TF, and RobotModel. The navigation profile adds Map, LaserScan, and GlobalPath displays for nav-stack demos:
rviz-mcp demo --profile nav
Resources
| URI | Purpose |
|---|---|
rviz://config |
Read-only snapshot of the current config: fixed_frame, view, displays (with display_count), panels, and config_path. Served from the mock display tree offline. |
Example payload:
{
"ok": true,
"mode": "mock",
"fixed_frame": "map",
"view": { "class": "rviz_default_plugins/Orbit", "distance": 10.0 },
"displays": [
{ "name": "Grid", "class": "rviz_default_plugins/Grid", "enabled": true, "topic": "" }
],
"display_count": 3,
"panels": [
{ "class": "rviz_common/Displays", "name": "Displays", "dock": "left", "visible": true },
{ "class": "rviz_common/Views", "name": "Views", "dock": "right", "visible": true },
{ "class": "rviz_common/Time", "name": "Time", "dock": "bottom", "visible": true }
],
"config_path": "mock://default.rviz"
}
Examples
- examples/cursor_mcp.json
- examples/claude_desktop_config.json
- docs/LIVE_BRIDGE.md for live bridge load_config and screenshot endpoints
Development
ruff check src tests
pytest -q
rviz-mcp tools list
MergeOS bounties
Star → claim issue → PR to master → MRG 25–200.
See mergeos.
License
MIT · MergeOS / ThanhTrucSolutions
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.