Integrates ElevenLabs Text-to-Speech capabilities, allowing text to be converted to speech via the ElevenLabs API with voice selection and management features
Project Jessica (ElevenLabs TTS MCP)
This project integrates ElevenLabs Text-to-Speech capabilities with Cursor through the Model Context Protocol (MCP). It consists of a FastAPI backend service and a React frontend application.
Features
Text-to-Speech conversion using ElevenLabs API
Voice selection and management
MCP integration for Cursor
Modern React frontend interface
WebSocket real-time communication
Pre-commit hooks for code quality
Automatic code formatting and linting
Project Structure
Requirements
Python 3.11+
Poetry (for backend dependency management)
Node.js 18+ (for frontend)
Cursor (for MCP integration)
Local Development Setup
Backend Setup
Frontend Setup
Development Servers
Starting the Backend
The backend provides:
REST API: http://localhost:9020
WebSocket: ws://localhost:9020/ws
MCP Server: http://localhost:9020/sse (integrated with the main API server)
Starting the Frontend
Frontend development server:
Environment Configuration
Backend (.env)
Frontend (.env)
Code Quality Tools
Backend
Frontend
Production Deployment
AWS ECR and GitHub Actions Setup
To enable automatic building and pushing of Docker images to Amazon ECR:
Apply the Terraform configuration to create the required AWS resources:
cd terraform terraform init terraform applyThe GitHub Actions workflow will automatically:
Read the necessary configuration from the Terraform state in S3
Build the Docker image on pushes to
main
ordevelop
branchesPush the image to ECR with tags for
latest
and the specific commit SHA
No additional repository variables needed! The workflow fetches all required configuration from the Terraform state.
How it Works
The GitHub Actions workflow is configured to:
Initially assume a predefined IAM role with S3 read permissions
Fetch and extract configuration values from the Terraform state file in S3
Re-authenticate using the actual deployment role from the state file
Build and push the Docker image to the ECR repository defined in the state
This approach eliminates the need to manually configure GitHub repository variables and ensures that the CI/CD process always uses the current infrastructure configuration.
Quick Overview
Frontend: Served from S3 via CloudFront at jessica.georgi.io
Backend API: Available at api.georgi.io/jessica
WebSocket: Connects to api.georgi.io/jessica/ws
Docker Image: Stored in AWS ECR and can be deployed to ECS/EKS
Infrastructure: Managed via Terraform in this repository
MCP Integration with Cursor
Start the backend server
In Cursor settings, add new MCP server:
Name: Jessica TTS
Type: SSE
Troubleshooting
Common Issues
API Key Issues
Error: "Invalid API key"
Solution: Check
.env
file
Connection Problems
Error: "Cannot connect to MCP server"
Solution: Verify backend is running and ports are correct
Port Conflicts
Error: "Address already in use"
Solution: Change ports in
.env
WebSocket Connection Failed
Error: "WebSocket connection failed"
Solution: Ensure backend is running and WebSocket URL is correct
For additional help, please open an issue on GitHub.
License
MIT
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrates ElevenLabs Text-to-Speech capabilities with Cursor through the Model Context Protocol, allowing users to convert text to speech with selectable voices within the Cursor editor.
- Features
- Project Structure
- Requirements
- Local Development Setup
- Development Servers
- Environment Configuration
- Code Quality Tools
- Production Deployment
- MCP Integration with Cursor
- Troubleshooting
- License
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityIntegrates with ElevenLabs text-to-speech API.Last updated -113MIT License
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants to explore and interact with Cursor IDE's SQLite databases, providing access to project data, chat history, and composer information.Last updated -21
- -securityFlicense-qualityProvides text-to-speech capabilities through the Model Context Protocol, allowing applications to easily integrate speech synthesis with customizable voices, adjustable speech speed, and cross-platform audio playback support.Last updated -8
- AsecurityAlicenseAqualityA powerful Model Context Protocol framework that extends Cursor IDE with tools for web content retrieval, PDF processing, and Word document parsing.Last updated -813MIT License