GK

giannisanni/kokoro-tts-mcp

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

10 stars 4 forks 品質 76 トレンド 22MIT

MCP server for Kokoro text-to-speech, with adjustable voices/speed and an optional OpenAI-compatible (kokoro-fastapi) backend.

概要

A Model Context Protocol (MCP) server that provides text-to-speech capabilities using the Kokoro TTS engine. This server exposes TTS functionality through MCP tools, making it easy to integrate speech synthesis into your applications. - Python 3.10 or higher - uv package manager 1. First, install the uv package manager: 2. Clone this repository and install dependencies: - Text-to-speech synthesis with customizable voices - Adjustable speech speed - Support for saving audio to files or direct playback - Cross-platform audio playback support (Windows, macOS, Linux) - Optional OpenAI-compatible remote backend (e.g. kokoro-fastapi) to offload synthesis to a GPU box The server provides a single MCP tool generate_speech with the following parameters: - text (required): The text to convert to speech - voice (optional): Voice to use for synthesis (default: "af_heart") - speed (optional): Speech speed multiplier (default: 1.

README

以下は原文 README の抜粋です。原文を見る。

Kokoro TTS MCP Server

A Model Context Protocol (MCP) server that provides text-to-speech capabilities using the Kokoro TTS engine. This server exposes TTS functionality through MCP tools, making it easy to integrate speech synthesis into your applications.

Prerequisites

  • Python 3.10 or higher
  • uv package manager

Installation

  1. First, install the uv package manager:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. Clone this repository and install dependencies:
uv venv
source .venv/bin/activate  # On Windows, use: .venv\Scripts\activate
uv pip install .

Features

  • Text-to-speech synthesis with customizable voices
  • Adjustable speech speed
  • Support for saving audio to files or direct playback
  • Cross-platform audio playback support (Windows, macOS, Linux)
  • Optional OpenAI-compatible remote backend (e.g. kokoro-fastapi) to offload synthesis to a GPU box

Usage

The server provides a single MCP tool generate_speech with the following parameters:

  • text (required): The text to convert to speech
  • voice (optional): Voice to use for synthesis (default: “af_heart”)
  • speed (optional): Speech speed multiplier (default: 1.0)
  • save_path (optional): Directory to save audio files
  • play_audio (optional): Whether to play the audio immediately (default: False)

Example Usage

from mcp.client import Client

async with Client() as client:
    await client.connect("kokoro-tts")
    
    # Generate and play speech
    result = await client.call_tool(
        "generate_speech",
        {
            "text": "Hello, world!",
            "voice": "af_heart",
            "speed": 1.0,
            "play_audio": True
        }
    )

Remote backend (OpenAI-compatible)

By default the server runs Kokoro locally. If you already run an OpenAI-compatible TTS endpoint such as kokoro-fastapi (handy for running on a GPU), point the server at it with environment variables — no local torch/kokoro needed:

Variable Default Description
KOKORO_BASE_URL (unset) OpenAI-compatible base URL, e.g. http://localhost:8880/v1. When set, synthesis is sent here instead of running locally.
KOKORO_API_KEY not-needed Bearer token, if your endpoint requires one.
KOKORO_MODEL kokoro Model name passed to the endpoint.

Under the hood this calls POST {KOKORO_BASE_URL}/audio/speech with the standard OpenAI payload (model, input, voice, speed, response_format: wav).

Docker

docker build -t kokoro-tts-mcp .
docker run --rm -i kokoro-tts-mcp

To use a remote backend instead of bundling Kokoro:

docker run --rm -i -e KOKORO_BASE_URL=http://host.docker.internal:8880/v1 kokoro-tts-mcp

Dependencies

  • kokoro >= 0.8.4
  • mcp[cli] >= 1.3.0
  • soundfile >= 0.13.1
  • httpx >= 0.27.0

Platform Support

GitHub で README 全文を見る

インストール

docker run --rm -i kokoro-tts-mcp
MCP 初心者?mcpskill.org のガイドから始めましょう →

設定

{ "mcpServers": { "kokoro-tts": { "command": "/Users/giannisan/pinokio/bin/miniconda/bin/uv", "args": [ "--directory", "/Users/giannisan/Documents/Cline/MCP/kokoro-tts-mcp", "run", "tts-mcp.py" ] } } }