Labsco
sparfenyuk logo

YouTube

โ˜… 19

from sparfenyuk

An MCP server for interacting with YouTube's data and services.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup

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.

Youtube Server 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

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