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
- Primeiro, instale o gerenciador de pacotes
uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
- 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 falavoice(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 áudioplay_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ável | Padrão | Descriçã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_KEY | not-needed | Token Bearer, se o seu endpoint exigir um. |
KOKORO_MODEL | kokoro | Nome 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