mcpField
Y
YouTube Transcript Server

YouTube Transcript Server

ローカル
github.com/kimtaeyoon83メディア・デザイン60214 週間前に更新

YouTube Transcript Server について

YouTube Transcript Server は、YouTube 動画の文字起こしを取得する MCP サーバーです。Shorts の URL や動画 ID にも対応しています。字幕をテキストとして LLM による要約や質問応答に使いたい利用者向けです。オプションの TwelveLabs 連携では、直接の動画 URL を対象に画面内容を分析できます。

主な機能

  1. 01動画 URL、Shorts URL、動画 ID の入力に対応
  2. 02言語指定による字幕取得と自動フォールバック
  3. 03文字起こしへのタイムスタンプ付加
  4. 04スポンサーや広告区間のフィルタリング(デフォルト有効)
  5. 05オプションの TwelveLabs 動画分析ツール

活用シーン

  1. 01動画の字幕を取得して要約を作成
  2. 02指定した言語で文字起こしテキストを抽出
  3. 03スポンサー区間を除いた文字起こしの作成

MCP 対応

本プロジェクトは MCP サーバーであり、get_transcript ツールを MCP クライアントに提供します。TwelveLabs の API キーを設定すると、analyze_video ツールも利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"youtube-transcript": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
起動コマンドnpx -y @smithery/cli

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@smithery/cli

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MseeP.ai セキュリティ評価バッジ

YouTube Transcript Server

Trust Score

smithery badge

YouTube 動画の文字起こしを取得できる Model Context Protocol サーバーです。シンプルなインターフェースを通じて、動画のキャプションと字幕に直接アクセスできます。

mcp-server-youtube-transcript MCP サーバー

Smithery 経由でのインストール

Smithery を使って、Claude Desktop に YouTube Transcript Server を自動的にインストールするには:

npx -y @smithery/cli install @kimtaeyoon83/mcp-server-youtube-transcript --client claude

コンポーネント

ツール
  • get_transcript

    • YouTube 動画の文字起こしを取得します
    • 入力:
      • url(string、必須):YouTube 動画の URL、Shorts の URL、または動画 ID
      • lang(string、任意、デフォルト:"en"):文字起こしの言語コード(例:'ko'、'en')。指定した言語が見つからない場合は、利用可能な言語に自動的にフォールバックします。
      • include_timestamps(boolean、任意、デフォルト:false):出力にタイムスタンプを含めます(例:「[0:05] テキスト」)
      • strip_ads(boolean、任意、デフォルト:true):チャプターマーカーに基づいて、文字起こしからスポンサー提供、広告、プロモーションのコンテンツを除外します
  • analyze_video(任意。TwelveLabs API キーが必要です)

    • 動画理解モデルである TwelveLabs Pegasus を使って動画を分析します。get_transcript とは異なり、画面に 表示されている 内容を推論するため、発話がほとんどない、またはまったくない動画(デモ、ゲームプレイ、B ロール、ミュージックビデオ)でも、有用な要約や回答を生成できます。
    • 入力:
      • url(string、必須):外部からアクセス可能な 動画ファイルへの直接 URL(例:.mp4/.mov/.webm のリンク、または署名付き URL)。TwelveLabs はサーバー側でファイルを取得するため、YouTube の視聴ページ URL は使用できません。生の動画ストリームではなく HTML が配信されるためです。
      • prompt(string、任意):モデルへの指示または質問(例:"Summarize this video in 3 sentences" や "What products are shown?")。デフォルトでは一般的な要約を生成します。
      • model(string、任意、デフォルト:"pegasus1.2"):使用する Pegasus モデル("pegasus1.2" または "pegasus1.5")。
      • max_tokens(number、任意、デフォルト:2048):応答の最大トークン数。
    • TWELVELABS_API_KEY 環境変数が必要です。文字起こしツールはこのキーなしで動作します。分析機能は完全にオプトインです。twelvelabs.io で無料キーを取得できます。無料利用枠も充実しています。

主な機能

  • 複数の動画 URL 形式に対応(YouTube Shorts を含む)
  • 言語を指定した文字起こしの取得と、自動フォールバック
  • 特定の場面を参照するためのタイムスタンプ(任意)
  • 広告/スポンサー提供コンテンツのフィルタリング機能を内蔵(デフォルトで有効)
  • 文字起こしの取得に外部依存関係が不要
  • 応答に詳細なメタデータを含む

設定

Claude Desktop で使用するには、次のサーバー設定を追加します:

{
  "mcpServers": {
    "youtube-transcript": {
      "command": "npx",
      "args": ["-y", "@kimtaeyoon83/mcp-server-youtube-transcript"]
    }
  }
}

任意の analyze_video ツールを有効にするには、TwelveLabs API キーを追加します:

{
  "mcpServers": {
    "youtube-transcript": {
      "command": "npx",
      "args": ["-y", "@kimtaeyoon83/mcp-server-youtube-transcript"],
      "env": {
        "TWELVELABS_API_KEY": "your-twelvelabs-api-key"
      }
    }
  }
}

ツール経由でのインストール

mcp-get Model Context Protocol(MCP)サーバーをインストールおよび管理するためのコマンドラインツールです。

npx @michaellatman/mcp-get@latest install @kimtaeyoon83/mcp-server-youtube-transcript

Awesome-mcp-servers

awesome-mcp-servers 厳選された優れた Model Context Protocol(MCP)サーバーの一覧です。

開発

前提条件
  • Node.js 18 以降
  • npm または yarn
セットアップ

依存関係をインストールします:

npm install

サーバーをビルドします:

npm run build

自動再ビルドを有効にして開発する場合:

npm run watch
テスト
npm test
デバッグ

MCP サーバーは stdio 経由で通信するため、デバッグが難しい場合があります。開発には MCP Inspector の使用をおすすめします:

npm run inspector

evals の実行

evals パッケージは MCP クライアントを読み込み、その後 index.ts ファイルを実行するため、テストのたびにビルドし直す必要はありません。npx コマンドの前に環境変数を指定すると、環境変数を読み込めます。詳細なドキュメントはこちらをご覧ください。

OPENAI_API_KEY=your-key  npx mcp-eval src/evals/evals.ts src/index.ts

エラー処理

サーバーは、次のような一般的な状況に対して堅牢なエラー処理を実装しています:

  • 無効な動画 URL または ID
  • 利用できない文字起こし
  • 言語の利用可否に関する問題
  • ネットワークエラー

使用例

  1. 動画 URL から文字起こしを取得:
await server.callTool("get_transcript", {
  url: "https://www.youtube.com/watch?v=VIDEO_ID",
  lang: "en"
});
  1. 動画 ID から文字起こしを取得:
await server.callTool("get_transcript", {
  url: "VIDEO_ID",
  lang: "ko"
});
  1. YouTube Shorts から文字起こしを取得:
await server.callTool("get_transcript", {
  url: "https://www.youtube.com/shorts/VIDEO_ID"
});
  1. タイムスタンプ付きで文字起こしを取得:
await server.callTool("get_transcript", {
  url: "VIDEO_ID",
  include_timestamps: true
});
  1. 広告フィルタリングなしで生の文字起こしを取得:
await server.callTool("get_transcript", {
  url: "VIDEO_ID",
  strip_ads: false
});
  1. Claude Desktop App で YouTube 字幕を抽出する方法
chat: https://youtu.be/ODaHJzOyVCQ?si=aXkJgso96Deri0aB Extract subtitles

セキュリティに関する考慮事項

サーバーは次の処理を行います:

  • すべての入力パラメーターを検証します
  • YouTube API のエラーを適切に処理します
  • 文字起こしの取得にタイムアウトを設定します
  • トラブルシューティングに役立つ詳細なエラーメッセージを提供します

ライセンス

この MCP サーバーは MIT License の下でライセンスされています。詳細については LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。