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

  1. Instalação do Python:

  2. Instale as dependências:

    python -m pip install -r requirements.txt
    
  3. Inicie o servidor de API GPT-SoVITS:

    cd GPT-SoVITS
    python api.py
    

macOS/Linux

  1. Instale as dependências:

    python3.11 -m pip install -r requirements.txt
    # または
    pip install -r requirements.txt
    
  2. 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 áudio
  • HOST: Host do servidor
  • PORT: Porta do servidor

Endpoints

Após iniciar o servidor, os seguintes endpoints estarão disponíveis:

Ferramentas MCP disponíveis

  1. 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)
  2. set_model (/set_model)

    • Define os pesos dos modelos GPT/SoVITS
    • Alternância dinâmica de modelos
  3. 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
  4. 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 Desktop
  • mcp_windows.json - Configuração MCP básica
  • mcp_sse_windows.json - Configuração usando proxy SSE
  • start_server.bat - Script de inicialização para Windows

Para macOS/Linux

  • claude_desktop_config.json - Configuração para Claude Desktop
  • mcp.json - Configuração MCP básica
  • mcp_sse.json - Configuração usando proxy SSE
  • start_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.