Google ADK Speaker Agent with ElevenLabs について
Google ADKとElevenLabs MCPサーバーを使って、テキスト読み上げ用のスピーカーエージェントを構築するサンプルです。この構成を試す開発者向けで、非同期エージェントをADKのWebクライアントで実行します。
主な機能
- 01Google ADKによるスピーカーエージェント構築
- 02ElevenLabs MCPによるテキスト読み上げ
- 03uvxを使ったMCPサーバー接続
- 04ADK webによる非同期エージェント実行
活用シーン
- 01Google ADKとElevenLabs MCPの接続方法を学ぶ
- 02テキスト読み上げ要求を処理する非同期エージェントを作る
MCP 対応
エージェントはuvx経由でElevenLabs MCPサーバーに接続し、テキスト読み上げ機能とサーバーが提供するその他のツールを利用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ElevenLabs を使用した Google ADK スピーカーエージェント
このプロジェクトでは、Google の Agent Development Kit(ADK)と ElevenLabs の MCP サーバーを使用して構築した、テキスト読み上げ(TTS)スピーカーエージェントを紹介します。
概要
スピーカーエージェントは uvx 経由で ElevenLabs MCP サーバーに接続し、テキスト読み上げ機能を提供します。以下を使用して構築されています。
- Google ADK(Agent Development Kit)
- ElevenLabs MCP Server
- Python 3.11+
前提条件
- Python 3.11 以降
- ElevenLabs API キー
- Google Gemini API キー
- Google ADK のインストール
セットアップ
- リポジトリをクローンします。
git clone <repo-url>
- 仮想環境を作成して有効化します。
python3.11 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- 依存関係をインストールします。
pip install -r requirements.txt
- ルートディレクトリに
.envファイルを作成し、ElevenLabs と Gemini の API キーを設定します。
ELEVENLABS_API_KEY=your_api_key_here
GOOGLE_API_KEY = your_api_key_here
エージェントの実行
- 仮想環境が有効になっていることを確認します。
source venv/bin/activate
- agents ディレクトリに移動します。
cd agents
- ADK を使用してエージェントを実行します。非同期エージェントは Web クライアント経由でのみ実行できます。
adk web
エージェントは ElevenLabs MCP サーバーに接続し、テキスト読み上げリクエスト(および MCP サーバーで利用できるその他のツール)を処理できる状態になります。
プロジェクト構成
google-adk-sample/
├── agents/
│ └── speaker/
│ ├── agent.py # Main agent implementation
│ └── __init__.py
├── .env # Environment variables
└── requirements.txt # Project dependencies
デモ動画
https://github.com/user-attachments/assets/2120981a-f193-4941-a6d0-4504b0bfb9a6
トラブルシューティング
問題が発生した場合は、以下を確認してください。
- 仮想環境が有効になっていることを確認します
.envファイルに API キーが正しく設定されていることを確認します- すべての依存関係が正しくインストールされていることを確認します
- 正しいディレクトリからコマンドを実行していることを確認します
その他のリソース
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。