YouTube

Un servidor MCP para interactuar con los datos y servicios de YouTube.

Documentación

Youtube MCP server

Acerca de

El servidor es un puente entre la API de Youtube y los asistentes de IA, y se basa en el Protocolo de Contexto de Modelo.

Youtube Server MCP server

¿Qué es MCP?

El Protocolo de Contexto de Modelo (MCP) es un sistema que permite que las aplicaciones de IA, como Claude Desktop, se conecten a herramientas externas y fuentes de datos. Proporciona una forma clara y segura para que los asistentes de IA trabajen con servicios locales y APIs, manteniendo al usuario en control.

¿Qué hace este servidor?

  • Descargar subtítulos para el video dado

Casos de uso prácticos

  • Crear un resumen del video

Requisitos previos

Instalación

uv tool install git+https://github.com/sparfenyuk/mcp-youtube

[!NOTE] Si ya has instalado el servidor, puedes actualizarlo usando el comando uv tool upgrade --reinstall.

[!NOTE] Si quieres eliminar el servidor, usa el comando uv tool uninstall mcp-youtube.

Configuración

Configuración de Claude Desktop

Configura Claude Desktop para que reconozca el servidor MCP de Youtube.

  1. Abre el archivo de configuración de Claude Desktop:

    • en MacOS, el archivo de configuración se encuentra en ~/Library/Application Support/Claude/claude_desktop_config.json
    • en Windows, el archivo de configuración se encuentra en %APPDATA%\Claude\claude_desktop_config.json

    Nota: También puedes encontrar claude_desktop_config.json en la configuración de la aplicación Claude Desktop

  2. Agrega la configuración del servidor

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

Desarrollo

Primeros pasos

  1. Clona el repositorio

  2. Instala las dependencias

    uv sync
    
  3. Ejecuta el servidor

    uv run mcp-youtube --help
    

Se pueden agregar herramientas al archivo src/mcp_youtube/tools.py.

Cómo agregar una nueva herramienta:

  1. Crea una nueva clase que herede de ToolArgs

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

    Los atributos de la clase se usarán como argumentos para la herramienta. El docstring de la clase se usará como descripción de la herramienta.

  2. Implementa la función tool_runner para la nueva clase

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

    La función debe devolver una secuencia de TextContent, ImageContent o EmbeddedResource. La función debe ser asíncrona y aceptar un único argumento de la nueva clase.

  3. ¡Listo! Reinicia el cliente y la nueva herramienta debería estar disponible.

La validación se puede realizar a través de Claude Desktop o ejecutando la herramienta directamente.

Depuración del servidor en el Inspector

El inspector de MCP es una herramienta que ayuda a depurar el servidor usando una interfaz de usuario elegante. Para ejecutarlo, usa el siguiente comando:

npx @modelcontextprotocol/inspector uv run mcp-youtube

Solución de problemas

Mensaje 'Could not connect to MCP server mcp-youtube'

Si ves el mensaje 'Could not connect to MCP server mcp-youtube' en Claude Desktop, significa que la configuración del servidor es incorrecta.

Prueba lo siguiente:

  • Usa la ruta completa al binario mcp-youtube en el archivo de configuración