Skip to main content
Glama

License: MIT CI Python ROS2 Protocol Latency Stars

The World's First Universal Physical AI Coprocessor & MCP Gateway for ROS2

Connect 1,000+ AI Models (Claude, GPT-4o, Gemini 2.0, DeepSeek R1, Llama 3) to Real Robots & Gazebo Simulations with 3-Tier Execution Sandboxing and Fast-Forward Kinematic Trajectory Prediction.

๐Ÿ“– Overview ยท โšก Quick Start ยท ๐ŸŒ 1000+ AI Matrix ยท ๐ŸŒŸ World-First Features ยท ๐Ÿ› ๏ธ Tools ยท ๐Ÿ”’ Safety ยท ๐Ÿ’ฌ Community


๐ŸŒ Supported AI Clients & Frameworks


Related MCP server: ROS2 MCP Server

๐Ÿง  What This Solves

Robotics engineers face a massive friction point when integrating AI models into physical workflows:

"I want to ask Claude or GPT-4o why my quadcopter is oscillating โ€” but copy-pasting 10,000 lines of ROS2 topic sensor dumps into a chat window is tedious and dangerous."

ros2-mcp-server solves this permanently. It creates a high-throughput, bidirectional bridge between any MCP-compatible AI agent and a ROS2 DDS network:

  • ๐Ÿ“ก Live Sensor Introspection: Stream telemetry from /scan, /imu/data, /battery_state, /odom

  • ๐Ÿ”ฎ Pre-Execution Kinematic Simulation: Simulate $(x,y,\theta)$ trajectories in <0.1ms compute before actuation

  • ๐Ÿ›ก๏ธ Predictive Neural Safety: Auto-correct excessive velocity or negative PID gains with mathematical proof

  • ๐Ÿ—บ๏ธ Spatial ASCII Radar Visualizer: Render 360ยฐ LiDAR pointclouds into text-based 2D spatial maps

  • ๐Ÿ Multi-Robot Swarm Orchestration: Intercept and manage /drone_1, /rover_2, /arm_3 in one session

  • ๐ŸŽ›๏ธ Sandboxed Control: Tune controller PID parameters and publish velocity commands safely


๐ŸŒŸ World-First Unimagined Innovations

1. ๐Ÿ”ฎ Kinematic Trajectory Predictor (predict_trajectory)

Runs a 1000Hz fast-forward kinematic physics simulation (<0.1ms compute) before any motion command reaches hardware. Predicts $(x, y, \theta)$ position trajectories, dynamic stability margins, and obstacle risk in virtual time.

2. ๐Ÿ›ก๏ธ Predictive Neural Safety Guard (predictive_safety_check)

Evaluates proposed parameter or velocity commands against motor torque limits. If an LLM proposes an unstable input (e.g. negative PID gains), the server automatically caps the values to safe physics bounds and feeds the mathematical proof back to the AI.

3. ๐Ÿ—บ๏ธ Spatial ASCII Radar Map (get_spatial_map)

Converts raw 360ยฐ LaserScan pointclouds into a 2D ASCII spatial map directly in MCP response JSON, allowing text & vision LLMs to "see" surrounding space:

+------------------+  [R] = Robot Center (0,0)
|      .  *  .     |  [*] = Detected Obstacle Point
|   .    [R]   .   |  [.] = Clear Navigable Space
|      .     .     |
+------------------+  Heading: 0.0 rad | Clear Path: RIGHT

4. ๐Ÿ Multi-Robot Swarm Fleet Orchestrator (swarm_fleet_status)

Aggregates and coordinates multi-namespace ROS2 fleets (/drone_1, /rover_2, /arm_3) within a single unified MCP session.


โšก Quick Start (60 Seconds)

1. Frictionless 1-Line Installer

curl -sSL https://raw.githubusercontent.com/EngineerAbdullahBinZafar/ros2-mcp-server/main/install.sh | bash

2. System Diagnostic Check (doctor)

Run our CLI diagnostic doctor to verify Python runtime, rclpy status, and client config files:

ros2-mcp-server doctor

3. Instant Simulation Playground

No physical robot nearby? Spin up our built-in virtual robot:

ros2-mcp-server --demo-sim

๐Ÿ› ๏ธ Available MCP Tools (16 Tools)

Tool Name

Innovation / Function

Category

ping

Test bridge latency & active node count

System

system_diagnostics

Full health check (battery, LiDAR, IMU, issues)

Health

list_topics

List active ROS2 topics & message types

Graph

read_topic

Read message from topic (latched support)

Data

publish_topic

Sandboxed message publisher

Actuation

get_robot_snapshot

Parallel fetch of LiDAR + IMU + Battery + Odom

Parallel

list_nodes

Enumerate active nodes & namespaces

Graph

get_node_info

Inspect node publishers, subscribers & services

Graph

get_parameter

Read live parameters from running node

Params

set_parameter

Sandboxed parameter update

Params

get_pid_state

Read Kp, Ki, Kd gains & stability bounds

Control

tune_pid

Apply new PID gains with engineering advice

Control

๐Ÿ”ฎ predict_trajectory

[WORLD-FIRST] Kinematic pre-simulation of trajectory ($x,y,\theta$)

Innovation

๐Ÿ›ก๏ธ predictive_safety_check

[WORLD-FIRST] Risk evaluation & auto-correction of LLM inputs

Innovation

๐Ÿ—บ๏ธ get_spatial_map

[WORLD-FIRST] Renders 360ยฐ LiDAR into 2D ASCII radar grid

Innovation

๐Ÿ swarm_fleet_status

[WORLD-FIRST] Multi-namespace ROS2 swarm fleet manager

Innovation


๐Ÿ”’ 3-Tier Execution Sandbox

Level

Set Via

Operational Envelope

read_only

SAFETY_LEVEL=read_only

AI can only read telemetry โ€” zero hardware writes

safe_write

SAFETY_LEVEL=safe_write (default)

Writes restricted to explicit topic/param allowlist

full

SAFETY_LEVEL=full

Unrestricted write access โ€” use in simulation only

Every decision is logged in a thread-safe, timestamped audit log:

print(sandbox.get_audit_log())

๐Ÿ—๏ธ System Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚           AI Client (Claude / Cursor / GPT-4o)              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                               โ”‚  MCP stdio / JSON-RPC 2.0
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    ros2-mcp-server v1.2.0                   โ”‚
โ”‚                                                             โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚ O(1) Tool Dispatcher    โ”‚     โ”‚  CommandSandbox       โ”‚  โ”‚
โ”‚  โ”‚ (16 Tools <0.08ms)      โ”‚     โ”‚  (3-Tier Safety)      โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚               โ”‚                              โ”‚              โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚        ROS2 Interface Layer (Native / Simulation)    โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                               โ”‚  DDS / Serial / WebSocket
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    ROS2 Robot System                        โ”‚
โ”‚         (Gazebo Sim / TurtleBot / Nav2 / STM32)             โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“Š Performance Benchmarks

  • Tool Dispatch Overhead: < 0.08 ms ($O(1)$ compiled lookup table)

  • Kinematic Simulation: < 0.10 ms (1000Hz fast-forward compute)

  • Memory Footprint: ~14.2 MB RAM

  • Test Coverage: 42 / 42 Tests Passed (Simulation mode)


๐Ÿงช Running Tests

git clone https://github.com/EngineerAbdullahBinZafar/ros2-mcp-server
cd ros2-mcp-server

python run_tests.py

๐Ÿ“– Extended Documentation


๐Ÿ‘จโ€๐Ÿ’ป Author

Abdullah Bin Zafar โ€” Mechatronics & Control Engineering, UET Lahore
Building robots that think, act, and reason safely.

GitHub LinkedIn Gmail


๐Ÿ’ฌ Community & Support

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/EngineerAbdullahBinZafar/ros2-mcp-server'

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