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

프로젝트 제시카(ElevenLabs TTS MCP)

이 프로젝트는 모델 컨텍스트 프로토콜(MCP)을 통해 ElevenLabs의 텍스트-음성 변환 기능을 커서와 통합합니다. FastAPI 백엔드 서비스와 React 프런트엔드 애플리케이션으로 구성됩니다.

특징

  • ElevenLabs API를 사용한 텍스트-음성 변환
  • 음성 선택 및 관리
  • 커서를 위한 MCP 통합
  • 최신 React 프런트엔드 인터페이스
  • WebSocket 실시간 통신
  • 코드 품질을 위한 사전 커밋 후크
  • 자동 코드 포맷팅 및 린팅

프로젝트 구조

지엑스피1

요구 사항

  • 파이썬 3.11+
  • Poetry(백엔드 종속성 관리용)
  • Node.js 18+(프론트엔드용)
  • 커서(MCP 통합용)

지역 개발 설정

백엔드 설정

# 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

백엔드는 다음을 제공합니다.

프런트엔드 시작하기

# In src/frontend directory npm run dev

프런트엔드 개발 서버:

환경 구성

백엔드(.env)

# ElevenLabs API ELEVENLABS_API_KEY=your-api-key # Server Configuration HOST=127.0.0.1 PORT=9020 # Development Settings DEBUG=false RELOAD=true

프런트엔드(.env)

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

프로덕션 배포

AWS ECR 및 GitHub 작업 설정

Amazon ECR에 Docker 이미지를 자동으로 빌드하고 푸시하는 기능을 활성화하려면:

  1. Terraform 구성을 적용하여 필요한 AWS 리소스를 생성합니다.
    cd terraform terraform init terraform apply
  2. GitHub Actions 워크플로는 자동으로 다음을 수행합니다.
    • S3의 Terraform 상태에서 필요한 구성을 읽습니다.
    • main 또는 develop 브랜치에 푸시하여 Docker 이미지를 빌드합니다.
    • latest 및 특정 커밋 SHA에 대한 태그와 함께 이미지를 ECR에 푸시합니다.
  3. 추가 저장소 변수가 필요하지 않습니다! 워크플로는 Terraform 상태에서 필요한 모든 구성을 가져옵니다.

작동 원리

GitHub Actions 워크플로는 다음과 같이 구성됩니다.

  1. 처음에는 S3 읽기 권한이 있는 미리 정의된 IAM 역할을 가정합니다.
  2. S3의 Terraform 상태 파일에서 구성 값을 가져오고 추출합니다.
  3. 상태 파일의 실제 배포 역할을 사용하여 다시 인증합니다.
  4. 상태에 정의된 ECR 저장소에 Docker 이미지를 빌드하고 푸시합니다.

이 접근 방식을 사용하면 GitHub 저장소 변수를 수동으로 구성할 필요가 없고 CI/CD 프로세스가 항상 현재 인프라 구성을 사용하게 됩니다.

빠른 개요

  • 프런트엔드: jessica.georgi.io의 CloudFront를 통해 S3에서 제공됨
  • 백엔드 API: api.georgi.io/jessica에서 사용 가능
  • WebSocket: api.georgi.io/jessica/ws에 연결
  • Docker 이미지: AWS ECR에 저장되며 ECS/EKS에 배포 가능
  • 인프라: 이 저장소의 Terraform을 통해 관리됨

커서와 MCP 통합

  1. 백엔드 서버를 시작합니다
  2. 커서 설정에서 새 MCP 서버를 추가합니다.

문제 해결

일반적인 문제

  1. API 키 문제
    • 오류: "잘못된 API 키"
    • 해결 방법: .env 파일을 확인하세요
  2. 연결 문제
    • 오류: "MCP 서버에 연결할 수 없습니다"
    • 해결 방법: 백엔드가 실행 중이고 포트가 올바른지 확인하세요.
  3. 항구 갈등
    • 오류: "주소가 이미 사용 중입니다"
    • 해결 방법: .env 에서 포트를 변경하세요.
  4. WebSocket 연결에 실패했습니다
    • 오류: "WebSocket 연결에 실패했습니다"
    • 해결 방법: 백엔드가 실행 중이고 WebSocket URL이 올바른지 확인하세요.

추가 도움이 필요하면 GitHub에서 이슈를 열어주세요.

특허

MIT

-
security - not tested
F
license - not found
-
quality - not tested

모델 컨텍스트 프로토콜을 통해 ElevenLabs 텍스트-음성 변환 기능을 커서와 통합하여 사용자가 커서 편집기 내에서 선택 가능한 음성으로 텍스트를 음성으로 변환할 수 있도록 합니다.

  1. Features
    1. Project Structure
      1. Requirements
        1. Local Development Setup
          1. Backend Setup
          2. Frontend Setup
        2. Development Servers
          1. Starting the Backend
          2. Starting the Frontend
        3. Environment Configuration
          1. Backend (.env)
          2. Frontend (.env)
        4. Code Quality Tools
          1. Backend
          2. Frontend
        5. Production Deployment
          1. AWS ECR and GitHub Actions Setup
          2. How it Works
          3. Quick Overview
        6. MCP Integration with Cursor
          1. Troubleshooting
            1. Common Issues
          2. License
            ID: athmpgbkuh