プロジェクト概要

YouTube Caption MCPサーバーは、Model Context Protocol (MCP) に基づいて構築されたバックエンドサービスです。CursorなどのLLMクライアントが、追加のAPIキーなしでYouTube動画の字幕や関連情報を取得できるようにします。これにより、LLMは動画コンテンツをより深く理解し、活用することが可能になります。

主要機能

  • APIキー不要: YouTubeの内部APIにアクセスするため、Google Cloud PlatformのAPIキーは必要ありません。
  • 多言語対応: 利用可能な字幕言語を自動検出し、指定した言語の字幕を取得できます。
  • フォーマット変換: 字幕データをRawテキスト、SRT、VTT形式で取得できます。
  • キャッシュ機能: 頻繁にアクセスされるデータはメモリにキャッシュされ、応答速度が向上します。
  • MCPツール: 以下の機能を提供するMCPツールとして利用できます。
    • 'get_video_info': 動画の基本情報(タイトル、説明、再生時間など)を取得します。
    • 'get_captions_list': 動画で利用可能な字幕言語の一覧を取得します。
    • 'download_captions': 指定した言語と形式で字幕データをダウンロードします。
    • 'search_videos_with_captions': 字幕付きの動画を検索します。

使用方法

インストール

本サーバーはNode.jsで動作します。npmを使ってインストールできます。

NPMからインストールする場合:

npm install -g @iamyosuke/youtube-caption-mcp

ソースコードからビルドする場合:

  1. GitHubからリポジトリをクローンします。
    git clone https://github.com/iamyosuke/youtube-caption-mcp.git
    cd youtube-caption-mcp
  2. 依存ライブラリをインストールし、プロジェクトをビルドします。
    npm install
    npm run build

MCPクライアントでの設定

CursorなどのMCPクライアントは、設定ファイルを通じてMCPサーバーを認識・起動します。通常、'.cursor/mcp.json' のようなファイルに以下のような設定を追加します。

MCPクライアントの設定ファイル(例: '.cursor/mcp.json')の 'mcpServers' セクションに、本サーバーの起動設定を追加します。

{
  "mcpServers": {
    "youtube-caption-mcp": {
      // サーバーの起動コマンド。npm/npx経由で実行します。
      "command": "npx", 
      // 起動コマンドに渡す引数。
      // "-y" は npx にパッケージをインストールして実行することを許可するフラグです。
      // "youtube-caption-mcp" はインストールされたパッケージ名です。
      // "--stdio" は MCP サーバーが標準入出力 (Stdio) を介して通信することを示すフラグです。
      "args": ["-y", "youtube-caption-mcp", "--stdio"], 
      // サーバープロセスに渡す環境変数(任意)。キャッシュ有効化やログレベル設定に使用できます。
      "env": { 
        "CACHE_ENABLED": "true", // キャッシュを有効にする
        "LOG_LEVEL": "info"      // ログレベルを設定する(debug, info, warn, error)
      }
    }
  }
}

この設定により、MCPクライアントが本サーバーを起動し、Stdioプロトコルで通信できるようになります。

MCPクライアントからの利用

設定が完了すると、MCPクライアント(例: Cursor)はサーバーが提供するツールを認識します。LLMは、これらのツールを呼び出すことでYouTubeの字幕情報などを取得し、その情報を応答生成やタスク実行に活用します。具体的なツールの呼び出し方法やパラメータは、利用するMCPクライアントのUIや機能によって異なります。

例えば、ユーザーがMCPクライアント上で「このYouTube動画の字幕を日本語で取得して要約して」といった指示を出すと、クライアントは内部的に 'download_captions' ツールを適切な動画ID、言語コード(ja)、形式(raw)で呼び出し、取得した字幕データをLLMに渡す、という流れになります。

注意事項

  • このプロジェクトは迅速に開発されたものであり、十分なテストが行われていません。本番環境での使用は自己責任でお願いします。
  • このツールを使用する際は、YouTubeの利用規約を遵守してください。
  • 著作権保護されたコンテンツの取り扱いには十分注意してください。
  • 短時間に大量のリクエストを送信すると、YouTube側でレート制限がかかる可能性があります。

信息

分类

网页与API