georgi.io/jessica
Built by Metorial, the integration platform for agentic AI.
georgi.io/jessica
Server Summary
Text-to-Speech conversion
Voice selection
WebSocket real-time communication
MCP integration
Code quality management
Automatic code formatting and linting
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.
jessica/
├── src/
│ ├── backend/ # FastAPI backend service
│ └── frontend/ # React frontend application
├── terraform/ # Infrastructure as Code
├── tests/ # Test suites
└── docs/ # Documentation
# 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
# Navigate to frontend directory
cd src/frontend
# Install dependencies
npm install
# Activate virtual environment if not active
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Start the backend
python -m src.backend
The backend provides:
# In src/frontend directory
npm run dev
Frontend development server:
# ElevenLabs API
ELEVENLABS_API_KEY=your-api-key
# Server Configuration
HOST=127.0.0.1
PORT=9020
# Development Settings
DEBUG=false
RELOAD=true
VITE_API_URL=http://localhost:9020
VITE_WS_URL=ws://localhost:9020/ws
# 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
# Lint
npm run lint
# Type check
npm run type-check
# Test
npm run test
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 apply
The GitHub Actions workflow will automatically:
main
or develop
brancheslatest
and the specific commit SHANo additional repository variables needed! The workflow fetches all required configuration from the Terraform state.
The GitHub Actions workflow is configured to:
This approach eliminates the need to manually configure GitHub repository variables and ensures that the CI/CD process always uses the current infrastructure configuration.
API Key Issues
.env
fileConnection Problems
Port Conflicts
.env
WebSocket Connection Failed
For additional help, please open an issue on GitHub.
MIT