Echo MCP
Echo Realtime Gateway
Ein Python-asyncio-Dienst, der einen gerooteten Amazon Echo Dot in einen vollwertigen Speech-to-Speech-Asistenten verwandelt. Er verbindet das Gerät mit Google Gemini Live für nativen Audio-Eingang und -Ausgang und stelt die Echo-Hardware (LED-Ring, Lautstärke, Mikrofon, Lautsprecher, Musik) als MCP-Steueroberfläche bereit, die jeder lokele Agent steurn kann.
Der Echo läuft mit der Open-Source-Firmware EchoMuse als Hardware-Runtime. Dieses Reository ist das Gateway, mit dem sich das Gerät verbindet. Der Modell-API-Schlüssel verbleibt auf dem Host, der das Gateway ausführt, und wird nie auf das Gerät kopiert.
Datenpfad
EchoMuse mic (16 kHz PCM) -> gateway -> Gemini Live
Gemini Live audio (24 kHz) -> gateway -> EchoMuse speaker (48 kHz PCM)Die Cloud-Verbindung schläft, während das Gerät im Leerlauf ist. Ein Wakeword auf dem Gerät startet ein Gespräch, und die native Spracha-kitivitätserkennung auf der Modellseite übernimmt den Sprecherwechsel und das Barge-in.
Related MCP server: alexa-mcp
Funktionen
Nativer Audio-zu-Audio-Brücke zu Gemini Live, mit Vollduplex-Barge-in.
Wakeword-Start und automatisches Schließen im Leerlauf zurück in den energiesparenden Wake-Listening-Modus.
MCP-Steueroberfläche für den Echo-Körper: LED-Ring-Animtionen, Lautstärke, Musik, Mikrofon und Lautsprecher. Ein lokele Agent konsumiert diese über streamabes HTTP.
Austauschbare Spra-ch-Engines für die textbasierten Tools (echo_speak, echo_listen, echo_capture), standardmäßig lokele.
Musikwiedergabe auf dem Gerätelautsprecher, die unter der Asistentenstimme abgesenkt wird.
Live-Kontrollpanel (optional) zum Betrachten der Geräte-Telemetrie und zum Bearbeiten des Systems-Prompts zur Laufzeit.
Persona-Wechsel zur Laufzeit: das laufende Gespräch an eine andere Asistenten-Persona übergeben (mit eigenem Systems-Prompt und eigener Stimme), ohne das Gespräch zu unterbrechen.
Optionale Worker-Integration: Nur-Lese- und Aktions-Tools, die es dem Spra-chasistenten ermöglichen, Hintergrund-Agent-Worker zu sehen und zu steurn, pro Woker freigeschaltet.
Optionaer Gesprächsspeicher: Jedes abgeschlossene Gespräch wird aufgeeichnet, zu einem einzigen ausgerichteten Track gemischt und an einen Hintergrund-Woker übergeben, der eine gemeinsame Speicherdatei pflegt. Jede neue Sitzung wird aus dieser Datei gespeist, sodass der Kontet Neustarts übersteht.
Layout
echo_gateway/
main.py process entry point and server wiring
gateway.py device link, Gemini bridge lifecycle, personas, recording
gemini_bridge.py Gemini Live client (audio, tools, text injection)
echo_mcp.py MCP server exposing the Echo body as tools
orch_tools.py optional worker control tools (gated)
protocol.py EchoMuse wire frames (mic, speaker, control)
audio.py resampling and speaker packetizing
stt.py / tts.py pluggable speech engines for the text tools
telemetry.py event hub for the control panel
webui.py optional live control panel
assets/ earcon sounds (connect and disconnect)
tests/ unit tests for audio, protocol, MCP, and toolsVoraussetzungen
Python 3.12 oder neuer.
ffmpeg im PATH (für Musik-Dekodierung und Aufnahme-Mix).
Ein gerooteter Echo Dot mit EchoMuse-Firmware, der vom Gateway-Host aus erreichbar ist.
Ein Google-API-Schlüssel mit Zugriff auf ein Gemini-Live-Modell für den Gemini-Modus.
Einrichtung
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# edit .env: set GOOGLE_API_KEY and ECHO_MODE=gemini, adjust ports as neededAusführung
python -m echo_gateway.mainDas Gateway startet drei Dinge: den gerätezugewandten Server, mit dem der Echo sich verbindet, den MCP-HTTP-Endpunkt (Standart: 127.0.0.1:8778) und, wenn aktiviert, das K ontrollpanel. Richte den Echo auf den gerätezugewandten Server aus, sage das Wakeword und sprich.
Konfiguration
Die gesamte Konfiguration erfolgt über Umgebungsvariablen. Siehe .env.example für die vollständige Liste. Die wichtigen:
ECHO_MODEwählt die Brücke. Verwendegeminifür den Speech-to-Speech-Assistenten.diagnosticist ein Aufnahme- und Wiedergabetest, der keinen Schlüssel benötigt.GOOGLE_API_KEY,GEMINI_LIVE_MODEL,GEMINI_LIVE_VOICEkonfigurieren das Modell.ECHO_MCP_HTTP_HOST,ECHO_MCP_HTTP_PORT,ECHO_MCP_TOKENkonfigurieren den MCP-Endpunkt. Binde ihn an localhost, es sei denn, du setzt ein Token.ECHO_WAKE_ENABLED,ECHO_WAKE_PHRASE,ECHO_CONVERSATION_IDLE_SECONDSsteuern das Wake- und Leerlaufverhalten.
Schlüssel werden aus der Umgebung gelesen und nie in eine Datei in diesem Repository geschrieben. Die .env.example-Datei wird absichtlich mit leeren Schlüsselfeldern ausgeliefert.
MCP-Oberfläche
Das Gateway stellt einen MCP-Endpunkt bereit, der zu dem Echo weiterleitet, das die Verbindung aktuell besitzt. Ein lokaler Agent verbindet sich als gewöhnlicher MCP-Client damit und erhält Tools für den Gerätekörper, zum Beispiel echo_set_led_solid, echo_animate_led, echo_set_volume, echo_music_play, echo_music_stop, echo_get_state, plus die textbasierten echo_speak, echo_listen und echo_capture. Das native Audiomodell nutzt die Audio-Tools nicht, da es direkt hört und spricht.
Tests
python -m pytest tests -qHinweise
Die Worker-Integrations-Tools und die Gesprächsspeicher-Funktion erwarten eine begleitende Hintergrund-Agent-Runtime auf demselben Host. Sie sind optional, und das Gateway läuft auch ohne sie einwandfrei.
Der
sample-Musik-Button im Panel erwartet eine lokaleassets/sample.mp3. Diese Datei wird hier nicht mitgeliefert; lege eine beliebige MP3 unter diesem Pfad ab, um den Button zu aktivieren, oder ignoriere ihn.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Give your AI agent a memory and body on your iPhone: set alarms, ring your phone, over MCP.
MCP server exposing the AceDataCloud Fish Audio API (text-to-speech with voice conditioning)
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Hosted MCP server for live public-data APIs and Skills for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to control Home Assistant smart home devices via MCP, with zero external dependencies. Supports calling services, getting states, and looking up service parameters.51MIT
- AlicenseAqualityCmaintenanceAn MCP server that lets LLMs control Amazon Alexa devices, including announcements, text commands, smart-home group management, routines, and list operations.181MIT
- FlicenseNot gradedqualityDmaintenanceExposes MCP tools that enable remote LLMs to query local Docker containers, OS processes, and system services in real time.
- AlicenseNot gradedqualityAmaintenanceEnables cloud LLM agents to discover and invoke physical hardware on edge and IoT devices through standard MCP tools, bridging constrained device channels like UART, BLE, and Wi-Fi.3MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ankushsrivastava0626/echo-realtime-gateway'
If you have feedback or need assistance with the MCP directory API, please join our Discord server