GPT-SoVITS MCP Server
Um serv
Documentação
GPT-SoVITS MCP Server
Este projeto é um servidor MCP que permite utilizar o servidor de API do GPT-SoVITS como ferramentas do Model Context Protocol (MCP). Ele usa FastAPI-MCP para gerar automaticamente definições de ferramentas MCP a partir da especificação Swagger.
Funcionalidades
- Síntese de Texto para Fala (Text-to-Speech): Gera áudio a partir de texto
- Clonagem de voz: Duplica a qualidade vocal usando áudio de referência
- Suporte a múltiplos idiomas: Suporta chinês, inglês, japonês, coreano e cantonês
- Gerenciamento de modelos: Alternância dinâmica de modelos GPT/SoVITS
- Suporte a streaming: Distribuição de áudio em tempo real
- Integração MCP: Integração com agentes de IA
Requisitos
- Python 3.11 ou superior (compatível com Windows/macOS/Linux)
- Servidor de API GPT-SoVITS (em execução na porta 9880)
Instalação
Windows
-
Instalação do Python:
- Baixe Python 3.11 ou superior do site oficial do Python
- Marque "Add Python to PATH" durante a instalação
-
Instale as dependências:
python -m pip install -r requirements.txt -
Inicie o servidor de API GPT-SoVITS:
cd GPT-SoVITS python api.py
macOS/Linux
-
Instale as dependências:
python3.11 -m pip install -r requirements.txt # または pip install -r requirements.txt -
Inicie o servidor de API GPT-SoVITS:
cd GPT-SoVITS python3.11 api.py # または python api.py
Como usar
Inicialização rápida (recomendado)
Windows
start_server.bat
macOS/Linux
./start_server.sh
Inicialização manual
Windows
python fastapi_mcp_server.py
macOS/Linux
python3.11 fastapi_mcp_server.py
Opções
--host: Host de vinculação (padrão: 0.0.0.0)--port: Porta de vinculação (padrão: 8000)--gpt-sovits-url: URL da API GPT-SoVITS (padrão: http://localhost:9880)--reload: Habilita recarga automática
Variáveis de ambiente
SOVITS_VOICES_PATH: Caminho base dos arquivos de áudioHOST: Host do servidorPORT: Porta do servidor
Endpoints
Após iniciar o servidor, os seguintes endpoints estarão disponíveis:
- Documentação da API: http://localhost:8000/docs
- Endpoint MCP: http://localhost:8000/mcp
- Verificação de integridade (health check): http://localhost:8000/health
Ferramentas MCP disponíveis
-
text_to_speech (
/tts)- Sintetiza áudio a partir de texto
- Suporte à clonagem de voz usando áudio de referência
- Suporte a múltiplos formatos de áudio (wav, ogg, aac)
-
set_model (
/set_model)- Define os pesos dos modelos GPT/SoVITS
- Alternância dinâmica de modelos
-
set_reference (
/set_reference)- Define o áudio de referência padrão e o texto do prompt
- Define a qualidade vocal de referência para clonagem de voz
-
control_server (
/control)- Controle do servidor (reinicialização/desligamento)
Exemplos de uso da API
Síntese de fala 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": "参照音声のテキスト"
}'
Configuração do 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"
}'
Integração MCP
Este servidor é compatível com o Model Context Protocol (MCP), permitindo que agentes de IA como o Claude utilizem diretamente os recursos de síntese de fala.
Configuração no Claude Desktop
Localização do arquivo de configuração
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Configuração 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"
}
}
}
}
Configuração 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"
}
}
}
}
Ao usar SSE (Server-Sent Events)
O FastAPI-MCP fornece automaticamente conexões SSE no endpoint /mcp. Ao usar um proxy SSE:
{
"mcpServers": {
"gpt-sovits-sse": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-fetch", "http://127.0.0.1:8000/mcp"],
"env": {}
}
}
}
Localização dos arquivos de configuração
O projeto inclui vários exemplos de configuração:
Para Windows
claude_desktop_config_windows.json- Configuração para Claude Desktopmcp_windows.json- Configuração MCP básicamcp_sse_windows.json- Configuração usando proxy SSEstart_server.bat- Script de inicialização para Windows
Para macOS/Linux
claude_desktop_config.json- Configuração para Claude Desktopmcp.json- Configuração MCP básicamcp_sse.json- Configuração usando proxy SSEstart_server.sh- Script de inicialização para macOS/Linux
Solução de problemas
Problemas específicos do Windows
Python não encontrado
python --version
- Se ocorrer um erro, o Python não foi adicionado ao PATH
- Marque "Add Python to PATH" durante a instalação do Python
- Ou use o comando
py
Erro no caminho do arquivo de áudio
- No Windows, use barra invertida (
\) - Ou defina a variável de ambiente
SOVITS_VOICES_PATH
set SOVITS_VOICES_PATH=C:\voices\characters
Problemas comuns
Não é possível conectar ao servidor de API GPT-SoVITS
- Verifique se o servidor de API GPT-SoVITS está em execução
- Verifique se a porta 9880 está disponível
- Verifique as configurações do firewall
Erros de dependências
- Verifique se está usando Python 3.11 ou superior
- Instale as dependências com
pip install -r requirements.txt
Arquivo de áudio não encontrado
- Defina corretamente a variável de ambiente
SOVITS_VOICES_PATH - Verifique se o arquivo de áudio existe no caminho especificado
- Por padrão, use a pasta
voices/characters/
Licença
Este projeto é publicado sob a licença MIT.