Reachy Mini

Provides MCP endpoints to control Reachy Mini robots, including dance, emotions, head movement, camera capture, head tracking, local TTS, and motion control.
  • python

12

GitHub Stars

python

Language

4 months ago

First Indexed

2 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": {
    "pixelml-reachy-mini-mcp": {
      "command": "reachy-mini-mcp",
      "args": [],
      "env": {
        "REACHY_MINI_ROBOT_NAME": "reachy-mini",
        "REACHY_MINI_ENABLE_CAMERA": "true"
      }
    }
  }
}

You can control Reachy Mini robots through an MCP (Model Context Protocol) server, enabling natural language interactions via clients like Claude Desktop. This server exposes commands to make the robot dance, express emotions, move its head, capture camera images, track faces, speak locally, and manage motion status—all while running entirely on your machine once installed.

How to use

You interact with the Reachy Mini MCP server by connecting an MCP client and issuing high‑level actions. Use choreographies to run dances, trigger pre‑recorded emotions, and adjust where the robot looks. Turn on and off head tracking, capture camera images when enabled, and listen to the robot speak with on‑device, real‑time text‑to‑speech. You can stop all motions immediately and query the current status to monitor the robot’s state and pose.

How to install

Prerequisites: you need Python 3.10 or newer and a working Python environment. You will also rely on the Reachy Mini SDK and a running Reachy Mini daemon or simulation.

# Clone the project
git clone https://github.com/pixelml/reachy-mini-mcp.git
cd reachy-mini-mcp

# Create a Python virtual environment (Python 3.10)
uv venv --python 3.10
source .venv/bin/activate

# Install library dependencies
uv pip install -e .

# Optional: add camera support
uv pip install -e ".[camera]"
# Optional: add speech support for on-device TTS
uv pip install -e ".[speech]"

Configuration and runtime notes

Configure environment variables to tailor the server to your robot and hardware setup. The following options are available and commonly used:

  • REACHY_MINI_ROBOT_NAME: sets the robot name for discovery and identification (default: reachy-mini). Use a name that matches your robot or your Zenoh network configuration.

  • REACHY_MINI_ENABLE_CAMERA: enables camera capture; set to true to enable image capture features.

  • REACHY_MINI_HEAD_TRACKING_ENABLED: Start with head tracking enabled; set to true to have head tracking active on startup.

Claude Code CLI and Claude Desktop integration

To add the MCP server to Claude Code CLI, you build from source and register the server with stdio transport. You can also enable camera support and customize the robot name via environment variables.

Available tools and actions (endpoints)

You can access the following actions through the MCP server:

  • simple_nod

  • head_tilt_roll

  • side_to_side_sway

  • dizzy_spin

  • stumble_and_recover

  • interwoven_spirals

  • sharp_side_tilt

  • side_peekaboo

  • yeah_nod

  • uh_huh_tilt

  • neck_recoil

  • chin_lead

  • groovy_sway_and_roll

  • chicken_peck

  • side_glance_flick

  • polyrhythm_combo

  • grid_snap

  • pendulum_swing

  • jackson_square

  • left

  • right

  • up

  • down

  • front

  • alba

  • marius

  • javert

  • jean

  • fantine

  • cosette

  • eponine

  • azelma

Running the server directly

You can start the MCP server directly from the command line using the reachy-mini-mcp executable.

reachy-mini-mcp

Available tools

dance

Play a dance move on the robot. Parameters: move (string, optional): dance name or 'random'; repeat (integer, optional): number of repeats.

play_emotion

Play a pre-recorded emotion. Parameter: emotion (string, required).

move_head

Move the robot’s head in a direction. Parameters: direction (string, required): one of 'left','right','up','down','front'; duration (float, optional): movement duration in seconds.

camera

Capture an image from the robot’s camera. Returns: Base64-encoded JPEG. Requires camera to be enabled.

head_tracking

Toggle head tracking mode. Parameter: enabled (boolean, required).

stop_motion

Stop all current and queued motions immediately.

speak

Speak using real-time local TTS with natural head movement. Parameters: text (string, required); voice (string, optional). Available voices: alba, marius, javert, jean, fantine, cosette, eponine, azelma.

get_status

Get current robot status including connection state, queue size, and current pose.

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