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)
このプロジェクトは、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 構成を適用します。Copy
- 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
モデル コンテキスト プロトコルを介して ElevenLabs のテキスト読み上げ機能を Cursor と統合し、ユーザーが Cursor エディター内で選択可能な音声を使用してテキストを音声に変換できるようにします。
- Features
- Project Structure
- Requirements
- Local Development Setup
- Development Servers
- Environment Configuration
- Code Quality Tools
- Production Deployment
- MCP Integration with Cursor
- Troubleshooting
- License