ElevenLabs Text-to-Speech MCP

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Integrates ElevenLabs Text-to-Speech capabilities, allowing text to be converted to speech via the ElevenLabs API with voice selection and management features

Proyecto Jessica (ElevenLabs TTS MCP)

Este proyecto integra las capacidades de texto a voz de ElevenLabs con Cursor mediante el Protocolo de Contexto de Modelo (MCP). Consta de un servicio de backend FastAPI y una aplicación frontend React.

Características

  • Conversión de texto a voz mediante la API de ElevenLabs
  • Selección y gestión de voces
  • Integración de MCP para Cursor
  • Interfaz frontend moderna de React
  • Comunicación en tiempo real mediante WebSocket
  • Ganchos de pre-confirmación para la calidad del código
  • Formateo y pelusa de código automático

Estructura del proyecto

jessica/ ├── src/ │ ├── backend/ # FastAPI backend service │ └── frontend/ # React frontend application ├── terraform/ # Infrastructure as Code ├── tests/ # Test suites └── docs/ # Documentation

Requisitos

  • Python 3.11+
  • Poesía (para la gestión de dependencias del backend)
  • Node.js 18+ (para frontend)
  • Cursor (para integración MCP)

Configuración de desarrollo local

Configuración del backend

# Clone the repository git clone https://github.com/georgi-io/jessica.git cd jessica # Create Python virtual environment python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install backend dependencies poetry install # Configure environment cp .env.example .env # Edit .env with your ElevenLabs API key # Install pre-commit hooks poetry run pre-commit install

Configuración de la interfaz

# Navigate to frontend directory cd src/frontend # Install dependencies npm install

Servidores de desarrollo

Iniciando el backend

# Activate virtual environment if not active source .venv/bin/activate # On Windows: .venv\Scripts\activate # Start the backend python -m src.backend

El backend proporciona:

Iniciando el Frontend

# In src/frontend directory npm run dev

Servidor de desarrollo frontend:

Configuración del entorno

Backend (.env)

# ElevenLabs API ELEVENLABS_API_KEY=your-api-key # Server Configuration HOST=127.0.0.1 PORT=9020 # Development Settings DEBUG=false RELOAD=true

Interfaz (.env)

VITE_API_URL=http://localhost:9020 VITE_WS_URL=ws://localhost:9020/ws

Herramientas de calidad del código

Backend

# Run all pre-commit hooks poetry run pre-commit run --all-files # Run specific tools poetry run ruff check . poetry run ruff format . poetry run pytest

Interfaz

# Lint npm run lint # Type check npm run type-check # Test npm run test

Despliegue de producción

Configuración de acciones de AWS ECR y GitHub

Para habilitar la creación y el envío automáticos de imágenes de Docker a Amazon ECR:

  1. Aplique la configuración de Terraform para crear los recursos de AWS necesarios:
    cd terraform terraform init terraform apply
  2. El flujo de trabajo de GitHub Actions realizará automáticamente lo siguiente:
    • Lea la configuración necesaria del estado de Terraform en S3
    • Construya la imagen de Docker al enviarla a las ramas main o develop
    • Envíe la imagen a ECR con etiquetas para latest SHA y la confirmación específica
  3. ¡No se necesitan variables de repositorio adicionales! El flujo de trabajo obtiene toda la configuración necesaria del estado de Terraform.

Cómo funciona

El flujo de trabajo de Acciones de GitHub está configurado para:

  1. Asuma inicialmente un rol IAM predefinido con permisos de lectura S3
  2. Obtener y extraer valores de configuración del archivo de estado de Terraform en S3
  3. Vuelva a autenticarse utilizando el rol de implementación real del archivo de estado
  4. Construya y envíe la imagen de Docker al repositorio ECR definido en el estado

Este enfoque elimina la necesidad de configurar manualmente las variables del repositorio de GitHub y garantiza que el proceso de CI/CD siempre utilice la configuración de infraestructura actual.

Descripción rápida

  • Frontend: Servido desde S3 a través de CloudFront en jessica.georgi.io
  • API de backend: disponible en api.georgi.io/jessica
  • WebSocket: se conecta a api.georgi.io/jessica/ws
  • Imagen de Docker: se almacena en AWS ECR y se puede implementar en ECS/EKS
  • Infraestructura: administrada a través de Terraform en este repositorio

Integración de MCP con Cursor

  1. Iniciar el servidor backend
  2. En la configuración del cursor, agregue un nuevo servidor MCP:

Solución de problemas

Problemas comunes

  1. Problemas con la clave API
    • Error: "Clave API no válida"
    • Solución: comprobar el archivo .env
  2. Problemas de conexión
    • Error: "No se puede conectar al servidor MCP"
    • Solución: Verifique que el backend esté ejecutándose y que los puertos sean correctos
  3. Conflictos portuarios
    • Error: "Dirección ya en uso"
    • Solución: Cambiar puertos en .env
  4. Conexión WebSocket fallida
    • Error: "Error en la conexión WebSocket"
    • Solución: asegúrese de que el backend esté ejecutándose y la URL de WebSocket sea correcta

Para obtener ayuda adicional, abra un problema en GitHub.

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
F
license - not found
-
quality - not tested

Integra las capacidades de texto a voz de ElevenLabs con Cursor a través del Protocolo de contexto de modelo, lo que permite a los usuarios convertir texto a voz con voces seleccionables dentro del editor de Cursor.

  1. Features
    1. Project Structure
      1. Requirements
        1. Local Development Setup
          1. Backend Setup
          2. Frontend Setup
        2. Development Servers
          1. Starting the Backend
          2. Starting the Frontend
        3. Environment Configuration
          1. Backend (.env)
          2. Frontend (.env)
        4. Code Quality Tools
          1. Backend
          2. Frontend
        5. Production Deployment
          1. AWS ECR and GitHub Actions Setup
          2. How it Works
          3. Quick Overview
        6. MCP Integration with Cursor
          1. Troubleshooting
            1. Common Issues
          2. License
            ID: athmpgbkuh