Skip to main content
MCP server CX Codex

three.ws Audio — Claude Code MCP server: voice and lipsync for 3D

Gives a 3D agent a voice and a moving face: speech synthesis, transcription, per-frame lipsync and a motion-capture clip library from any MCP client.

Install into Claude Code · Platform CLI All methods and platforms ↓
claude mcp add --env THREE_WS_BASE=<THREE_WS_BASE> --env THREE_WS_API_KEY=<THREE_WS_API_KEY> --env THREE_WS_TIMEOUT_MS=<THREE_WS_TIMEOUT_MS> --transport stdio audio-mcp -- npx -y @three-ws/audio-mcp
Open on GitHub

What three.ws Audio does

The server speaks stdio and exposes five tools. text_to_speech turns text into spoken audio and hands back a base64 data URL along with the voice and format actually used. speech_to_text transcribes a recording and returns the text, a confidence value and the duration. audio_to_face builds a per-frame ARKit blendshape track for lipsync. Two more tools page through the motion-capture library and pull a single clip by id with its full animation track.

Speech, recognition and lipsync run on free NVIDIA NIM models (Magpie TTS, Riva ASR, Audio2Face-3D); OpenAI serves as the paid fallback for synthesis. No key is needed to begin — point THREE_WS_BASE at a deployment and start. You need Node.js 20 or newer and network access to https://three.ws or your own deployment.

Every tool is read-only: it transforms input or reads library data and never changes platform state. Calls are not idempotent, since the audio bytes, transcript and catalog shift between requests. Browser-recorded WebM/Opus has to be decoded to WAV or PCM first, because neither Riva nor Audio2Face takes the WebM container. Recognition input is capped around 8 MB, so keep it to a spoken utterance rather than a long recording.

What it helps with

  • voice a line for a 3D character and get a ready audio file
  • turn a user's recorded speech into text
  • build a per-frame lipsync track for existing audio
  • find motion-capture clips of a given kind in the library
  • pull one clip's animation track to play back on an avatar

Example prompts for the agent

  • Speak the line "Hello, I'm your three.ws agent" with the nova voice and return the audio URL
  • Transcribe this wav file and show the text with its confidence
  • Build lipsync for the text "Watch my lips move" and return the track with the audio

How to install three.ws Audio

Platform CLI

claude mcp add --env THREE_WS_BASE=<THREE_WS_BASE> --env THREE_WS_API_KEY=<THREE_WS_API_KEY> --env THREE_WS_TIMEOUT_MS=<THREE_WS_TIMEOUT_MS> --transport stdio audio-mcp -- npx -y @three-ws/audio-mcp

Replace <…> with your own values

Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more

Questions about three.ws Audio

How do I install three.ws Audio in Claude Code?

One line: claude mcp add audio-mcp -e THREE_WS_API_KEY=<THREE_WS_API_KEY> -- npx -y @three-ws/audio-mcp. To also set the base URL and timeout, use `claude mcp add --env THREE_WS_BASE=<THREE_WS_BASE> --env THREE_WS_API_KEY=<THREE_WS_API_KEY> --env THREE_WS_TIMEOUT_MS=<THREE_WS_TIMEOUT_MS> --transport stdio audio-mcp -- npx -y @three-ws/audio-mcp`.

What does three.ws Audio do?

It is an MCP server with five tools: speech synthesis, transcription, per-frame lipsync, and two tools for the motion-capture library. It turns text or audio into voice and animation for a 3D agent.

Do I need an API key?

No, a key is not required to start. THREE_WS_API_KEY raises the metered limits on synthesis, recognition and lipsync calls and unlocks your own private mocap clips.

Similar MCP servers

All MCP servers for AI and ML →

From the same set29

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor