YouTube MCP Server logo

YouTube MCP Server

by icraft2170

A Model Context Protocol (MCP) server implementation utilizing the YouTube Data API. It allows AI language models to interact with YouTube content through a standardized interface.

View on GitHub

Last updated: N/A

YouTube MCP Server

A Model Context Protocol (MCP) server implementation utilizing the YouTube Data API. It allows AI language models to interact with YouTube content through a standardized interface.

Key Features

Video Information

  • Retrieve detailed video information (title, description, duration, statistics)
  • Search for videos by keywords
  • Get related videos based on a specific video
  • Calculate and analyze video engagement ratios

Transcript/Caption Management

  • Retrieve video captions with multi-language support
  • Specify language preferences for transcripts
  • Access time-stamped captions for precise content reference

Channel Analysis

  • View detailed channel statistics (subscribers, views, video count)
  • Get top-performing videos from a channel
  • Analyze channel growth and engagement metrics

Trend Analysis

  • View trending videos by region and category
  • Compare performance metrics across multiple videos
  • Discover popular content in specific categories

Available Tools

The server provides the following MCP tools:

| Tool Name | Description | Required Parameters | |-----------|-------------|---------------------| | getVideoDetails | Get detailed information about multiple YouTube videos including metadata, statistics, and content details | videoIds (array) | | searchVideos | Search for videos based on a query string | query, maxResults (optional) | | getTranscripts | Retrieve transcripts for multiple videos | videoIds (array), lang (optional) | | getRelatedVideos | Get videos related to a specific video based on YouTube's recommendation algorithm | videoId, maxResults (optional) | | getChannelStatistics | Retrieve detailed metrics for multiple channels including subscriber count, view count, and video count | channelIds (array) | | getChannelTopVideos | Get the most viewed videos from a specific channel | channelId, maxResults (optional) | | getVideoEngagementRatio | Calculate engagement metrics for multiple videos (views, likes, comments, and engagement ratio) | videoIds (array) | | getTrendingVideos | Get currently popular videos by region and category | regionCode (optional), categoryId (optional), maxResults (optional) | | compareVideos | Compare statistics across multiple videos | videoIds (array) |

Installation

Automatic Installation via Smithery

Automatically install YouTube MCP Server for Claude Desktop via Smithery:

npx -y @smithery/cli install @icraft2170/youtube-data-mcp-server --client claude

Manual Installation

# Install from npm
npm install youtube-data-mcp-server

# Or clone repository
git clone https://github.com/icraft2170/youtube-data-mcp-server.git
cd youtube-data-mcp-server
npm install

Environment Configuration

Set the following environment variables:

  • YOUTUBE_API_KEY: YouTube Data API key (required)
  • YOUTUBE_TRANSCRIPT_LANG: Default caption language (optional, default: 'ko')

MCP Client Configuration

Add the following to your Claude Desktop configuration file:

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "youtube-data-mcp-server"],
      "env": {
        "YOUTUBE_API_KEY": "YOUR_API_KEY_HERE",
        "YOUTUBE_TRANSCRIPT_LANG": "ko"
      }
    }
  }
}

YouTube API Setup

  1. Access Google Cloud Console
  2. Create a new project or select an existing one
  3. Enable YouTube Data API v3
  4. Create API credentials (API key)
  5. Use the generated API key in your environment configuration

Development

# Install dependencies
npm install

# Run in development mode
npm run dev

# Build
npm run build

Network Configuration

The server exposes the following ports for communication:

  • HTTP: 3000
  • gRPC: 3001

System Requirements

  • Node.js 18.0.0 or higher

Security Considerations

  • Always keep your API key secure and never commit it to version control systems
  • Manage your API key through environment variables or configuration files
  • Set usage limits for your API key to prevent unauthorized use

License

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