Reachy Mini MCP
Enables control of Pollen Robotics Reachy Mini robot through high-level emotional expressions and low-level motor commands, with support for vision, audio, and text-to-speech capabilities.
README
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.
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, Mika, Valentin |
DEEPGRAM_API_KEY |
Yes* | - | TTS (fallback) + STT |
REACHY_DAEMON_URL |
No | http://localhost:8321/api |
Daemon API endpoint |
*Required 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:
mjpythonrequired 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
- Reachy Mini SDK by Pollen Robotics (Apache 2.0)
- Grok Voice integration pattern from dillera's reachy_mini_conversation_app
Links
- Reachy Mini SDK (Apache 2.0)
- FastMCP
- MCP Protocol
- mVara
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.
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.
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
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.
E2B
Using MCP to run code via e2b.