Kokoro TTS

Um servidor que fornece capacidades de conversão de texto em fala usando o mecanismo Kokoro TTS.

Documentação

Servidor MCP Kokoro TTS

Um servidor Model Context Protocol (MCP) que fornece capacidades de texto-para-fala usando o mecanismo Kokoro TTS. Este servidor expõe funcionalidades de TTS por meio de ferramentas MCP, facilitando a integração da síntese de fala em suas aplicações.

Pré-requisitos

  • Python 3.10 ou superior
  • Gerenciador de pacotes uv

Instalação

  1. Primeiro, instale o gerenciador de pacotes uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. Clone este repositório e instale as dependências:
uv venv
source .venv/bin/activate  # On Windows, use: .venv\Scripts\activate
uv pip install .

Recursos

  • Síntese de texto-para-fala com vozes personalizáveis
  • Velocidade de fala ajustável
  • Suporte para salvar áudio em arquivos ou reprodução direta
  • Suporte de reprodução de áudio multiplataforma (Windows, macOS, Linux)
  • Backend remoto opcional compatível com OpenAI (ex.: kokoro-fastapi) para descarregar a síntese para uma máquina com GPU

Uso

O servidor fornece uma única ferramenta MCP generate_speech com os seguintes parâmetros:

  • text (obrigatório): O texto a ser convertido em fala
  • voice (opcional): Voz a ser usada para síntese (padrão: "af_heart")
  • speed (opcional): Multiplicador de velocidade da fala (padrão: 1.0)
  • save_path (opcional): Diretório para salvar arquivos de áudio
  • play_audio (opcional): Se deve reproduzir o áudio imediatamente (padrão: False)

Exemplo de Uso

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
        }
    )

Backend remoto (compatível com OpenAI)

Por padrão, o servidor executa o Kokoro localmente. Se você já executa um endpoint TTS compatível com OpenAI, como kokoro-fastapi (útil para execução em GPU), aponte o servidor para ele usando variáveis de ambiente — sem necessidade de torch/kokoro local:

VariávelPadrãoDescrição
KOKORO_BASE_URL(não definido)URL base compatível com OpenAI, ex.: http://localhost:8880/v1. Quando definida, a síntese é enviada para cá em vez de ser executada localmente.
KOKORO_API_KEYnot-neededToken Bearer, se o seu endpoint exigir um.
KOKORO_MODELkokoroNome do modelo passado ao endpoint.

Internamente, isso chama POST {KOKORO_BASE_URL}/audio/speech com o payload padrão do OpenAI (model, input, voice, speed, response_format: wav).

Docker

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

Para usar um backend remoto em vez de incluir o Kokoro:

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

Dependências

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

Suporte de Plataforma

A reprodução de áudio é suportada em:

  • Windows (usando start)
  • macOS (usando afplay)
  • Linux (usando aplay)

Configuração MCP

Adicione a seguinte configuração ao seu arquivo de configurações MCP:

{
  "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"
      ]
    }
  }
}

Licença

MIT © Gianni Sanrochman