Skip to main content
Glama
twelvelabs-mcp-server

twelvelabs-mcp-server

by micro-JAY

TwelveLabs MCP Server

このプロジェクトはTwelveLabs(動画理解プラットフォーム)とは関係ありません。 これは**ElevenLabs Conversational AI API**のためのMCPサーバーです — 音声エージェント、ナレッジベース、会話、TTSを扱います。「TwelveLabs」という名前はプロジェクトのコードネームにすぎません。

拡張されたMCP(Model Context Protocol)サーバーで、互換性のあるMCPクライアントにElevenLabs Conversational AI APIへの直接アクセスを提供します。公式のElevenLabs MCPコネクタでは公開されていない機能も含みます。

対象機能

  • エージェント — 一覧表示、完全な設定の取得(LLMモデルと温度を含む)、プロンプト/設定の更新、ウェブフックとファイルアップロードの管理

  • ナレッジベース — 一覧表示、完全なコンテンツの読み取り、テキスト/URLドキュメントの追加、ドキュメントの削除

  • 会話 — 履歴のフィルタリングとタグ付け、トランスクリプトの検査、通話後の分析/評価の再実行

  • 音声 — 利用可能な音声の一覧表示と検索

Related MCP server: elevenlabs-mcp-experiments

前提条件

  • Node.js >= 18

  • ElevenLabs APIキー — elevenlabs.ioで取得できます。

クイックスタート

オプションA: npx(クローン不要)

ELEVENLABS_API_KEY=your-key npx twelvelabs-mcp-server

オプションB: クローンしてビルド

git clone https://github.com/micro-JAY/twelvelabs-mcp-server.git
cd twelvelabs-mcp-server
npm install --include=dev
npm run build

MCPクライアントに接続

MCPクライアントの設定に同等のサーバーエントリを追加してください。設定ファイルの場所や周囲の構文はクライアントによって異なります。以下は標準的なstdioサーバー定義です:

{
  "mcpServers": {
    "twelvelabs": {
      "command": "node",
      "args": ["/path/to/twelvelabs-mcp-server/dist/index.js"],
      "env": {
        "ELEVENLABS_API_KEY": "your-api-key-here"
      }
    }
  }
}

MCPクライアントを再起動または再接続してください。利用可能なツールリストにtwelvelabsが表示されるはずです。

使用方法

MCP対応アシスタントにツールの使用を依頼してください。例:

"エージェントを一覧表示" "agent_1001kjbh14xce5kbreh55ydf4raeの完全な設定を取得" "そのエージェントの直近10件の会話を表示" "conversation_xyzのトランスクリプトと分析を取得"

互換性

このサーバーは、stdioトランスポートをサポートし、ローカルサーバープロセスに環境変数を設定できるMCPクライアントで動作します。リモートHTTP MCPサーバーのみをサポートするクライアントは、互換性のあるstdioブリッジまたはプロキシが必要です。

ツールリファレンス

エージェントツール

ツール

説明

twelvelabs_list_agents

アカウント内のすべてのエージェントを一覧表示

twelvelabs_get_agent

完全な設定:LLMモデル、音声、KBドキュメント、ウェブフック、プロンプトプレビュー

twelvelabs_get_agent_prompt

完全な(切り詰められていない)システムプロンプトテキスト

twelvelabs_update_agent_prompt

システムプロンプトおよび/または最初のメッセージを置き換える

twelvelabs_update_agent_settings

温度、音声、TTS設定、言語を変更

twelvelabs_update_agent_conversation_capabilities

チャットファイルアップロードを有効にし、最大時間メッセージを設定

twelvelabs_list_agent_conversations

1つのエージェントの最近の会話

twelvelabs_get_agent_webhook

現在のウェブフックURL

twelvelabs_set_agent_webhook

ウェブフックURLを設定または削除

ナレッジベースツール

ツール

説明

twelvelabs_list_kb_docs

サイズと作成日を含むすべてのKBドキュメント

twelvelabs_get_kb_doc

ドキュメントの抽出された完全なテキストコンテンツ

twelvelabs_add_kb_text

プレーンテキストドキュメントを追加

twelvelabs_add_kb_url

URLでウェブページを追加

twelvelabs_delete_kb_doc

ドキュメントを完全に削除

会話ツール

ツール

説明

twelvelabs_list_conversations

エージェント、時間、成功、期間、評価、ステータス、タグで履歴をフィルタリング

twelvelabs_get_conversation

完全なトランスクリプト、音声/タグメタデータ、データ収集、評価結果

twelvelabs_rerun_conversation_analysis

現在のエージェント設定を使用して完了した会話を再分析

twelvelabs_rerun_conversation_evaluation

完了した会話に対して単一の評価基準を再実行

twelvelabs_list_conversation_tags

ワークスペースの会話タグを一覧表示

twelvelabs_create_conversation_tag

ワークスペースの会話タグを作成

twelvelabs_update_conversation_tag

タグの名前を変更または説明を変更

twelvelabs_assign_conversation_tags

1つ以上のタグを会話に適用

twelvelabs_remove_conversation_tag

会話からタグを削除

twelvelabs_delete_conversation_tag

ワークスペースの会話タグを完全に削除

音声ツール

ツール

説明

twelvelabs_list_voices

IDとラベル付きで利用可能な音声を閲覧

セキュリティ

  • 入力検証 — すべてのツールパラメータはAPIに到達する前にZodスキーマで検証されます

  • HTTPSの強制 — ウェブフックURLはHTTPSのみを使用するように検証されます

  • パストラバーサル保護 — ドキュメントとエージェントIDはパストラバーサルを防ぐためにサニタイズされます

  • エラーのサニタイズ — 内部エラーは捕捉され、安全なMCPエラーレスポンスとして返されます。生のスタックトレースがクライアントに公開されることはありません

開発

npm run dev   # watch mode with tsx -- auto-reloads on file changes
npm run build # compile to dist/

コントリビューション

  1. リポジトリをフォークする

  2. フィーチャーブランチを作成する(git checkout -b feat/my-feature)

  3. 変更をコミットする(git commit -m 'feat: add my feature')

  4. ブランチにプッシュする(git push origin feat/my-feature)

  5. プルリクエストを開く

ライセンス

MIT — 詳細はLICENSEを参照してください。

アーキテクチャノート

すべてのツールは、起動時にELEVENLABS_API_KEYから初期化される単一のAxiosクライアントインスタンス(src/client.ts)を共有します。ツールの実装はsrc/tools/にあり、ドメインごとに1ファイルで、src/index.tsのMcpServerに登録されます。サーバーはstdioトランスポート(stdin/stdout)で通信するため、すべてのデバッグログはconsole.logではなくconsole.error(stderr)を使用します。

Related MCP Connectors

Related MCP Servers