Get the FREE Ultimate OpenClaw Setup Guide →

echokit_server

Open Source Voice Agent Platform

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio second-state-echokit_server docker run -i echokit_server_image \
  --env RUST_LOG="info|debug (set to control logs)" \
  --env ECHOKIT_CONFIG="path/to/config.toml (optional; defaults to server's config.toml)"

How to use

EchoKit Server acts as the central hub that coordinates communication between an EchoKit device and AI services. It exposes an end-to-end pipeline (ASR → LLM → TTS) with pluggable models and endpoints, allowing you to customize prompts, manage speech/voice configurations, and extend functionality via MCP servers. You can run the server locally and point the device or client UI to its WebSocket and HTTP endpoints, then experiment with different ASR/LLM/TTS backends or deploy remote inference servers for scalability. The MCP integration enables adding extra capabilities by wiring additional services into the pipeline, so you can tailor the system to your use case, such as specialized prompts, alternative voice personas, or domain-specific processing.

How to install

Prerequisites:

  • Docker (optional for containerized runs) or a Rust toolchain if building from source
  • Git
  • Access to a suitable EchoKit device or the EchoKit firmware if testing locally

Install steps:

  1. Clone the repository:
git clone https://github.com/second-state/echokit_server
cd echokit_server
  1. Build from source (Rust/Cargo):
# If building natively
cargo build --release

# Run after building
nohup target/release/echokit_server &
  1. Alternative: run via Docker (image must be prepared with echokit_server):
docker pull echokit_server_image
export RUST_LOG=debug
nohup docker run -i echokit_server_image &
  1. Configure the server by editing config.toml (VAD, ASR, LLM, TTS, prompts, MCP servers). See the examples directory for reference:
edit config.toml
  1. Verify the server is running by visiting the local web page or using the chat endpoint:

Prerequisites recap:

  • A Rust toolchain or Docker to run the server
  • A configured config.toml with your desired AI services and MCP components
  • A connected EchoKit device or emulator to test the workflow

Additional notes

Tips and common issues:

  • If building on ARM64 (aarch64), ensure FP16 cross-compile settings are correct; see the .cargo/config.toml notes in the repository. For native builds on aarch64 you may need to set RUSTFLAGS="-C target-feature=+fp16".
  • The config.toml controls all service endpoints (ASR, LLM, TTS) and the MCP server integrations. Start with the provided examples and adjust to your environment.
  • The hello.wav welcome prompt is sent to the device on connect; replace or update this file if you want a different onboarding message.
  • When using MCP servers, verify network access and authentication for any external APIs you integrate.
  • Logging can be adjusted via RUST_LOG to help diagnose issues during development or in production.

Related MCP Servers

Sponsor this space

Reach thousands of developers