Kokoro Text to Speech MCP Server

Apache 2.0
  • Apple

Integrations

  • Manages configuration through environment variables stored in .env files for customizing TTS settings and service connections.

  • Converts generated .wav audio files to .mp3 format for storage and distribution.

  • Provides access to the Kokoro ONNX weights repository for downloading necessary model files.

Servidor MCP de texto a voz (TTS) de Kokoro

Servidor MCP de texto a voz Kokoro que genera archivos .mp3 con opción de cargar a S3.

Usos: https://huggingface.co/spaces/hexgrad/Kokoro-TTS

Configuración

Agregue lo siguiente a sus configuraciones de MCP. Actualícelo con sus propios valores.

"kokoro-tts-mcp": { "command": "uv", "args": [ "--directory", "/path/toyourlocal/kokoro-tts-mcp", "run", "mcp-tts.py" ], "env": { "TTS_VOICE": "af_heart", "TTS_SPEED": "1.0", "TTS_LANGUAGE": "en-us", "AWS_ACCESS_KEY_ID": "", "AWS_SECRET_ACCESS_KEY": "", "AWS_REGION": "us-east-1", "AWS_S3_FOLDER": "mp3", "S3_ENABLED": "true", "MP3_FOLDER": "/path/to/mp3" } }

Instalar ffmmeg

Esto es necesario para convertir archivos .wav a .mp3

Para Mac:

brew install ffmpeg

Para ejecutar localmente, agréguelos a su archivo .env. Consulte env.example, cópielos a .env y modifíquelos con sus propios valores.

Variables de entorno admitidas

  • AWS_ACCESS_KEY_ID : Su ID de clave de acceso de AWS
  • AWS_SECRET_ACCESS_KEY : Su clave de acceso secreta de AWS
  • AWS_S3_BUCKET_NAME : nombre del depósito S3
  • AWS_S3_REGION : región S3 (por ejemplo, us-east-1)
  • AWS_S3_FOLDER : Ruta de la carpeta dentro del depósito S3
  • AWS_S3_ENDPOINT_URL : URL de punto final personalizada opcional para almacenamiento compatible con S3
  • MCP_HOST : Host al que vincular el servidor (predeterminado: 0.0.0.0)
  • MCP_PORT : Puerto para escuchar (predeterminado: 9876)
  • MCP_CLIENT_HOST : Nombre de host para las conexiones del cliente al servidor (predeterminado: localhost)
  • DEBUG : Habilitar el modo de depuración (establecido en "verdadero" o "1")
  • S3_ENABLED : Habilitar cargas S3 (establecido en "verdadero" o "1")
  • MP3_FOLDER : Ruta para almacenar archivos MP3 (el valor predeterminado es la carpeta 'mp3' en el directorio de scripts)
  • MP3_RETENTION_DAYS : Número de días que se conservarán los archivos MP3 antes de su eliminación automática
  • DELETE_LOCAL_AFTER_S3_UPLOAD : Si se deben eliminar los archivos MP3 locales después de una carga S3 exitosa (establecido en "verdadero" o "1")
  • TTS_VOICE : Voz predeterminada para el cliente TTS (predeterminado: af_heart)
  • TTS_SPEED : Velocidad predeterminada para el cliente TTS (valor predeterminado: 1.0)
  • TTS_LANGUAGE : idioma predeterminado para el cliente TTS (predeterminado: en-us)

Ejecución del servidor local

El método preferido es utilizar UV.

uv run mcp-tts.py

Uso del cliente TTS

El script mcp_client.py permite enviar solicitudes TTS al servidor. Se puede usar de la siguiente manera:

Configuración de conexión

Al ejecutar el servidor y el cliente en la misma máquina:

  • El servidor debe vincularse a 0.0.0.0 (todas las interfaces) o 127.0.0.1 (solo localhost)
  • El cliente debe conectarse al localhost o 127.0.0.1

Uso básico

python mcp_client.py --text "Hello, world!"

Leer texto de un archivo

python mcp_client.py --file my_text.txt

Personalización de la voz y la velocidad

python mcp_client.py --text "Hello, world!" --voice "en_female" --speed 1.2

Deshabilitar la carga de S3

python mcp_client.py --text "Hello, world!" --no-s3

Opciones de la línea de comandos

python mcp_client.py --help

Gestión de archivos MP3

El servidor TTS genera archivos MP3 que se almacenan localmente y, opcionalmente, se suben a S3. Puede configurar la gestión de estos archivos:

Almacenamiento local

  • Establezca MP3_FOLDER en su archivo .env para especificar dónde se almacenan los archivos MP3
  • Los archivos se guardan en esta carpeta a menos que se eliminen automáticamente

Limpieza automática

  • Establezca MP3_RETENTION_DAYS=30 (o cualquier número) para eliminar automáticamente los archivos con más días de antigüedad
  • Establezca DELETE_LOCAL_AFTER_S3_UPLOAD=true para eliminar archivos locales inmediatamente después de una carga S3 exitosa

Integración S3

  • Habilitar o deshabilitar las cargas S3 con S3_ENABLED=true o DISABLE_S3=true
  • Configurar las credenciales de AWS y la configuración del depósito en el archivo .env
  • Las cargas S3 se pueden deshabilitar por solicitud utilizando la opción --no-s3 del cliente
-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor que genera archivos de audio MP3 a partir de texto utilizando la tecnología Kokoro TTS con capacidades de carga S3 opcionales.

  1. Configuration
    1. Install ffmmeg
    2. Supported Environment Variables
  2. Running the Server Locally
    1. Using the TTS Client
      1. Connection Settings
      2. Basic Usage
      3. Reading Text from a File
      4. Customizing Voice and Speed
      5. Disabling S3 Upload
      6. Command-line Options
    2. MP3 File Management
      1. Local Storage
      2. Automatic Cleanup
      3. S3 Integration
    ID: 8p689t0jsv