Youtube MCP Server
The YouTube MCP Server acts as a bridge between AI assistants and the YouTube API using the Model Context Protocol (MCP). This server enables you to:
Download closed captions from a specified YouTube video using the video URL
Create video summaries by utilizing the downloaded captions
Allow AI assistants (like Claude Desktop) to effectively analyze YouTube content
Allows downloading closed captions from YouTube videos, which can be used for creating video summaries and analyzing video content
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Youtube MCP Serversummarize the video at https://www.youtube.com/watch?v=dQw4w9WgXcQ"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Youtube MCP server
About
The server is a bridge between the Youtube API and the AI assistants and is based on the Model Context Protocol.
Related MCP server: YouTube Tools MCP Server
What is MCP?
The Model Context Protocol (MCP) is a system that lets AI apps, like Claude Desktop, connect to external tools and data sources. It gives a clear and safe way for AI assistants to work with local services and APIs while keeping the user in control.
What does this server do?
Download closed captions for the given video
Practical use cases
Create a summary of the video
Prerequisites
Installation
uv tool install git+https://github.com/sparfenyuk/mcp-youtubeIf you have already installed the server, you can update it usinguv tool upgrade --reinstall command.
If you want to delete the server, use theuv tool uninstall mcp-youtube command.
Configuration
Claude Desktop Configuration
Configure Claude Desktop to recognize the Youtube MCP server.
Open the Claude Desktop configuration file:
in MacOS, the configuration file is located at
~/Library/Application Support/Claude/claude_desktop_config.jsonin Windows, the configuration file is located at
%APPDATA%\Claude\claude_desktop_config.json
Note: You can also find claude_desktop_config.json inside the settings of Claude Desktop app
Add the server configuration
{ "mcpServers": { "mcp-youtube": { "command": "mcp-youtube", } } } }
Development
Getting started
Clone the repository
Install the dependencies
uv syncRun the server
uv run mcp-youtube --help
Tools can be added to the src/mcp_youtube/tools.py file.
How to add a new tool:
Create a new class that inherits from ToolArgs
class NewTool(ToolArgs): """Description of the new tool.""" passAttributes of the class will be used as arguments for the tool. The class docstring will be used as the tool description.
Implement the tool_runner function for the new class
@tool_runner.register async def new_tool(args: NewTool) -> t.Sequence[TextContent | ImageContent | EmbeddedResource]: passThe function should return a sequence of TextContent, ImageContent or EmbeddedResource. The function should be async and accept a single argument of the new class.
Done! Restart the client and the new tool should be available.
Validation can accomplished either through Claude Desktop or by running the tool directly.
Debugging the server in the Inspector
The MCP inspector is a tool that helps to debug the server using fancy UI. To run it, use the following command:
npx @modelcontextprotocol/inspector uv run mcp-youtubeTroubleshooting
Message 'Could not connect to MCP server mcp-youtube'
If you see the message 'Could not connect to MCP server mcp-youtube' in Claude Desktop, it means that the server configuration is incorrect.
Try the following:
Use the full path to the
mcp-youtubebinary in the configuration file
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.
TDQS
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents. No signup.
Clean YouTube transcripts for agents: single videos, channels, playlists, plus AI caption cleanup.
YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.
Transcribe YouTube via Whisper. Summaries, chapters, semantic-search across your corpus.
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.14560MIT
- 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.191046MIT
- AlicenseNot gradedqualityDmaintenanceExtracts captions, metadata, and descriptions from YouTube videos to enable AI assistants to summarize their content.11MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sparfenyuk/mcp-youtube'
If you have feedback or need assistance with the MCP directory API, please join our Discord server