Skip to main content

MCP server for Supertonic 3 on-device text-to-speech

Project description

supertonic3-mcp

Local, on-device TTS for Claude & Cursor, powered by Supertonic 3. No API key. No cloud. An internal tool open-sourced by Halozen — we build AI compliance intelligence for construction.

Not affiliated with Supertone Inc.

Expose speak, list_voices, and list_expressions to Claude Desktop, Cursor, or any MCP client over STDIO.

Quick start (TTHW < 3 min)

git clone https://github.com/nextic-tech/supertonic3-mcp && cd supertonic3-mcp
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"

# Optional: pre-download model for offline use (~400MB)
supertonic3-mcp preload

# Run MCP server (STDIO)
supertonic3-mcp

Cursor MCP config

Add to .cursor/mcp.json (or Cursor Settings → MCP):

{
  "mcpServers": {
    "supertonic3": {
      "command": "/absolute/path/to/supertonic-tts/.venv/bin/supertonic3-mcp",
      "args": []
    }
  }
}

First server start downloads the Supertonic model into ~/.cache/supertonic3/ unless you ran preload first.

Tools

Tool Description
speak Synthesize text to a WAV file; returns absolute path + metadata
list_voices Built-in voices (voice_id, gender)
list_expressions Inline tags (<laugh>, <breath>, …) with descriptions

speak parameters

  • text — 1–5000 characters; expression tags allowed
  • voice_id — optional (M1, F1, …)
  • language — ISO 639-1 (en, ko, ja, …). For non-English text, always set language=. Defaults to en.
  • speed0.7 to 2.0 (SDK range)
  • play — if true, plays audio on this machine via afplay (macOS) or aplay (Linux). Unsupported on Windows.

WAV files are written to /tmp/supertonic_*.wav (macOS/Linux). Windows is not supported for synthesis output paths in v1.0.

Example return:

Audio saved to /tmp/supertonic_abc123.wav (1.4s, voice: M1, lang: en)

Performance (this repo)

Measured on Apple M3, supertonic 1.3.1 — see benchmark/results.md.

Scenario Median FSL
Warm (model loaded) ~0.82s
Cold (new TTS() per call) ~0.81s

FSL = time from synthesize() through WAV written (no streaming, no play=True).

Re-run: python benchmark/run.py

Offline use

supertonic3-mcp preload

Downloads ONNX weights atomically to ~/.cache/supertonic3/ and prints SHA256 checksums. After preload, synthesis works without network access.

Development

pip install -e ".[dev]"
pytest

Tests mock the Supertonic SDK (no network in CI).

Coming in v1.1

  • listen() — Whisper speech-to-text (pip install supertonic3-mcp[stt])
  • SSE transport + Docker image for remote agents
  • PyPI publish workflow

License

MIT (this package). Supertonic SDK is MIT; model weights use OpenRAIL-M.

Disclaimer

AI-generated speech is not a substitute for certified safety, legal, or medical guidance. For demonstration purposes only.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

supertonic3_mcp-1.0.0.tar.gz (130.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

supertonic3_mcp-1.0.0-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file supertonic3_mcp-1.0.0.tar.gz.

File metadata

  • Download URL: supertonic3_mcp-1.0.0.tar.gz
  • Upload date:
  • Size: 130.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.22 {"installer":{"name":"uv","version":"0.11.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for supertonic3_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 aecd4893a9f730975a9b8cbd8efcd295b9f0708414c0ddd47109ad38720e7581
MD5 1ce1cbd40364b6ccb60556df104e7cb8
BLAKE2b-256 a04e4be197e9e0fcac5b156d96e7ece9edbae4c804abd8bb22c1d85d1d543c06

See more details on using hashes here.

File details

Details for the file supertonic3_mcp-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: supertonic3_mcp-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.22 {"installer":{"name":"uv","version":"0.11.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for supertonic3_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3689a517c9c5d8a000c9783bdfc47bda8a2e00ac2dd177e736d91b719b299d4f
MD5 91539add9e504c20a9e133c86e041df4
BLAKE2b-256 6945515442727b94a4e150aca390dbb4c70a98085c90e49bec23007fabf03cb0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page