MCP Kokoro Tts logo

MCP Kokoro Tts

Local Kokoro-82M TTS MCP server that synthesizes and plays speech on your machine

Install MCP Kokoro Tts

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "mcp-kokoro-tts": {
      "command": "uvx",
      "args": [
        "mcp-kokoro-tts"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

uvx mcp-kokoro-tts

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 2d ago.

Overview

Tools2

What MCP Kokoro Tts lets your agent do. Expand a tool for its parameters.

Self-reported~35 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

6/6 checks healthy over the last 40d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 13d ago via OSV.dev · mcp-kokoro-tts (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

Last commit2mo agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Tools exposed2Callable tools this server registers over MCP.
Directory activity3 viewsConfig copies, upvotes, and views on AllMCPs.

From the project README

mcp-kokoro-tts

Local Kokoro-82M text-to-speech MCP server. When your agent calls speak, it synthesizes speech and plays it on your machine so you can hear the harness talk.

Works with any MCP client: Claude Desktop, Claude Code, Cursor, VS Code, opencode, Cline, and more. One short config block, no API keys — synthesis runs locally with Kokoro-82M.

On first start, the server provisions two things that are not on PyPI: the Kokoro-82M weights (~312 MB) into a local cache, and spaCy's English model (en_core_web_sm) into the same Python environment the server is running in. That second install is required because Kokoro's G2P pipeline loads spaCy, and a uvx / uv tool environment will not have the model unless this package puts it there.

Install

Add to your client's MCP config:

config.json
{
  "mcpServers": {
    "mcp-kokoro-tts": {
      "command": "uvx",
      "args": ["mcp-kokoro-tts"]
    }
  }
}

Requires Python 3.12 and uv. The first server start provisions Kokoro weights and the spaCy English model automatically.

To pre-download both without starting the MCP server:

bash
uvx mcp-kokoro-tts-provision

Make the agent call it

Add one line to your AGENTS.md / CLAUDE.md / system prompt:

Code
When the user wants to hear something spoken aloud, call the `speak` tool with clear, natural text.

Tools

speak

Synthesizes speech, writes a WAV file, and plays it locally.

ParamRequiredDescription
textyesText to speak (max 500 chars)
voicenoVoice id (e.g. af_heart) or absolute path to a .pt voice file
speednoPlayback speed multiplier (default 1.0)

list_voices

Lists available Kokoro voices and the currently selected default.

Choosing your voice

Resolution order:

  1. TTS_VOICE env var — voice id or absolute .pt path
  2. A file in the package voices/ folder whose name starts with default
  3. First .pt file in voices/ (alphabetical)
  4. The model's bundled af_heart voice
config.json
{
  "mcpServers": {
    "mcp-kokoro-tts": {
      "command": "uvx",
      "args": ["mcp-kokoro-tts"],
      "env": {
        "TTS_VOICE": "af_heart"
      }
    }
  }
}

Environment variables

VariableDescription
TTS_VOICEDefault voice id or absolute .pt path
TTS_MODEL_DIROverride model cache directory
TTS_HF_CACHE_DIROverride Hugging Face hub cache directory
TTS_OUTPUT_DIRDirectory for generated WAV files
TTS_PLAYSet to 0 to synthesize without local playback
HF_TOKENOptional Hugging Face token for faster downloads

Platforms

OSSynthesisPlayback
macOSyesafplay
Linuxyesffplay, paplay, or aplay
WindowsyesPowerShell MediaPlayer

espeak-ng is optional. English works without it; install it for better out-of-vocabulary coverage and some non-English languages.

Publishing

Tagging a version runs GitHub Actions publish.yml, which uploads to PyPI then the MCP Registry.

Publishing to PyPI uses the repo secret PYPI_TOKEN (a PyPI API token). GitHub trusted publishing can also be configured on the PyPI project; this workflow authenticates with the token so a first release does not depend on pending-publisher matching.

Release

  1. Bump version in pyproject.toml (and server.json if you are not tagging yet)
  2. Commit and tag: git tag v0.1.2 && git push origin v0.1.2
  3. GitHub Actions runs publish.yml:
    • release — typecheck, test, build wheel/sdist
    • pypi-publish — upload to PyPI with PYPI_TOKEN
    • mcp-registry — OIDC → MCP Registry (after PyPI succeeds)

Development

bash
cd mcps-tts
python3.12 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pyright
pytest
python -m mcp_kokoro_tts

License

Apache-2.0. See LICENSE and NOTICE. Kokoro-82M model weights are downloaded separately under their Apache-2.0 license.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about MCP Kokoro Tts

mcp-kokoro-tts is an MCP server that synthesizes speech locally with Kokoro-82M, writes a WAV file, and plays it on your machine. It exposes speak for text-to-speech and list_voices for available voices and the selected default. It works with MCP clients, requires Python 3.12 and uv, and needs no API keys.

Add mcp-kokoro-tts to your MCP configuration with command uvx and args ["mcp-kokoro-tts"]. The server requires Python 3.12 and uv. On first start, it automatically downloads the Kokoro-82M weights and spaCy English model into the local environment.

mcp-kokoro-tts provides speak and list_voices. The speak tool accepts text up to 500 characters, an optional voice ID or absolute .pt voice-file path, and an optional speed multiplier. It synthesizes speech, writes a WAV file, and plays it locally; list_voices shows available voices and the selected default.

Configure mcp-kokoro-tts with environment variables such as TTS_VOICE for the default voice, TTS_OUTPUT_DIR for generated WAV files, and TTS_PLAY=0 to synthesize without playback. TTS_MODEL_DIR and TTS_HF_CACHE_DIR override cache locations. The server supports macOS, Linux, and Windows playback.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMCP Kokoro Tts AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/mcp-kokoro-tts?style=directory)](https://allmcps.com/mcp/mcp-kokoro-tts)
HTML Embed
<a href="https://allmcps.com/mcp/mcp-kokoro-tts"><img src="https://allmcps.com/api/badge/mcp-kokoro-tts?style=directory" alt="MCP Kokoro Tts on AllMCPs" /></a>