GPT-SoVITS MCP Server
Un servidor MCP para GPT-SoVITS que ofrece síntesis de texto a voz, clonación de voz y soporte multilingüe.
Documentación
Servidor MCP de GPT-SoVITS
Este proyecto es un servidor MCP que permite utilizar el servidor API de GPT-SoVITS como herramientas del Model Context Protocol (MCP). Utiliza FastAPI-MCP para generar automáticamente definiciones de herramientas MCP a partir de la especificación Swagger.
Características
- Síntesis de texto a voz: Genera audio a partir de texto
- Clonación de voz: Réplica de timbre de voz utilizando audio de referencia
- Soporte multilingüe: Compatible con chino, inglés, japonés, coreano y cantonés
- Gestión de modelos: Cambio dinámico de modelos GPT/SoVITS
- Soporte de streaming: Distribución de audio en tiempo real
- Integración MCP: Integración con agentes de IA
Requisitos del entorno
- Python 3.11 o superior (compatible con Windows/macOS/Linux)
- Servidor API de GPT-SoVITS (ejecutándose en el puerto 9880)
Instalación
Windows
-
Instalación de Python:
- Descargue Python 3.11 o superior desde el sitio oficial de Python
- Marque "Agregar Python a PATH" durante la instalación
-
Instalar dependencias:
python -m pip install -r requirements.txt -
Iniciar el servidor API de GPT-SoVITS:
cd GPT-SoVITS python api.py
macOS/Linux
-
Instalar dependencias:
python3.11 -m pip install -r requirements.txt # または pip install -r requirements.txt -
Iniciar el servidor API de GPT-SoVITS:
cd GPT-SoVITS python3.11 api.py # または python api.py
Uso
Inicio rápido (recomendado)
Windows
start_server.bat
macOS/Linux
./start_server.sh
Inicio manual
Windows
python fastapi_mcp_server.py
macOS/Linux
python3.11 fastapi_mcp_server.py
Opciones
--host: Host de enlace (predeterminado: 0.0.0.0)--port: Puerto de enlace (predeterminado: 8000)--gpt-sovits-url: URL de la API de GPT-SoVITS (predeterminado: http://localhost:9880)--reload: Habilitar recarga automática
Variables de entorno
SOVITS_VOICES_PATH: Ruta base de archivos de audioHOST: Host del servidorPORT: Puerto del servidor
Endpoints
Después de iniciar el servidor, los siguientes endpoints estarán disponibles:
- Documentación de API: http://localhost:8000/docs
- Endpoint MCP: http://localhost:8000/mcp
- Verificación de estado: http://localhost:8000/health
Herramientas MCP disponibles
-
text_to_speech (
/tts)- Sintetiza audio a partir de texto
- Compatible con clonación de voz mediante audio de referencia
- Soporta múltiples formatos de audio (wav, ogg, aac)
-
set_model (
/set_model)- Configura los pesos de los modelos GPT/SoVITS
- Cambio dinámico de modelos
-
set_reference (
/set_reference)- Configura el audio de referencia predeterminado y el texto de la indicación
- Establece el timbre de voz base para la clonación de voz
-
control_server (
/control)- Control del servidor (reinicio/apagado)
Ejemplos de uso de la API
Síntesis de audio a partir de texto
curl -X POST "http://localhost:8000/tts" \
-H "Content-Type: application/json" \
-d '{
"text": "こんにちは、世界",
"text_lang": "ja",
"refer_wav_path": "path/to/reference.wav",
"prompt_text": "参照音声のテキスト"
}'
Configuración del modelo
curl -X POST "http://localhost:8000/set_model" \
-H "Content-Type: application/json" \
-d '{
"gpt_model_path": "path/to/gpt.ckpt",
"sovits_model_path": "path/to/sovits.pth"
}'
Integración MCP
Este servidor es compatible con el Model Context Protocol (MCP), lo que permite que agentes de IA como Claude utilicen directamente las funciones de síntesis de voz.
Configuración en Claude Desktop
Ubicación del archivo de configuración
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Configuración para Windows
{
"mcpServers": {
"gpt-sovits": {
"command": "python",
"args": ["C:\\path\\to\\sovits_mcp\\fastapi_mcp_server.py"],
"env": {
"HOST": "127.0.0.1",
"PORT": "8000",
"SOVITS_VOICES_PATH": "C:\\voices\\characters"
}
}
}
}
Configuración para macOS/Linux
{
"mcpServers": {
"gpt-sovits": {
"command": "python3.11",
"args": ["/path/to/sovits_mcp/fastapi_mcp_server.py"],
"env": {
"HOST": "127.0.0.1",
"PORT": "8000",
"SOVITS_VOICES_PATH": "/voices/characters"
}
}
}
}
Uso de SSE (Server-Sent Events)
FastAPI-MCP proporciona automáticamente una conexión SSE en el endpoint /mcp. Si utiliza un proxy SSE:
{
"mcpServers": {
"gpt-sovits-sse": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-fetch", "http://127.0.0.1:8000/mcp"],
"env": {}
}
}
}
Ubicación de los archivos de configuración
El proyecto incluye varios ejemplos de configuración:
Para Windows
claude_desktop_config_windows.json- Configuración para Claude Desktopmcp_windows.json- Configuración básica de MCPmcp_sse_windows.json- Configuración con proxy SSEstart_server.bat- Script de inicio para Windows
Para macOS/Linux
claude_desktop_config.json- Configuración para Claude Desktopmcp.json- Configuración básica de MCPmcp_sse.json- Configuración con proxy SSEstart_server.sh- Script de inicio para macOS/Linux
Solución de problemas
Problemas específicos de Windows
Python no encontrado
python --version
- Si aparece un error, Python no está agregado a PATH
- Marque "Agregar Python a PATH" durante la instalación de Python
- O utilice el comando
py
Errores de ruta de archivos de audio
- En Windows, utilice barras invertidas (
\) - O configure la variable de entorno
SOVITS_VOICES_PATH
set SOVITS_VOICES_PATH=C:\voices\characters
Problemas comunes
No se puede conectar al servidor API de GPT-SoVITS
- Verifique que el servidor API de GPT-SoVITS esté en ejecución
- Verifique que el puerto 9880 esté disponible
- Verifique la configuración del firewall
Errores de dependencias
- Verifique que esté utilizando Python 3.11 o superior
- Instale las dependencias con
pip install -r requirements.txt
Archivos de audio no encontrados
- Configure correctamente la variable de entorno
SOVITS_VOICES_PATH - Verifique que los archivos de audio existan en la ruta especificada
- De forma predeterminada, se utiliza la carpeta
voices/characters/
Licencia
Este proyecto se publica bajo la licencia MIT.