Skip to main content
Glama

YouTube MCP-Server

Schmiedeabzeichen

Eine Model Context Protocol (MCP)-Serverimplementierung für YouTube, die es KI-Sprachmodellen ermöglicht, über eine standardisierte Schnittstelle mit YouTube-Inhalten zu interagieren.

Merkmale

Videoinformationen

  • Erhalten Sie Videodetails (Titel, Beschreibung, Dauer usw.)

  • Kanalvideos auflisten

  • Erhalten Sie Videostatistiken (Aufrufe, Likes, Kommentare)

  • Suchen Sie auf YouTube nach Videos

Transkriptverwaltung

  • Videotranskripte abrufen

  • Unterstützung für mehrere Sprachen

  • Erhalten Sie Untertitel mit Zeitstempel

  • Suche in Transkripten

Kanalverwaltung

  • Kanaldetails abrufen

  • Kanal-Wiedergabelisten auflisten

  • Kanalstatistiken abrufen

  • Suche innerhalb des Kanalinhalts

Playlist-Verwaltung

  • Auflisten von Wiedergabelistenelementen

  • Details zur Wiedergabeliste abrufen

  • Suche innerhalb von Wiedergabelisten

  • Holen Sie sich die Transkripte der Playlist-Videos

Related MCP server: mcp-youtube-transcript

Installation

Installation über Smithery

So installieren Sie den YouTube MCP-Server für Claude Desktop automatisch über Smithery :

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

Manuelle Installation

npm install zubeid-youtube-mcp-server

Konfiguration

Legen Sie die folgenden Umgebungsvariablen fest:

  • YOUTUBE_API_KEY : Ihr YouTube-Daten-API-Schlüssel

  • YOUTUBE_TRANSCRIPT_LANG : Standardsprache für Transkripte (optional, standardmäßig „en“)

Verwendung mit MCP-Client

Fügen Sie dies zu Ihrer MCP-Clientkonfiguration hinzu (z. B. Claude Desktop):

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

Verwendung mit VS Code

Klicken Sie für die Ein-Klick-Installation auf eine der folgenden Installationsschaltflächen:

Mit NPX in VS Code installieren Installation mit NPX in VS Code Insiders

Manuelle Installation

Wenn Sie die manuelle Installation bevorzugen, aktivieren Sie zunächst die Installationsschaltflächen oben in diesem Abschnitt. Andernfalls gehen Sie folgendermaßen vor:

Fügen Sie den folgenden JSON-Block zu Ihrer Benutzereinstellungsdatei (JSON) in VS Code hinzu. Drücken Sie dazu Ctrl + Shift + P und geben Sie Preferences: Open User Settings (JSON) ein.

{
  "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}"
        }
      }
    }
  }
}

Optional können Sie es zu einer Datei namens .vscode/mcp.json in Ihrem Arbeitsbereich hinzufügen:

{
  "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-Einrichtung

  1. Gehen Sie zur Google Cloud Console

  2. Erstellen Sie ein neues Projekt oder wählen Sie ein vorhandenes aus

  3. Aktivieren Sie die YouTube Data API v3

  4. API-Anmeldeinformationen (API-Schlüssel) erstellen

  5. Kopieren Sie den API-Schlüssel zur Konfiguration

Beispiele

Verwalten von 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
});

Kanäle verwalten

// 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
});

Verwalten von Wiedergabelisten

// 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"
});

Entwicklung

# Install dependencies
npm install

# Run tests
npm test

# Build
npm run build

# Lint
npm run lint

Beitragen

Informationen zum Mitwirken an diesem Repository finden Sie unter CONTRIBUTING.md.

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE.

Available Tools

1 tool
videos_searchVideosC

Search for videos on YouTube

NameRequiredDescriptionDefault
orderNoSort order for results, such as relevance or date
queryYesSearch query
sortByNoOptional ranking mode such as relevance, indie_priority, subscribers_asc, subscribers_desc, or recent_activity
channelIdNoRestrict results to a specific channel ID
maxResultsNoMaximum number of results to return
creatorOnlyNoOnly include channels heuristically classified as creators
publishedAfterNoOnly include videos published after this ISO 8601 date
uniqueChannelsNoReturn only one matched video per unique channel
publishedBeforeNoOnly include videos published before this ISO 8601 date
channelMaxSubscribersNoMaximum subscriber count for the matched video channel
channelMinSubscribersNoMinimum subscriber count for the matched video channel
channelLastUploadAfterNoOnly include videos whose channel latest upload is after this ISO 8601 date
channelLastUploadBeforeNoOnly include videos whose channel latest upload is before this ISO 8601 date

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description must disclose behavioral traits. It only says 'Search for videos,' omitting any details about rate limits, pagination, return format, or side effects. This is insufficient for an agent to anticipate behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is too brief for a tool with 13 parameters. While concise, it is under-specified and does not earn its place; it should include more context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (13 parameters, no output schema), the description lacks completeness. It does not explain return values, default behaviors, or interaction effects between parameters, leaving the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, so the schema itself documents each parameter. The tool description adds no additional meaning beyond the schema, making the baseline score of 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Search') and resource ('videos on YouTube'), making the tool's purpose immediately understandable. However, it lacks any differentiation from potential sibling tools (none provided) and is somewhat generic.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool, when not to use it, or any alternatives. With no sibling tools mentioned, the description could at least imply typical search scenarios, but it does not.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv1.0.2
    • Removedchannels_getChannel
    • Removedchannels_listVideos
    • Removedplaylists_getPlaylist
    • Removedplaylists_getPlaylistItems
    • Removedtranscripts_getTranscript
    • Removedvideos_getVideo
    • Changedvideos_searchVideos11 fields changed
      • addedInput schema / properties / channelId
        Added value: +{
        +  "description": "Restrict results to a specific channel ID",
        +  "type": "string"
        +}
      • addedInput schema / properties / channelLastUploadAfter
        Added value: +{
        +  "description": "Only include videos whose channel latest upload is after this ISO 8601 date",
        +  "type": "string"
        +}
      • addedInput schema / properties / channelLastUploadBefore
        Added value: +{
        +  "description": "Only include videos whose channel latest upload is before this ISO 8601 date",
        +  "type": "string"
        +}
      • addedInput schema / properties / channelMaxSubscribers
        Added value: +{
        +  "description": "Maximum subscriber count for the matched video channel",
        +  "type": "number"
        +}
      • addedInput schema / properties / channelMinSubscribers
        Added value: +{
        +  "description": "Minimum subscriber count for the matched video channel",
        +  "type": "number"
        +}
      • addedInput schema / properties / creatorOnly
        Added value: +{
        +  "description": "Only include channels heuristically classified as creators",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / order
        Added value: +{
        +  "description": "Sort order for results, such as relevance or date",
        +  "type": "string"
        +}
      • addedInput schema / properties / publishedAfter
        Added value: +{
        +  "description": "Only include videos published after this ISO 8601 date",
        +  "type": "string"
        +}
      • addedInput schema / properties / publishedBefore
        Added value: +{
        +  "description": "Only include videos published before this ISO 8601 date",
        +  "type": "string"
        +}
      • addedInput schema / properties / sortBy
        Added value: +{
        +  "description": "Optional ranking mode such as relevance, indie_priority, subscribers_asc, subscribers_desc, or recent_activity",
        +  "type": "string"
        +}
      • addedInput schema / properties / uniqueChannels
        Added value: +{
        +  "description": "Return only one matched video per unique channel",
        +  "type": "boolean"
        +}
  2. 7 tool updatesv1.0.0
    • First observedchannels_getChannel
    • First observedchannels_listVideos
    • First observedplaylists_getPlaylist
    • First observedplaylists_getPlaylistItems
    • First observedtranscripts_getTranscript
    • First observedvideos_getVideo
    • First observedvideos_searchVideos

TDQS

C2.6/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools, so disambiguation is perfect.

Naming Consistency2/5

The single tool name 'videos_searchVideos' mixes camelCase and an awkward verb_noun structure ('videos' as prefix then 'searchVideos'), showing internal inconsistency and lack of a clear pattern.

Tool Count1/5

One tool is far too few for a YouTube MCP server, which typically requires multiple operations (search, video details, channel info, etc.), making the tool count extremely inadequate.

Completeness1/5

The tool only supports searching for videos, missing critical operations like retrieving video details, listing playlists, or managing subscriptions, leaving severe gaps in covering the YouTube domain.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers