← YouTube MCP

YouTube MCP 1.0.9

npm · @inlustris/youtube-mcp · current release

5
Tools
0
Resources
4
Templates
0
Prompts

Observation

Observed 2026-08-21T20:06:14.329Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.

Server capabilities
{
  "tools": {},
  "resources": {
    "listChanged": true,
    "subscribe": true
  },
  "logging": {},
  "completions": {}
}

Tools 5

ToolCategoryAnnotationsRisk
get_channel_videosRetrieves a list of videos from a specified YouTube channel. This tool is useful for getting all videos uploaded by a specific channel.
Input schema
{
  "type": "object",
  "properties": {
    "channelId": {
      "type": "string",
      "description": "The YouTube channel ID from which to retrieve videos. You can get this from search_channels results or from a channel URL."
    },
    "maxResults": {
      "type": "number",
      "default": 50,
      "description": "Maximum number of videos to retrieve (default: 50, max: 200)."
    }
  },
  "required": [
    "channelId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_transcriptRetrieves the full transcript of a specified YouTube video. This tool is useful for understanding video content without watching it, or for extracting textual information from videos. FORMATTING GUIDANCE (optional - user instructions override): When creating summaries, consider using: **Key Points with Timestamps:** Use [MM:SS] or [HH:MM:SS] inline references. **Structure:** Break into logical sections. **Context:** Include video title and channel. Example: 'The speaker explains TypeScript generics [05:30] and shows practical examples [08:15].' This formatting is optional - always follow any specific user instructions instead.
Input schema
{
  "type": "object",
  "properties": {
    "videoUrl": {
      "type": "string",
      "description": "The full URL of the YouTube video from which to retrieve the transcript. This is the standard URL you would use to watch the video in a browser (e.g., 'https://www.youtube.com/watch?v=dQw4w9WgXcQ')."
    },
    "chunkSize": {
      "type": "number",
      "description": "Optional: The maximum number of characters for each transcript chunk. If provided, the transcript will be split into chunks of this size. Useful for processing very long transcripts in smaller, manageable parts."
    },
    "chunkBySilence": {
      "type": "boolean",
      "description": "Optional: If true, the transcript will be chunked based on periods of silence in the audio. This can help in segmenting the transcript into more natural conversational or thematic breaks."
    },
    "silenceThreshold": {
      "type": "number",
      "description": "Optional: When chunkBySilence is true, this specifies the minimum duration of silence (in milliseconds) to consider as a chunk break. A higher value means longer pauses are required to create a new chunk."
    },
    "skipSponsor": {
      "type": "boolean",
      "description": "Optional: If true, removes sponsor/ad segments from the transcript using the SponsorBlock API. Fetches sponsor timestamps and filters out transcript text that falls within sponsored sections."
    },
    "plainText": {
      "type": "boolean",
      "description": "Optional: If true, returns the full transcript as a single plain text string without timestamp data. This uses less context than the default timestamped format and is better for summarization. If you later need timestamps, subsequent calls are cached."
    }
  },
  "required": [
    "videoUrl"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_video_frameCaptures a screenshot from a YouTube video at a specified timestamp. Requires yt-dlp for full-quality captures; falls back to lower-resolution YouTube storyboards (320x180 max) if yt-dlp is not installed.
Input schema
{
  "type": "object",
  "properties": {
    "videoUrl": {
      "type": "string",
      "description": "The full URL of the YouTube video from which to capture a frame (e.g., 'https://www.youtube.com/watch?v=dQw4w9WgXcQ')."
    },
    "timestamp": {
      "type": "number",
      "description": "The time in seconds from which to capture the frame. Accepts both integer and decimal values (e.g., 30, 92.5)."
    },
    "quality": {
      "type": "string",
      "default": "bestvideo[height<=720]",
      "description": "Optional: yt-dlp format selector. Default is 'bestvideo[height<=720]'. Use 'bestvideo' for the best available quality. Only used when yt-dlp is available."
    }
  },
  "required": [
    "videoUrl",
    "timestamp"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
search_channelsSearches YouTube for channels matching the specified query. You can specify a sort order for the results (default: rating).
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "The search query to find YouTube channels."
    },
    "sortBy": {
      "type": "string",
      "enum": [
        "relevance",
        "date",
        "rating",
        "viewCount",
        "title",
        "videoCount"
      ],
      "default": "rating",
      "description": "Sort order for search results: relevance, date, rating (default), viewCount, title, or videoCount."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
search_videosSearches YouTube for videos matching the specified query. Returns a list of video results with title, video ID, and channel information. Results are sorted by rating by default for better quality content.
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "The search query to find YouTube videos. Can include keywords, phrases, or specific terms related to the content you're looking for."
    },
    "sortBy": {
      "type": "string",
      "enum": [
        "relevance",
        "date",
        "rating",
        "viewCount",
        "title"
      ],
      "default": "rating",
      "description": "Optional: How to sort the search results. Options are: 'relevance' (most relevant), 'date' (newest first), 'rating' (highest rated first - default), 'viewCount' (most viewed), 'title' (alphabetical)."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —

Resources 0

Resource templates 4

Prompts 0

Let’s talk about MCP security.

Share your details and our security team will contact you.