プロジェクト ジェシカ (ElevenLabs TTS MCP)
このプロジェクトは、ElevenLabsのテキスト読み上げ機能を、モデルコンテキストプロトコル(MCP)を介してCursorに統合します。FastAPIバックエンドサービスとReactフロントエンドアプリケーションで構成されています。
特徴
- ElevenLabs APIを使用したテキスト読み上げ変換
- 音声の選択と管理
- カーソルのMCP統合
- モダンなReactフロントエンドインターフェース
- WebSocketリアルタイム通信
- コード品質のための事前コミットフック
- 自動コードフォーマットとリンティング
プロジェクト構造
要件
- Python 3.11以上
- Poetry(バックエンドの依存関係管理用)
- Node.js 18+(フロントエンド用)
- カーソル(MCP統合用)
ローカル開発のセットアップ
バックエンドのセットアップ
フロントエンドのセットアップ
開発サーバー
バックエンドの開始
バックエンドは以下を提供します:
- REST API: http://localhost:9020
- WebSocket: ws://localhost:9020/ws
- MCP サーバー: http://localhost:9020/sse (メイン API サーバーと統合)
フロントエンドの開始
フロントエンド開発サーバー:
環境設定
バックエンド (.env)
フロントエンド (.env)
コード品質ツール
バックエンド
フロントエンド
本番環境への展開
AWS ECRとGitHub Actionsのセットアップ
Docker イメージの自動ビルドと Amazon ECR へのプッシュを有効にするには:
- 必要な AWS リソースを作成するには、Terraform 構成を適用します。
- GitHub Actions ワークフローは自動的に次の処理を実行します。
- S3のTerraform状態から必要な構成を読み取ります
main
またはdevelop
ブランチへのプッシュ時にDockerイメージをビルドするlatest
のタグと特定のコミット SHA を付けてイメージを ECR にプッシュします。
- 追加のリポジトリ変数は必要ありません。ワークフローは、必要なすべての構成を Terraform 状態から取得します。
仕組み
GitHub Actions ワークフローは次のように構成されています。
- 最初にS3の読み取り権限を持つ定義済みのIAMロールを引き受ける
- S3 の Terraform 状態ファイルから設定値を取得して抽出する
- 状態ファイルから実際の展開ロールを使用して再認証します
- Dockerイメージをビルドし、状態で定義されたECRリポジトリにプッシュします。
このアプローチにより、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統合
- バックエンドサーバーを起動する
- カーソル設定で、新しい MCP サーバーを追加します。
- 名前: ジェシカ TTS
- タイプ: SSE
- URL: http://localhost:9020/sse
トラブルシューティング
よくある問題
- APIキーの問題
- エラー:「無効な API キー」
- 解決策:
.env
ファイルを確認する
- 接続の問題
- エラー:「MCP サーバーに接続できません」
- 解決策: バックエンドが実行中であり、ポートが正しいことを確認する
- ポート競合
- エラー:「アドレスはすでに使用されています」
- 解決策:
.env
のポートを変更する
- WebSocket接続に失敗しました
- エラー:「WebSocket 接続に失敗しました」
- 解決策: バックエンドが実行中であることと、WebSocket URL が正しいことを確認してください
さらにサポートが必要な場合は、GitHub で問題を報告してください。
ライセンス
マサチューセッツ工科大学
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.
モデル コンテキスト プロトコルを介して ElevenLabs のテキスト読み上げ機能を Cursor と統合し、ユーザーが Cursor エディター内で選択可能な音声を使用してテキストを音声に変換できるようにします。
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityIntegrates with ElevenLabs text-to-speech API.Last updated -636PythonMIT License
- -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 -2Python
- -securityAlicense-qualityA Model Context Protocol server that integrates high-quality text-to-speech capabilities with Claude Desktop and other MCP-compatible clients, supporting multiple voice options and audio formats.Last updated -TypeScriptMIT License
- -securityFlicense-qualityIntegrates with Claude and Cursor using the Model Context Protocol to generate voice audio from text using Resemble AI's voices.Last updated -Python