Youtube MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides integration with Claude Desktop, allowing the AI assistant to access YouTube video captions
  • Allows downloading closed captions from YouTube videos, which can be used for creating video summaries and analyzing video content

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.

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 using uv tool upgrade --reinstall command.

[!NOTE] If you want to delete the server, use the uv 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

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Bridges YouTube API and AI assistants, enabling video analysis by downloading and processing closed captions to create summaries of YouTube videos.

  1. About
    1. What is MCP?
      1. What does this server do?
        1. Practical use cases
          1. Prerequisites
            1. Installation
              1. Configuration
                1. Claude Desktop Configuration
                2. Development
                  1. Getting started
                    1. Debugging the server in the Inspector
                    2. Troubleshooting
                      1. Message 'Could not connect to MCP server mcp-youtube'