three.ws Audio

io.github.nirholas由 GitHub 帳號 nirholas 發布v0.1.3更新於 Oct 24, 2026

Text-to-speech, speech-to-text, audio-to-face lipsync, and motion-capture clips for 3D agents.

已驗證STDIO僅桌面媒體與設計AI 與機器學習

概覽

AI 產生的概覽

一個本機 stdio MCP 伺服器,為 3D 智慧代理提供文字轉語音、語音轉文字、音訊驅動臉部嘴型同步以及動作捕捉片段瀏覽能力。

可以做什麼
將文字合成為語音,回傳 base64 音訊資料 URL 及音色與格式資訊,使用免費 NVIDIA 模型並可選用 OpenAI 備援。將 base64 音訊轉寫為文字,附帶信心度與時長。把文字或音訊轉換為逐格 ARKit 混合形狀嘴型軌道,也可同時產生音訊。依類型與游標分頁瀏覽動作捕捉片段庫,並依 id 取得單一片段的完整逐格動畫軌道。
適用情境
適合在建置或驅動需要聲音、語音輸入、嘴部動畫,或需要已錄製的臉部、姿態、手部與 VMC 動作資料的 3D 虛擬角色或智慧代理時使用,可從 Claude Code、Claude Desktop、Cursor 等任意 MCP 用戶端接入。
執行需求
透過 npx 以 stdio 在本機執行,需要 Node.js 20 或更新版本,並能存取 three.ws API。選用環境變數:THREE_WS_BASE 指向其他部署,THREE_WS_API_KEY 提高速率上限並解鎖私有片段,THREE_WS_TIMEOUT_MS 設定單次請求逾時。無需金鑰即可開始使用。
安裝前請注意
音訊與文字會傳送到 three.ws 服務及其上游模型供應商進行合成、辨識與嘴型處理。THREE_WS_API_KEY 是 bearer 權杖,可提高計費介面的速率上限,使用可能產生費用;OpenAI 語音備援被描述為付費。辨識輸入上限約 8 MB,瀏覽器錄製的 WebM/Opus 需先轉換為 WAV 或 PCM。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 three.ws Audio,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[three.ws]

@three-ws/audio-mcp

Give a 3D AI agent a voice and a face — text-to-speech, speech-to-text, audio-to-face lipsync, and the motion-capture clip library, from any MCP client.

[npm] [license] [node] [MCP Registry] [three.ws]


A Model Context Protocol server that exposes the three.ws voice and animation pipeline over stdio. Make an avatar speak, let users talk back, turn that speech into a per-frame lipsync track, and browse the recorded motion-capture library — everything you need to drive a 3D agent's mouth and movement.

The speech, recognition, and lipsync lanes run on free NVIDIA NIM models (Magpie TTS, Riva ASR, Audio2Face-3D), with OpenAI as the paid TTS backstop — the same provider policy as the three.ws platform. No key required to start; point THREE_WS_BASE at a deployment and go.

Install

bash
npm install @three-ws/audio-mcp

Or run with npx (no install):

bash
npx @three-ws/audio-mcp

Quick start

Claude Code, one line:

bash
claude mcp add audio -- npx -y @three-ws/audio-mcp

Claude Desktop / Cursor (claude_desktop_config.json or mcp.json):

json
{	"mcpServers": {		"audio": {			"command": "npx",			"args": ["-y", "@three-ws/audio-mcp"]		}	}}

Inspect the surface with the MCP Inspector:

bash
npx -y @modelcontextprotocol/inspector npx @three-ws/audio-mcp

Tools

ToolTypeWhat it does
text_to_speechread-onlySynthesize spoken audio from text; returns a base64 audio data URL plus the real voice/format/mime. Free Magpie, OpenAI backstop.
speech_to_textread-onlyTranscribe spoken audio (base64 wav/pcm/flac/ogg) with the free NVIDIA Riva recognizer; returns text, confidence, duration.
audio_to_faceread-onlyTurn speech (text you pass, or audio you have) into a per-frame ARKit blendshape lipsync track via Audio2Face-3D.
motion_capture_clipsread-onlyBrowse the motion-capture clip library — recorded face/pose/hand/VMC tracks — with kind filter and cursor pagination.
motion_capture_clipread-onlyFetch one clip by id including its full per-frame animation track to play back on an avatar.

All five tools are read-only: they transform input (synthesize/recognize/animate) or read live library data, never mutating platform state. None are idempotent — the audio bytes, transcript, and catalog move between calls.

Input parameters

text_to_speech — text (required, 1–4096 chars), voice (default nova), format (mp3|opus|aac|flac|wav|pcm, default mp3), model (OpenAI backstop only), language (BCP-47, default en-US), speed (0.5–2.0, OpenAI lane only).

speech_to_text — audio (required, base64 or data: URL), format (wav|pcm|flac|ogg, default wav), language (BCP-47, default en-US), sampleRate (Hz, PCM only), words (bool), model (advanced).

audio_to_face — text or audio (one required), format (wav|pcm, audio path), sampleRate (PCM only), voice / language (text path).

motion_capture_clips — kind (face|pose|hand|vmc), include_public (bool, authenticated only), limit (1–100, default 50), cursor.

motion_capture_clip — id (required, clip UUID).

Examples

jsonc
// text_to_speech> { "text": "Hello, I'm your three.ws agent.", "voice": "nova" }{  "ok": true,  "voice": "Magpie-Multilingual.EN-US.Aria",  "model": "magpie-tts-multilingual",  "format": "wav",  "mime": "audio/wav",  "sizeBytes": 274476,  "audio": "data:audio/wav;base64,UklGR…"}
jsonc
// audio_to_face (text path — returns audio + the lipsync track together)> { "text": "Watch my lips move." }{  "ok": true,  "audio": { "base64": "UklGR…", "contentType": "audio/wav", "format": "wav" },  "animation": {    "fps": 30,    "blendShapeNames": ["jawOpen", "mouthClose", "…"],    "durationSec": 1.9,    "frames": [ { "t": 0.0, "w": [0.0, 0.1, /* … */] } ]  }}

A face frame is { t, w }: t = seconds from clip start, w = weights in the order of blendShapeNames (ARKit-52 naming). Play the audio and sample the track by the audio element's currentTime.

Notes on payloads

Audio crosses the wire as base64 (TTS returns it, ASR/A2F accept it). Both the synthesis input (text) and the recognition input (audio, ~8 MB cap) are bounded by the platform — keep clips to a spoken utterance rather than long recordings. For lipsync on audio you already have, pass wav/pcm directly; browser-recorded WebM/Opus must be decoded to WAV or PCM first (Riva and Audio2Face do not accept the WebM container).

Requirements

  • Node.js >= 20.
  • Network access to https://three.ws (or your own THREE_WS_BASE).

Environment variables

VariableRequiredDefaultPurpose
THREE_WS_BASEnohttps://three.wsWhich deployment to talk to.
THREE_WS_API_KEYno—Bearer token. Raises the metered TTS/ASR/A2F rate limits and unlocks your own private mocap clips.
THREE_WS_TIMEOUT_MSno60000Per-request timeout for the live model calls.

Links


Part of the three.ws SDK suite — 3D AI agents, on-chain identity, and agent payments.
Website · Changelog · GitHub

來源:packages/audio-mcp/README.md,提交 c8f2cde

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v0.1.3最新Oct 10, 2026
  2. v0.1.2Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分