three.ws Audio runs on your own machine — the client starts it, so there is no endpoint to ping. 92 installs a week from npm. Last commit 1 Nov 2026.
Text-to-speech, speech-to-text, audio-to-face lipsync, and motion-capture clips for 3D agents.
We read the source, 22 h ago · rules 995398eba69f
A value the model can set ends up inside a file or shell call. That is not a flaw by itself — for a terminal server it is the job — but it is where things go wrong when it is not.
await fs.writeFile(out, bytes);
Things with no honest explanation: a promise that contradicts the code, code that runs at install time while hiding what it does, data leaving the machine.
'http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token',
What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.
return redis.eval(ROLLBACK_FLOOR_LUA, [key], [String(delta)]);
filePath = path.join(ROOT_PUBLIC, url);
const child = spawn(command[0], command.slice(1), { stdio: 'inherit', shell: false });
UPDATE destination_whitelist_settings
SET cooldown_seconds = ${ch.cooldown_seconds ?? row.cooldown_seconds},
lambda: subprocess.run(
if (reset) { state.cursor = null; state.total = 0; grid.innerHTML = skeletons(); stateEl.hidden = true; }
'UklGRmQBAABXQVZFZm10IBAAAAABAAEAQB8AAIA+AAACABAAZGF0YUABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA…
const TELEGRAM_API = 'https://api.telegram.org';
import { existsSync, mkdirSync, readdirSync, statSync } from 'fs'
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
That is not a flaw by itself — but it is where things go wrong when it is not the job. We re-read this code on every release. Watch it and you hear from us the day another one appears.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add audio-mcp -- npx -y @three-ws/audio-mcp
{
"mcpServers": {
"audio-mcp": {
"command": "npx",
"args": [
"-y",
"@three-ws/audio-mcp"
]
}
}
}
[mcp_servers.audio-mcp]
command = "npx"
args = ["-y", "@three-ws/audio-mcp"]
{
"mcpServers": {
"audio-mcp": {
"command": "npx",
"args": [
"-y",
"@three-ws/audio-mcp"
]
}
}
}
{
"servers": {
"audio-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@three-ws/audio-mcp"
]
}
}
}
Optional settings from the registry entry, left out of the block above:
THREE_WS_BASE (Base URL of the three.ws API that serves the audio/animation endpoints. Override only when self-hosting or targeting a preview deployment), THREE_WS_API_KEY (Optional three.ws API key (bearer token). Raises the metered TTS/ASR/Audio2Face rate limits and unlocks your own private/unlisted motion-capture clips. Leave unset to use the public surface anonymously), THREE_WS_TIMEOUT_MS (Per-request timeout in milliseconds for the live audio/animation calls (synthesis and recognition are real upstream model calls)).
Give your AI agents the ability to listen. Microphone capture and speech-to-text.
Give your AI agents the ability to listen. Microphone capture and speech-to-text.
Speech-to-text transcription for AI agents.
Turn text or an image into an animation-ready 3D model (GLB): generate, rig, animate, retexture.
Free text/image to 3D for Grok Bot, plus your three.ws agents once signed in. Never spends.
Text to speech and transcription for any AI model: MP3 voiceovers, audio and YouTube to text.
Screenshot, diff, audit and sitemap-capture any web page — 5 MCP tools for AI agents.
AI voice generation: text-to-speech and voice cloning from any MCP client.
Answers built from our own checks of this server.