jessica

jessica

3.4

Project Jessica integrates ElevenLabs Text-to-Speech capabilities with Cursor through the Model Context Protocol (MCP), featuring a FastAPI backend and a React frontend.

Project Jessica is a comprehensive solution that leverages ElevenLabs Text-to-Speech (TTS) capabilities, integrated with Cursor using the Model Context Protocol (MCP). The project is structured with a FastAPI backend service and a modern React frontend application, providing a seamless interface for users. It supports voice selection and management, ensuring a customizable TTS experience. The integration with MCP allows for efficient communication with Cursor, enhancing the overall functionality. The project also includes WebSocket real-time communication, ensuring instant updates and interactions. Code quality is maintained through pre-commit hooks, automatic formatting, and linting, ensuring a robust and maintainable codebase. The infrastructure is managed using Terraform, facilitating easy deployment and scaling.

Features

  • Text-to-Speech conversion using ElevenLabs API
  • Voice selection and management
  • MCP integration for Cursor
  • Modern React frontend interface
  • WebSocket real-time communication

Usage with Different Platforms

Backend Setup

bash
# 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

Frontend Setup

bash
# Navigate to frontend directory
cd src/frontend

# Install dependencies
npm install

Starting the Backend

bash
# Activate virtual environment if not active
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Start the backend
python -m src.backend

Starting the Frontend

bash
# In src/frontend directory
npm run dev

Frequently Asked Questions

What should I do if I encounter an 'Invalid API key' error?

Check the .env file to ensure the ElevenLabs API key is correctly configured.

How can I resolve connection problems to the MCP server?

Verify that the backend is running and the ports are correctly configured.

What can I do if I face port conflicts?

Change the ports in the .env file to resolve address conflicts.

How to fix WebSocket connection failures?

Ensure the backend is running and the WebSocket URL is correctly set.