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
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:9022
Starting the Frontend
Frontend development server:
Environment Configuration
Backend (.env)
Frontend (.env)
Code Quality Tools
Backend
Frontend
Production Deployment
See deployment-architecture.md for detailed deployment information.
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
- Infrastructure: Managed via Terraform in georgi-io-infrastructure repository
MCP Integration with Cursor
- Start the backend server
- In Cursor settings, add new MCP server:
- Name: Jessica TTS
- Type: SSE
- URL: http://localhost:9022/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
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