ページの作成:「== 概要 == YouTube MCPサーバは、Model Context Protocol (MCP) を通じて、AIアシスタントがYouTube動画の字幕・トランスクリプトを取得するための機能を提供するサーバである。<br> YouTube動画のURLを指定するだけで、AIアシスタントが動画の内容を分析・要約できるようになる。<br> <br> YouTube Data APIキーは不要で、手軽に導入可能である。<br> Claude Desktop、Claude Code…」
 
編集の要約なし
 
39行目: 39行目:
| npmパッケージ || @anaisbetts/mcp-youtube || @kimtaeyoon83/mcp-server-youtube-transcript
| npmパッケージ || @anaisbetts/mcp-youtube || @kimtaeyoon83/mcp-server-youtube-transcript
|-
|-
| バージョン || 0.6.0 || 0.1.1
| バージョン || 0.7.4 || 0.1.1 (npm)
|-
|-
| ライセンス || MIT || MIT
| ライセンス || MIT || MIT
|-
|-
| GitHub スター数 || 506 || 503
| GitHub スター数 || 538 || 582
|-
|-
| 外部依存 || yt-dlp 必須 || なし
| 外部依存 || yt-dlp 必須 || なし
|-
|-
| 多言語対応 || 限定的 || 対応 (自動フォールバック)
| 多言語対応 || 対応 (en優先、フォールバック) || 対応 (自動フォールバック)
|-
|-
| 広告フィルタリング || なし || 対応 (デフォルト有効)
| 広告フィルタリング || なし || 対応 (デフォルト有効)
53行目: 53行目:
| タイムスタンプ制御 || タイムスタンプ除去 || 表示 / 非表示を選択可能
| タイムスタンプ制御 || タイムスタンプ除去 || 表示 / 非表示を選択可能
|-
|-
| YouTube Shorts対応 || 不明 || 対応
| YouTube Shorts対応 || 対応 (yt-dlp依存) || 対応
|-
|-
| YouTube API キー || 不要 || 不要
| YouTube API キー || 不要 || 不要
|}
|}
</center>
</center>
<br><br>
<br>
バージョンの0.1.1 (npm)は、npmで公開されているパッケージのバージョンを示す。GitHub上の開発状況とは別に確認する必要がある。<br><br>


== 動作要件 ==
== 動作要件 ==
73行目: 74行目:
* Node.js 18以上
* Node.js 18以上
*: MCPサーバの実行環境として必要
*: MCPサーバの実行環境として必要
*: 外部ツールへの依存はなし
* 外部ツールへの依存はなし
<br><br>
<br><br>


113行目: 114行目:
<br>
<br>
Claude Codeの設定ファイルを以下に示す。<br>
Claude Codeの設定ファイルを以下に示す。<br>
* ローカルスコープ
* local スコープ (デフォルト)
*: <u>.mcp.json</u> (プロジェクトルート) : <code>claude mcp add</code> コマンドで生成される。
*: <u>~/.claude.json</u> 内の現在プロジェクト用エントリに保存される。
* ユーザスコープ
* project スコープ
*: <u>~/.claude.json</u> (ホームディレクトリ)
*: プロジェクトルートの <u>.mcp.json</u> に保存される。
*: チーム共有用。
* user スコープ
*: <u>~/.claude.json</u> (ホームディレクトリ) に保存される。
*: 全プロジェクトで利用可能。
<br>
<br>
==== mcp-youtubeの設定 ====
==== mcp-youtubeの設定 ====
140行目: 145行目:
  claude mcp add youtube -- npx -y @anaisbetts/mcp-youtube
  claude mcp add youtube -- npx -y @anaisbetts/mcp-youtube
<br>
<br>
プロジェクトスコープで設定する場合は、<code>--scope project</code> オプションを追加する。<br>
project スコープを明示する場合は、<code>--scope</code> (短縮形 <code>-s</code>) オプションを使用する。<br>
<br>
<br>
  claude mcp add --scope project youtube -- npx -y @anaisbetts/mcp-youtube
  claude mcp add --scope project youtube -- npx -y @anaisbetts/mcp-youtube
<br>
<br>
===== VS Code / Cursorでの設定 =====
===== VS Codeでの設定 =====
<u>.vscode/mcp.json</u> または <u>.cursor/mcp.json</u> ファイルに以下に示す内容を設定する。<br>
VS Code 1.99以降では、GitHub Copilot Chat がMCPをネイティブサポートしている。<br>
<u>.vscode/mcp.json</u> ファイルに以下に示す内容を設定する。<br>
VS Codeは <code>servers</code> キーを使用し、Claude DesktopやCursorの <code>mcpServers</code> とは異なる点に注意する。<br>
<br>
<syntaxhighlight lang="json">
{
  "servers": {
    "youtube": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@anaisbetts/mcp-youtube"]
    }
  }
}
</syntaxhighlight>
<br>
===== Cursorでの設定 =====
<u>~/.cursor/mcp.json</u> (グローバル) または <u>.cursor/mcp.json</u> (プロジェクト) ファイルに以下に示す内容を設定する。<br>
Cursorは Claude Desktop と同じ <code>mcpServers</code> キーを使用する。<br>
<br>
<br>
  <syntaxhighlight lang="json">
  <syntaxhighlight lang="json">
159行目: 182行目:
<br>
<br>
===== Windowsでの設定 =====
===== Windowsでの設定 =====
Windowsでは <code>npx</code> を使用するMCPサーバの場合、<code>cmd /c</code> ラッパーが必要である。<br>
Windows環境で <code>npx</code> の起動に失敗する場合、<code>cmd /c</code> ラッパーを使用することで動作する場合がある。<br>
公式ドキュメントでは必須とされていないが、環境依存の回避策として使用できる。<br>
<br>
<br>
  <syntaxhighlight lang="json">
  <syntaxhighlight lang="json">
192行目: 216行目:
  claude mcp add youtube-transcript -- npx -y @kimtaeyoon83/mcp-server-youtube-transcript
  claude mcp add youtube-transcript -- npx -y @kimtaeyoon83/mcp-server-youtube-transcript
<br>
<br>
プロジェクトスコープで設定する場合は、<code>--scope project</code> オプションを追加する。<br>
project スコープを明示する場合は、<code>--scope</code> (短縮形 <code>-s</code>) オプションを使用する。<br>
<br>
<br>
  claude mcp add --scope project youtube-transcript -- npx -y @kimtaeyoon83/mcp-server-youtube-transcript
  claude mcp add --scope project youtube-transcript -- npx -y @kimtaeyoon83/mcp-server-youtube-transcript
<br>
<br>
===== VS Code / Cursorでの設定 =====
===== VS Codeでの設定 =====
<u>.vscode/mcp.json</u> または <u>.cursor/mcp.json</u> ファイルに以下に示す内容を設定する。<br>
VS Code 1.99以降では、GitHub Copilot ChatがMCPをネイティブサポートしている。<br>
<br>
<u>.vscode/mcp.json</u> ファイルに以下に示す内容を設定する。<br>
VS Codeは <code>servers</code> キーを使用して、Claude DesktopやCursorの <code>mcpServers</code> とは異なることに注意する。<br>
<br>
<syntaxhighlight lang="json">
{
  "servers": {
    "youtube-transcript": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@kimtaeyoon83/mcp-server-youtube-transcript"]
    }
  }
}
</syntaxhighlight>
<br>
===== Cursorでの設定 =====
<u>~/.cursor/mcp.json</u> (グローバル) または <u>.cursor/mcp.json</u> (プロジェクト) ファイルに以下に示す内容を設定する。<br>
Cursorは Claude Desktop と同じ <code>mcpServers</code> キーを使用する。<br>
<br>
<br>
  <syntaxhighlight lang="json">
  <syntaxhighlight lang="json">
211行目: 254行目:
<br>
<br>
===== Windowsでの設定 =====
===== Windowsでの設定 =====
Windowsでは <code>cmd /c</code> ラッパーを使用する。<br>
Windows環境でnpxの起動に失敗する場合、<code>cmd /c</code> ラッパーを使用することで動作する場合がある。<br>
公式ドキュメントでは必須とされていないが、環境依存の回避策として使用できる。<br>
<br>
<br>
  <syntaxhighlight lang="json">
  <syntaxhighlight lang="json">
223行目: 267行目:
  }
  }
  </syntaxhighlight>
  </syntaxhighlight>
<br>
==== OpenCodeでの設定 ====
OpenCodeでは、<u>opencode.json / opencode.jsonc</u> ファイル または <code>opencode mcp add</code> コマンドでMCPサーバを追加できる。<br>
<br>
===== 設定ファイルの場所 =====
OpenCodeの設定ファイルは、グローバルスコープまたはプロジェクトスコープに配置する。<br>
<br>
* グローバルスコープ
*: <u>~/.config/opencode/opencode.json</u>
* プロジェクトスコープ
*: <u>&lt;プロジェクトルート&gt;/opencode.json</u> または <u>.opencode/opencode.json</u>
<br>
===== mcp-youtubeの設定例 =====
<u>opencode.json / opencode.jsonc</u> ファイルに以下に示す内容を設定する。<br>
<br>
<syntaxhighlight lang="json">
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "youtube": {
      "type": "local",
      "command": ["npx", "-y", "@anaisbetts/mcp-youtube"]
    }
  }
}
</syntaxhighlight>
<br>
コマンドで追加する場合は、以下に示すコマンドを実行する。<br>
<br>
opencode mcp add youtube -- npx -y @anaisbetts/mcp-youtube
<br>
===== mcp-server-youtube-transcriptの設定例 =====
<u>opencode.json</u> に以下に示す内容を設定する。<br>
<br>
<syntaxhighlight lang="json">
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "youtube-transcript": {
      "type": "local",
      "command": ["npx", "-y", "@kimtaeyoon83/mcp-server-youtube-transcript"]
    }
  }
}
</syntaxhighlight>
<br>
コマンドで追加する場合は、以下に示すコマンドを実行する。<br>
<br>
opencode mcp add youtube-transcript -- npx -y @kimtaeyoon83/mcp-server-youtube-transcript
<br>
<u>analyze_video</u> を使用する場合は、環境変数を指定する。<br>
<br>
<syntaxhighlight lang="json">
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "youtube-transcript": {
      "type": "local",
      "command": ["npx", "-y", "@kimtaeyoon83/mcp-server-youtube-transcript"],
      "environment": {
        "TWELVELABS_API_KEY": "{env:TWELVELABS_API_KEY}"
      }
    }
  }
}
</syntaxhighlight>
<br>
===== 設定の確認 =====
登録済みのMCPサーバは、以下に示すコマンドで確認できる。<br>
<br>
opencode mcp list
opencode mcp debug youtube
opencode mcp debug youtube-transcript
<br>
<code>opencode mcp ls</code> コマンドも一覧表示の別名として使用できる。<br>
<br>
===== OpenCode固有の注意事項 =====
* <code>type</code> は、<u>local</u> または <u>remote</u> を指定する。<br>Claude Desktopの <u>stdio</u>、<u>sse</u>、<u>http</u> とは異なる。
* <code>command</code> は配列形式で指定する。<br>Claude Desktopの <u>command</u> と <u>args</u> を1つの配列に結合する。
* 環境変数フィールドは、<code>environment</code> を使用する。
* 環境変数の値は、<code>{env:VARIABLE_NAME}</code> 形式で参照できる。
<br><br>
<br><br>


234行目: 359行目:
! ツール名 !! 説明
! ツール名 !! 説明
|-
|-
| get_transcript || YouTube URLを指定して字幕テキストを取得する。<br>yt-dlpを使用して字幕データを取得し、テキスト形式で返す。
| download_youtube_url || YouTube URLを指定して字幕データを取得する。<br>yt-dlpを使用して字幕データを取得し、テキスト形式で返す。<br>パラメータ: url (必須)
|}
|}
</center>
</center>
<br>
<br>
mcp-youtubeのツール名は <code>download_youtube_url</code> であり、mcp-server-youtube-transcriptの <code>get_transcript</code> とは異なる。<br><br>
==== mcp-server-youtube-transcriptのツール ====
==== mcp-server-youtube-transcriptのツール ====
下表に、mcp-server-youtube-transcriptが提供するツールとパラメータを示す。<br>
下表に、mcp-server-youtube-transcriptが提供するツールとパラメータを示す。<br>
253行目: 379行目:
|-
|-
| get_transcript || strip_ads (オプション、デフォルト: true) || 広告・スポンサーシップに関する文字列を除去するかどうかを指定する。
| get_transcript || strip_ads (オプション、デフォルト: true) || 広告・スポンサーシップに関する文字列を除去するかどうかを指定する。
|-
| analyze_video || url (必須) || 解析対象の動画URL。<br>YouTube視聴ページURLではなく、公開された直接動画URLを指定する。
|-
| analyze_video || prompt (オプション) || 解析指示。<br>デフォルトは一般要約。
|-
| analyze_video || model (オプション、デフォルト: pegasus1.2) || 解析モデル。<br>pegasus1.2 または pegasus1.5 を指定する。
|-
| analyze_video || max_tokens (オプション、デフォルト: 2048) || 最大出力トークン数。
|}
|}
</center>
</center>
<br>
<u>analyze_video</u> ツールはTwelveLabs Pegasusを使用するため、環境変数 <code>TWELVELABS_API_KEY</code> が必要となる。<br>
ただし、<u>get_transcript</u> の使用には、この環境変数は不要である。<br>
<br>
<br>
==== 対応URL形式 (mcp-server-youtube-transcript) ====
==== 対応URL形式 (mcp-server-youtube-transcript) ====
mcp-server-youtube-transcriptは、以下に示すURL形式に対応している。<br>
mcp-server-youtube-transcriptは、以下に示すURL形式に対応している。<br>
YouTube Shorts URLも使用できることが確認されている。<br>
<br>
<br>
* 通常URL
* 通常URL
*: https://www.youtube.com/watch?v=<動画ID>
*: https://www.youtube.com/watch?v=&lt;動画ID&gt;
* YouTube Shorts URL
* YouTube Shorts URL
*: https://www.youtube.com/shorts/<動画ID>
*: https://www.youtube.com/shorts/&lt;動画ID&gt;
* 短縮URL
* 短縮URL
*: https://youtu.be/<動画ID>
*: https://youtu.be/&lt;動画ID&gt;
* 動画IDのみ
* 動画IDのみ
*: <動画ID>
*: &lt;動画ID&gt;
<br><br>
 
== TwelveLabs APIキーの取得 ==
mcp-server-youtube-transcript の <u>analyze_video</u> ツールを使用するには、TwelveLabsのAPIキーが必要である。<br>
<br>
ただし、<u>get_transcript</u> ツールのみを使用する場合は、APIキーは不要である。<br>
<br>
取得手順を以下に示す。<br>
<br>
==== 手順1: アカウントの作成 ====
[https://playground.twelvelabs.io/ TwelveLabs Playground]にアクセスして、アカウントを作成する。<br>
メールアドレス、Googleアカウント、GitHubアカウントのいずれかで登録できる。<br>
<br>
新規登録すると、自動的に無料プラン (Free) が割り当てられる。<br>
無料プランは、クレジットカードの登録なしで利用できる。<br>
<br>
==== 手順2: APIキーの作成 ====
アカウント作成後、以下に示す手順でAPIキーを取得する。<br>
<br>
# TwelveLabsのDashboardにログインする。
# サイドバーから[API Keys]を選択する。
#: 直接アクセスする場合のURL: [https://playground.twelvelabs.io/dashboard/api-keys API Keys ページ]
# [Create API Key]ボタンを押下する。
# APIキーの名前 (任意) と有効期限を設定する。
#: デフォルトの有効期限は12ヶ月である。
# [Create]ボタンを押下して、APIキーを生成する。
# 一覧に表示されたAPIキーの横のコピーアイコンを選択して、クリップボードにコピーする。
<br>
==== 手順3: APIキーの設定 ====
取得したAPIキーを、環境変数 <code>TWELVELABS_API_KEY</code> に設定する。<br>
設定方法は、使用するMCPクライアントにより異なる。<br>
<br>
各MCPクライアントでの設定方法を以下に示す。<br>
* OpenCode
*: <u>opencode.json</u> の <code>environment</code> フィールドに指定する。
*: 詳細を知りたい場合は、本ページの[[#OpenCodeでの設定|OpenCodeでの設定セクション]]を参照すること。
* Claude Desktop
*: <u>claude_desktop_config.json</u> のサーバ設定に <code>env</code> フィールドを追加して指定する。
* Claude Code
*: <code>claude mcp add</code> コマンドの <code>--env</code> (短縮形 <code>-e</code>) オプションで指定する。
* VS Code
*: <u>.vscode/mcp.json</u> のサーバ設定に <code>env</code> フィールドを追加して指定する。
* Cursor
*: <u>~/.cursor/mcp.json</u> または <u>.cursor/mcp.json</u> のサーバ設定に <code>env</code> フィールドを追加して指定する。
<br>
Claude CodeでのAPIキー指定例を以下に示す。<br>
<br>
claude mcp add -e TWELVELABS_API_KEY=<取得したAPIキー> youtube-transcript -- npx -y @kimtaeyoon83/mcp-server-youtube-transcript
<br>
==== 無料枠と料金 ====
TwelveLabsの無料プラン (Free) では、合計600分 (10時間) まで動画をインデックスできる。<br>
この無料枠は累積であり、インデックスや動画を削除しても復元されない。<br>
<br>
無料枠を超えて利用する場合は、Developerプランへのアップグレードが必要である。<br>
Developerプランへのアップグレードには、クレジットカードの登録が必要となる。<br>
<br>
下表に、Pegasus 1.2の主な料金を示す。<br>
<br>
<center>
{| class="wikitable"
|+ Pegasus 1.2 の主な料金
! 項目 !! 単価
|-
| 動画インデックス (1回) || $0.042 / 分
|-
| API入力 (動画) || $0.021 / 分
|-
| API出力 (テキスト) || $0.0075 / 1,000 トークン
|}
</center>
<br>
料金は変動する可能性があるため、最新の料金体系は[https://www.twelvelabs.io/pricing TwelveLabs公式の料金ページ]で確認すること。<br>
<br><br>
<br><br>


281行目: 491行目:
  このYouTube動画を要約してください: https://www.youtube.com/watch?v=xxxxx
  このYouTube動画を要約してください: https://www.youtube.com/watch?v=xxxxx
  </syntaxhighlight>
  </syntaxhighlight>
*: <br>
* キーポイントを抽出する場合
* キーポイントを抽出する場合
*: <syntaxhighlight lang="text">
*: <syntaxhighlight lang="text">
288行目: 497行目:
  この動画のキーポイントを5つ教えてください: https://www.youtube.com/watch?v=xxxxx
  この動画のキーポイントを5つ教えてください: https://www.youtube.com/watch?v=xxxxx
  </syntaxhighlight>
  </syntaxhighlight>
*: <br>
<br>
<br>
==== 多言語字幕の取得 ====
==== 多言語字幕の取得 ====
300行目: 508行目:
  この動画の日本語字幕を取得してください: https://www.youtube.com/watch?v=xxxxx
  この動画の日本語字幕を取得してください: https://www.youtube.com/watch?v=xxxxx
  </syntaxhighlight>
  </syntaxhighlight>
*: <br>
<br>
<br>
==== 技術情報の抽出 ====
==== 技術情報の抽出 ====
311行目: 518行目:
  この技術動画で紹介されているツールを一覧にしてください: https://www.youtube.com/watch?v=xxxxx
  この技術動画で紹介されているツールを一覧にしてください: https://www.youtube.com/watch?v=xxxxx
  </syntaxhighlight>
  </syntaxhighlight>
*: <br>
<br><br>
<br><br>


336行目: 542行目:
</center>
</center>
<br><br>
<br><br>
== その他のYouTube系MCPサーバ ==
字幕取得以外の機能 (検索、メタデータ、ダウンロード等) を提供するYouTube系MCPサーバの実装として、以下のものが知られている。<br>
<br>
<center>
{| class="wikitable"
! 実装名 !! 主な機能 !! 必要なもの !! 備考
|-
| ZubeidHendricks/youtube-mcp-server || 検索、動画統計、字幕、チャンネル、プレイリスト || YouTube Data API キー || Node.js (npm: zubeid-youtube-mcp-server)
|-
| kevinwatt/yt-dlp-mcp || 検索、メタデータ、字幕、ダウンロード、コメント || yt-dlp || Node.js (npm: @kevinwatt/yt-dlp-mcp)
|-
| jkawamoto/mcp-youtube-transcript || 字幕取得、タイムスタンプ付き字幕、動画情報 || なし (uvxで実行) || Python実装
|-
| ShellyDeng08/youtube-connector-mcp || 検索、メタデータ、字幕、コメント、チャンネル統計 || YouTube Data API キー || Python実装
|}
</center>
<br>
これらは、単純な字幕取得を超えて、検索やダウンロード、統計情報の取得等の機能を必要とする場合に検討する価値がある。<br><br>




{{#seo:
{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板,YouTube,MCP,Model Context Protocol,字幕,トランスクリプト,Claude,AI,mcp-youtube,yt-dlp,mcp-server-youtube-transcript,MCPサーバ,AIアシスタント
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板,YouTube,MCP,Model Context Protocol,字幕,トランスクリプト,Claude,AI,mcp-youtube,yt-dlp,mcp-server-youtube-transcript,MCPサーバ,AIアシスタント,OpenCode,opencode.json,download_youtube_url,analyze_video,TwelveLabs,Pegasus,yt-dlp-mcp
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
|image=/resources/assets/MochiuLogo_Single_Blue.png