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
Related MCP server: Cursor DB MCP Server
Estructura del proyecto
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
Configuración de la interfaz
Servidores de desarrollo
Iniciando el backend
El backend proporciona:
API REST: http://localhost:9020
WebSocket: ws://localhost:9020/ws
Servidor MCP: http://localhost:9020/sse (integrado con el servidor API principal)
Iniciando el Frontend
Servidor de desarrollo frontend:
Configuración del entorno
Backend (.env)
Interfaz (.env)
Herramientas de calidad del código
Backend
Interfaz
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:
Aplique la configuración de Terraform para crear los recursos de AWS necesarios:
cd terraform terraform init terraform applyEl 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
mainodevelopEnvíe la imagen a ECR con etiquetas para
latestSHA y la confirmación específica
¡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:
Asuma inicialmente un rol IAM predefinido con permisos de lectura S3
Obtener y extraer valores de configuración del archivo de estado de Terraform en S3
Vuelva a autenticarse utilizando el rol de implementación real del archivo de estado
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
Iniciar el servidor backend
En la configuración del cursor, agregue un nuevo servidor MCP:
Nombre: Jessica TTS
Tipo: SSE
Solución de problemas
Problemas comunes
Problemas con la clave API
Error: "Clave API no válida"
Solución: comprobar el archivo
.env
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
Conflictos portuarios
Error: "Dirección ya en uso"
Solución: Cambiar puertos en
.env
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)