Youtube MCP Server
Youtube MCP サーバー
について
サーバーは、Youtube API と AI アシスタント間のブリッジであり、モデル コンテキスト プロトコルに基づいています。
Related MCP server: YouTube Tools MCP Server
MCPとは何ですか?
モデルコンテキストプロトコル(MCP)は、Claude DesktopのようなAIアプリが外部ツールやデータソースに接続できるようにするシステムです。これにより、AIアシスタントがローカルサービスやAPIを操作しながら、ユーザーによる操作を明確かつ安全に行えるようになります。
このサーバーは何をしますか?
[x] 指定されたビデオのクローズドキャプションをダウンロードする
実用的なユースケース
[x] ビデオの要約を作成する
前提条件
インストール
uv tool install git+https://github.com/sparfenyuk/mcp-youtube[!NOTE] サーバーをすでにインストールしている場合は、
uv tool upgrade --reinstallコマンドを使用して更新できます。
[!NOTE] サーバーを削除する場合は、
uv tool uninstall mcp-youtubeコマンドを使用します。
構成
クロードデスクトップ構成
Claude Desktop を Youtube MCP サーバーを認識するように設定します。
Claude Desktop 構成ファイルを開きます。
MacOSでは、設定ファイルは
~/Library/Application Support/Claude/claude_desktop_config.jsonにあります。Windowsでは、構成ファイルは
%APPDATA%\Claude\claude_desktop_config.jsonにあります。
注: claude_desktop_config.json は Claude Desktop アプリの設定内にもあります。
サーバー構成を追加する
{ "mcpServers": { "mcp-youtube": { "command": "mcp-youtube", } } } }
発達
はじめる
リポジトリをクローンする
依存関係をインストールする
uv syncサーバーを実行する
uv run mcp-youtube --help
ツールはsrc/mcp_youtube/tools.pyファイルに追加できます。
新しいツールを追加する方法:
ToolArgsから継承する新しいクラスを作成する
class NewTool(ToolArgs): """Description of the new tool.""" passクラスの属性はツールの引数として使用されます。クラスのdocstringはツールの説明として使用されます。
新しいクラスにtool_runner関数を実装する
@tool_runner.register async def new_tool(args: NewTool) -> t.Sequence[TextContent | ImageContent | EmbeddedResource]: passこの関数は、TextContent、ImageContent、またはEmbeddedResourceのシーケンスを返す必要があります。この関数は非同期で、新しいクラスの単一の引数を受け入れる必要があります。
完了です。クライアントを再起動すると、新しいツールが利用できるようになります。
検証は、Claude Desktop を通じて、またはツールを直接実行することによって実行できます。
インスペクターでサーバーをデバッグする
MCPインスペクターは、洗練されたUIを使用してサーバーのデバッグを支援するツールです。実行するには、次のコマンドを使用します。
npx @modelcontextprotocol/inspector uv run mcp-youtubeトラブルシューティング
メッセージ「MCP サーバー mcp-youtube に接続できませんでした」
Claude Desktop に「MCP サーバー mcp-youtube に接続できませんでした」というメッセージが表示される場合は、サーバーの構成が正しくないことを意味します。
次のことを試してください。
設定ファイルで
mcp-youtubeバイナリへのフルパスを使用します
Available Tools
1 toolDownloadClosedCaptionsC
Download closed captions from YouTube video.
| Name | Required | Description | Default |
|---|---|---|---|
| video_url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. While 'download' implies a read operation, it doesn't specify authentication requirements, rate limits, output format, error conditions, or whether it modifies any state. This leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just one sentence with no wasted words. It's front-loaded with the core purpose and contains no unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and 0% schema description coverage, the description is insufficient. It doesn't explain what format the captions are returned in, whether authentication is needed, or any error handling. The minimal description leaves too many questions unanswered for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, and the description doesn't provide any information about the single parameter beyond what's implied by the tool name. No details about the video_url format, validation rules, or examples are given, leaving the parameter poorly documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('download') and resource ('closed captions from YouTube video'), making the purpose immediately understandable. However, with no sibling tools mentioned, there's no opportunity to differentiate from alternatives, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, prerequisites, or limitations. It simply states what the tool does without contextual usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- Added
DownloadClosedCaptions
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or overlap between tools. The tool has a single, clear purpose that is distinct by default.
The single tool name follows a clear verb_noun pattern (DownloadClosedCaptions), and with no other tools, consistency is inherently perfect. There are no deviations or mixed conventions to evaluate.
A single tool for a YouTube server is too few for the apparent scope, as YouTube involves many operations like searching videos, getting metadata, or managing playlists. This feels thin and incomplete for the domain.
The tool surface is severely incomplete for a YouTube server. It only covers downloading closed captions, with no support for core YouTube functionalities such as video search, retrieval, or interaction, leading to significant gaps and agent failures.
Maintenance
Related MCP Connectors
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents.
Your YouTube library in Claude, ChatGPT and Cursor: transcripts, breakdowns, summaries, search.
Your YouTube library in Claude, ChatGPT and Cursor: transcripts, breakdowns, summaries, search.
Transcripts of YouTube videos, playlists and channels with timestamps; SRT or WebVTT too.
Related MCP Servers
- AlicenseBqualityFmaintenanceEnables AI assistants to analyze and summarize YouTube videos by extracting captions, subtitles, and comprehensive metadata including title, description, and duration in multiple languages.147 npm62MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to search YouTube videos using the official YouTube Data API v3, extract full video transcripts in multiple languages, and store/retrieve video summaries using a local database.4MIT
- AlicenseAqualityAmaintenanceConnect AI assistants to YouTube: search, transcripts, metadata, and more.1964 npm6MIT
- AlicenseNot gradedqualityDmaintenanceExtracts captions, metadata, and descriptions from YouTube videos to enable AI assistants to summarize their content.8 npmMIT