Skip to main content
Glama

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 tools

Voraussetzungen

  • 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 needed

Ausführung

python -m echo_gateway.main

Das 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_MODE wählt die Brücke. Verwende gemini für den Speech-to-Speech-Assistenten. diagnostic ist ein Aufnahme- und Wiedergabetest, der keinen Schlüssel benötigt.

  • GOOGLE_API_KEY, GEMINI_LIVE_MODEL, GEMINI_LIVE_VOICE konfigurieren das Modell.

  • ECHO_MCP_HTTP_HOST, ECHO_MCP_HTTP_PORT, ECHO_MCP_TOKEN konfigurieren den MCP-Endpunkt. Binde ihn an localhost, es sei denn, du setzt ein Token.

  • ECHO_WAKE_ENABLED, ECHO_WAKE_PHRASE, ECHO_CONVERSATION_IDLE_SECONDS steuern 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 -q

Hinweise

  • 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 lokale assets/sample.mp3. Diese Datei wird hier nicht mitgeliefert; lege eine beliebige MP3 unter diesem Pfad ab, um den Button zu aktivieren, oder ignoriere ihn.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

0Releases (12mo)
Commit activity

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.

View all MCP Connectors

Related MCP Servers

View all related MCP servers

Latest Blog Posts

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