MCP ExplorerExplorer

YouTube

@ZubeidHendrickson 13 days ago
201 MIT
FreeCommunity
Media Creation
#youtube#video#transcripts#api
Comprehensive YouTube API integration for video management, Shorts creation, and analytics.

Overview

What is YouTube

The YouTube MCP Server is a Model Context Protocol implementation that allows AI language models to interact with YouTube content through a standardized interface, facilitating access to video information, transcripts, and channel management.

Use cases

This server can be used to retrieve video details, manage transcripts, get channel statistics, and search for videos or playlists, making it valuable for content creators, researchers, and developers looking to integrate YouTube functionalities in their applications.

How to use

To set up, install the server via npm or use NPX without installation. Configure the server in the Claude Desktop environment by providing your YouTube API key and specifying optional settings for transcript language, making it ready to respond to various YouTube-related queries.

Key features

Key features include retrieving video information, managing transcripts in multiple languages, accessing detailed channel statistics, and handling playlists, which enhance the capabilities of AI interactions with YouTube content.

Where to use

This MCP server can be utilized in applications that require interaction with YouTube, such as chatbots, virtual assistants, and data analysis tools, thereby enhancing user engagement and providing rich content experiences.

Content

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

Quick Setup for Claude Desktop

  1. Install the package:
npm install -g zubeid-youtube-mcp-server
  1. Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
  "mcpServers": {
    "zubeid-youtube-mcp-server": {
      "command": "zubeid-youtube-mcp-server",
      "env": {
        "YOUTUBE_API_KEY": "your_youtube_api_key_here"
      }
    }
  }
}

Alternative: Using NPX (No Installation Required)

Add this to your Claude Desktop configuration:

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": [
        "-y",
        "zubeid-youtube-mcp-server"
      ],
      "env": {
        "YOUTUBE_API_KEY": "your_youtube_api_key_here"
      }
    }
  }
}

Installing via Smithery

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

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

Configuration

Set the following environment variables:

  • YOUTUBE_API_KEY: Your YouTube Data API key (required)
  • YOUTUBE_TRANSCRIPT_LANG: Default language for transcripts (optional, defaults to ‘en’)

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

# Install dependencies
npm install

# Run tests
npm test

# Build
npm run build

# Lint
npm run lint

Contributing

See CONTRIBUTING.md for information about contributing to this repository.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Tools

No tools

Comments