Skip to content

jackccrawford/reachy-mini-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reachy Mini MCP

Give your AI a body.

This MCP server lets AI systems control Pollen Robotics' Reachy Mini robot—speak, listen, see, and express emotions through physical movement. Works with Claude, GPT, Grok, or any MCP-compatible AI.

7 tools. 30 minutes to first demo. Zero robotics expertise required.

https://reachy-mini-mcp-969sxyq.gamma.site/


For AI Systems

Token-efficient tool reference for programmatic use:

Tool Args Purpose
speak text, listen_after=0 Voice + gesture, optionally listen after
listen duration=3 STT via Deepgram Nova-2
snap - Camera capture (base64 JPEG)
show emotion, move="" Express emotion or play recorded move
look roll, pitch, yaw, z, duration Head positioning (degrees)
rest mode="neutral" neutral / sleep / wake
discover library="emotions" Find available recorded moves

speak()

Supports embedded move markers for choreographed speech:

speak("[move:curious1] What's this? [move:surprised1] Oh wow!")

Moves fire right before their speech chunk. Use listen_after=5 to hear response.

show()

Built-in emotions (fast, local): neutral, curious, uncertain, recognition, joy, thinking, listening, agreeing, disagreeing, sleepy, surprised, focused

Recorded moves (81 from Pollen):

show(move="loving1")
show(move="fear1")
show(move="serenity1")

Use discover() to see all available moves.


Quick Start

# Install
cd reachy-mini-mcp
poetry install

# Set API key (required for speak/listen)
export DEEPGRAM_API_KEY=your_key_here

# Start simulator daemon
mjpython -m reachy_mini.daemon.app.main --sim --scene minimal

# Run MCP server
poetry run python src/server.py

Architecture

AI (Claude/GPT/Grok) → MCP Server → SDK → Daemon → Robot/Simulator

7 tools following Miller's Law—fits in working memory.

Voice Providers

Provider Status Use Case
Grok Voice ✅ Supported xAI's expressive voice (Eve, Ara, Leo, Rex, Sal)
Deepgram ✅ Supported TTS (Aura 2) + STT (Nova 2)

Grok Voice is used automatically when XAI_API_KEY is set. Falls back to Deepgram otherwise.

MCP Config

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "reachy-mini": {
      "command": "poetry",
      "args": ["-C", "/path/to/reachy-mini-mcp", "run", "python", "src/server.py"],
      "env": {
        "DEEPGRAM_API_KEY": "your_key_here"
      }
    }
  }
}

Claude Code

~/.claude.json:

{
  "mcpServers": {
    "reachy-mini": {
      "command": "poetry",
      "args": ["-C", "/path/to/reachy-mini-mcp", "run", "python", "src/server.py"],
      "env": {
        "DEEPGRAM_API_KEY": "your_key_here"
      }
    }
  }
}

Environment Variables

Variable Required Default Purpose
XAI_API_KEY No - Grok Voice TTS (preferred)
GROK_VOICE No eve Grok voice: ara, eve, leo, rex, sal
DEEPGRAM_API_KEY Yes* - STT (always required for listen) + TTS fallback
REACHY_DAEMON_URL No http://localhost:8321/api Daemon API endpoint

*Required for listen(). Also required for speak() if XAI_API_KEY not set

Requirements

  • Python 3.10+
  • reachy-mini SDK (installed via poetry)
  • MuJoCo (for simulation)
  • Deepgram API key (for speak/listen)

Hardware Notes

  • Simulator: mjpython required on macOS for MuJoCo visualization
  • Real hardware: Same MCP server, daemon auto-connects
  • Port conflicts: Zenoh uses 7447, daemon uses 8321 by default

License

MIT License - see LICENSE

Acknowledgments

Links

About

Reachy Mini MCP | Give your AI a body. This MCP server lets AI systems control the Pollen Robotics Reachy Mini robot. | Speak, listen, see you, and express emotions through physical movement and voice. | Works with Claude, Windsurf, Cursor, or any MCP-compatible AI. | Zero robotics expertise required.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages