YouTube MCP Server

by negabaro

149 downloads
Not rated
GitHub

Description

# YouTube MCP Server [![smithery badge](https://smithery.ai/badge/@ZubeidHendricks/youtube)](https://smithery.ai/server/@ZubeidHendricks/youtube) A Model Context Protocol (MCP) server implementation for YouTube, enabling AI language models to interact with YouTube content…

About

# YouTube MCP Server [![smithery badge](https://smithery.ai/badge/@ZubeidHendricks/youtube)](https://smithery.ai/server/@ZubeidHendricks/youtube) A Model Context Protocol (MCP) server implementation for YouTube, enabling AI language models to interact with YouTube content through a standardized interface. ## Features…

Details

Author
negabaro
Downloads
149
Categories
Media

- Retrieve video details, statistics, and search across YouTube
- Get video transcripts with support for multiple languages and timestamped captions
- List and search within channel content and playlists
- Manage playlist items and retrieve playlist transcripts

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name YouTube MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install via Smithery or npm, then set the YOUTUBE_API_KEY environment variable with a valid YouTube Data API v3 key. Configure your MCP client (e.g., Claude Desktop or VS Code) to use the server. Optionally set YOUTUBE_TRANSCRIPT_LANG for a default transcript language (defaults to 'en').

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "youtube mcp server": {
            "youtube-mcp-server-negabaro": {
                "command": "npx",
                "args": [
                    "-y",
                    "@smithery/cli",
                    "install",
                    "@ZubeidHendricks/youtube",
                    "--client",
                    "claude"
                ]
            }
        }
    }
}

McpServers

{
    "youtube-mcp-server-negabaro": {
        "command": "npx",
        "args": [
            "-y",
            "@smithery/cli",
            "install",
            "@ZubeidHendricks/youtube",
            "--client",
            "claude"
        ]
    }
}

YouTube MCP Server

smithery badge

A Model Context Protocol (MCP) server implementation for YouTube, enabling AI language models to interact with YouTube content through a standardized interface.

Features

Video Information

Get video details (title, description, duration, etc.) List channel videos Get video statistics (views, likes, comments) Search videos across YouTube

Transcript Management

Retrieve video transcripts Support for multiple languages Get timestamped captions Search within transcripts

Channel Management

Get channel details List channel playlists Get channel statistics Search within channel content

Playlist Management

List playlist items Get playlist details Search within playlists Get playlist video transcripts

Installation

Installing via Smithery

To install YouTube MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @ZubeidHendricks/youtube --client claude

Manual Installation

npm install zubeid-youtube-mcp-server

Configuration

Set the following environment variables: YOUTUBE_API_KEY: Your YouTube Data API key YOUTUBE_TRANSCRIPT_LANG: Default language for transcripts (optional, defaults to 'en')

Using with MCP Client

Add this to your MCP client configuration (e.g. Claude Desktop):
{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "zubeid-youtube-mcp-server"],
      "env": {
        "YOUTUBE_API_KEY": "<YOUR_API_KEY>"
      }
    }
  }
}

Using with VS Code

For one-click installation, click one of the install buttons below:

Install with NPX in VS Code Install with NPX in VS Code Insiders

Manual Installation

If you prefer manual installation, first check the install buttons at the top of this section. Otherwise, follow these steps:

Add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P and typing Preferences: Open User Settings (JSON).

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "apiKey",
        "description": "YouTube API Key",
        "password": true
      }
    ],
    "servers": {
      "youtube": {
        "command": "npx",
        "args": ["-y", "zubeid-youtube-mcp-server"],
        "env": {
          "YOUTUBE_API_KEY": "${input:apiKey}"
        }
      }
    }
  }
}

Optionally, you can add it to a file called .vscode/mcp.json in your workspace:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "apiKey",
      "description": "YouTube API Key",
      "password": true
    }
  ],
  "servers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "zubeid-youtube-mcp-server"],
      "env": {
        "YOUTUBE_API_KEY": "${input:apiKey}"
      }
    }
  }
}

YouTube API Setup

1. Go to Google Cloud Console 2. Create a new project or select an existing one 3. Enable the YouTube Data API v3 4. Create API credentials (API key) 5. Copy the API key for configuration

Examples

Managing Videos

// Get video details
const video = await youtube.videos.getVideo({
  videoId: "video-id"
});

// Get video transcript
const transcript = await youtube.transcripts.getTranscript({
videoId: "video-id",
language: "en"
});

// Search videos
const searchResults = await youtube.videos.searchVideos({
query: "search term",
maxResults: 10
});

Managing Channels

// Get channel details
const channel = await youtube.channels.getChannel({
  channelId: "channel-id"
});

// List channel videos
const videos = await youtube.channels.listVideos({
channelId: "channel-id",
maxResults: 50
});

Managing Playlists

// Get playlist items
const playlistItems = await youtube.playlists.getPlaylistItems({
  playlistId: "playlist-id",
  maxResults: 50
});

// Get playlist details
const playlist = await youtube.playlists.getPlaylist({
playlistId: "playlist-id"
});

Development

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.