Skip to main content
Glama

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-youtube
NOTE

If you have already installed the server, you can update it usinguv tool upgrade --reinstall command.

NOTE

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.

  1. Open the Claude Desktop configuration file:

    • in MacOS, the configuration file is located at ~/Library/Application Support/Claude/claude_desktop_config.json

    • in 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

  2. Add the server configuration

    {
      "mcpServers": {
        "mcp-youtube": {
            "command": "mcp-youtube",
          }
        }
      }
    }

Development

Getting started

  1. Clone the repository

  2. Install the dependencies

    uv sync
  3. Run 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:

  1. Create a new class that inherits from ToolArgs

    class NewTool(ToolArgs):
        """Description of the new tool."""
        pass

    Attributes of the class will be used as arguments for the tool. The class docstring will be used as the tool description.

  2. Implement the tool_runner function for the new class

    @tool_runner.register
    async def new_tool(args: NewTool) -> t.Sequence[TextContent | ImageContent | EmbeddedResource]:
        pass

    The function should return a sequence of TextContent, ImageContent or EmbeddedResource. The function should be async and accept a single argument of the new class.

  3. 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-youtube

Troubleshooting

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-youtube binary in the configuration file

Available Tools

1 tool
DownloadClosedCaptionsC

Download closed captions from YouTube video.

ParametersJSON Schema
NameRequiredDescriptionDefault
video_urlYes

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

C2.9/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness1/5

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

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

Latest Blog Posts

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