Skip to main content

MCP agent layer for robots — 49 tools, skills, fleet, vision AI for any ROS 2 robot

Project description

ros-agent

ros-agent

PyPI Python License: MIT MCP Tools ROS 2 Stars

The MCP agent layer for robots. 49 tools that let Claude, Cursor, or any MCP client control a real ROS 2 robot. Plugin skills for autonomous behaviors. Real-time vision (YOLO + CLIP + JEPA). MuJoCo simulation. Fleet management. Two pip dependencies in the core — no ROS install required on your machine.

Use any AI client you want — Claude Desktop, Claude Code, Cursor, or any MCP-compatible host. Add one line to your config and your AI gets camera feeds, velocity control, sensor data, autonomous patrol, person following, object search, and full ROS 2 introspection. Switch robots by changing an IP address.

MCP-native from the ground up49 tools, 8 guided prompts, 6 live resources, and a topic template — all exposed through standard MCP. HTTP+SSE and stdio transports. Works with any client that speaks the protocol.
Skills plugin system5 built-in skills (compose, inspect, follow-me, patrol, scan-detect). Write your own in 10 lines of Python. 4 loading paths: built-in, pip packages, filesystem, project config. Every skill becomes MCP tools automatically.
Real-time vision stackYOLO object detection + tracking, CLIP zero-shot search ("find the red cup"), JEPA self-supervised attention heatmaps, Cosmos 3 world model (16B, MLX 4-bit on Mac). Toggle models live from the UI.
Any ROS 2 robot, no ROS neededConnects over rosbridge WebSocket — no ROS installation on the host. Also supports direct DDS via CycloneDDS for zero-latency local transport. Tested with Unitree Go2, G1, TurtleBot, drones, arms.
Built-in Claude + Gemini agentStreaming tool use with dynamic ROS context injection. Safety velocity clamping. Persistent cross-session memory. Behavioral identity via SOUL.md.
Simulation and fleetMuJoCo headless physics with trained ONNX locomotion policies. Fleet dashboard for multi-robot management. Blueprint system for robot configurations. CLIP-indexed spatial memory with geo-search.

Quick Install

pip install ros-agent
ros-agent

That's it. Browser opens at http://127.0.0.1:8765. Webcam starts with live detection.

From source

git clone https://github.com/publu/RoboRun.git
cd RoboRun
pip install -e .
ros-agent

npx (Node 18+)

npx ros-agent

Optional extras

pip install ros-agent[vision]   # YOLO + CLIP + OpenCV
pip install ros-agent[ros]      # Direct DDS (CycloneDDS)
pip install ros-agent[gemini]   # Gemini agent
pip install ros-agent[all]      # Everything

Connect Your AI

Claude Desktop / Cursor (HTTP)

{
  "mcpServers": {
    "ros-agent": {
      "type": "http",
      "url": "http://localhost:8765/mcp"
    }
  }
}

Claude Code / CLI clients (stdio)

{
  "mcpServers": {
    "ros-agent": {
      "command": "ros-agent-mcp"
    }
  }
}

Your AI immediately gets 49 tools for robot control, 8 guided prompts for common workflows, and 6 live resources for introspection.


What Your AI Gets

49 Tools

30 built-in ROS tools (topic discovery, pub/sub, service calls, action goals, parameter management, camera snapshots, depth images, velocity commands, node/topic/service/action introspection) plus 19 skill tools from 5 built-in skills.

8 Prompts

Prompt What it does
explore-robot Guided discovery of a robot's capabilities
safety-check Pre-operation safety verification
environment-scan Full environment survey with camera + sensors
teach-waypoints Interactive waypoint teaching for patrol
debug-topic Step-by-step topic diagnosis
quick-start First-time onboarding in 60 seconds
fleet-sweep Multi-robot status check
build-workflow Create a reusable tool chain

6 Resources

Resource Description
ros-agent://server-info Server version, uptime, capabilities
ros-agent://skills Loaded skills and their tools
ros-agent://ros-graph Live ROS topic/service/node graph
ros-agent://workflows Saved compose workflows
ros-agent://prompts-catalog All available prompts
ros-agent://soul Agent behavioral identity
ros-agent://topic/{path} Live read from any ROS topic (template)

Skills

Plugin-based. Drop a Python file, get new MCP tools.

Built-in                            → ships with ros-agent
ROBORUN_SKILL_PACKAGES=pkg1,pkg2    → pip packages
ROBORUN_SKILL_PATHS=/path/to/dir    → filesystem directories
.roborun/skills.yaml                → project-level config

Built-in Skills

Skill Tools What it does
compose 5 Chain tools into reusable workflows — run_sequence, save_workflow, run_workflow
inspect 3 robot_brief (one-call overview), watch_topic (conditional monitor), diff_state (graph changes)
follow_me 1 Visual person-following with P-control on camera feed
patrol 5 Autonomous waypoint patrol loop with configurable dwell times
scan_detect 2 Rotate-and-detect object search using YOLO + CLIP fallback

Write Your Own

SKILL_TOOLS = [
    {"name": "my_tool", "description": "Does a thing",
     "inputSchema": {"type": "object", "properties": {"x": {"type": "string"}}}}
]

def handle(name: str, args: dict) -> str:
    if name == "my_tool":
        return f"Got: {args.get('x')}"

Point ROBORUN_SKILL_PATHS at the directory. Done.


Connect a Robot

ros-agent connects to any robot running rosbridge_server over WebSocket. No ROS installation needed on your machine.

# On the robot
ros2 launch rosbridge_server rosbridge_websocket_launch.xml

# From ros-agent — set IP in the UI, or:
curl -X POST http://localhost:8765/api/ros/connect \
  -d '{"host":"192.168.1.100"}'

Direct DDS transport also available for zero-latency local use:

pip install ros-agent[ros]   # adds CycloneDDS + ros_tap

Configuration

Variable Default Description
ROBORUN_PORT 8765 Server port
ROBOT_IP Robot IP (can also set in UI)
ANTHROPIC_API_KEY Enables Claude agent
GEMINI_API_KEY Enables Gemini agent
ROBORUN_SKILL_PACKAGES Additional skill packages
ROBORUN_SKILL_PATHS Additional skill directories
ROBORUN_MAX_LINEAR_VEL 1.0 Safety velocity limit (m/s)
ROBORUN_MAX_ANGULAR_VEL 1.5 Safety angular limit (rad/s)

Contributing

git clone https://github.com/publu/RoboRun.git
cd RoboRun
pip install -e ".[all]"
python -m roborun.server  # internal module name

License

MIT — see LICENSE.

Built by Hashing Systems.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ros_agent-0.9.0.tar.gz (134.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ros_agent-0.9.0-py3-none-any.whl (149.9 kB view details)

Uploaded Python 3

File details

Details for the file ros_agent-0.9.0.tar.gz.

File metadata

  • Download URL: ros_agent-0.9.0.tar.gz
  • Upload date:
  • Size: 134.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for ros_agent-0.9.0.tar.gz
Algorithm Hash digest
SHA256 3a68bc8d7ab097dd44c0d4db58a329a37983940cabb0f85e5394ccb740227860
MD5 da82eb8c3894ef4314ff67f28b1a1446
BLAKE2b-256 74ada8c21b166dbd071bf18c6dde0caf48690e47986cbf14a6f24b2ee2f70c9a

See more details on using hashes here.

File details

Details for the file ros_agent-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: ros_agent-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 149.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for ros_agent-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 96f9eda79cb59532d173cea33004bf10a0a3803a16cd77ec40132a879221e786
MD5 82c6ec9e2424f628a345f5261e559f87
BLAKE2b-256 a8f968d04f27e9e0740dfcdbb21b765794841f843ecca15ee9ee6317607b3e7c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page