Skip to main content
Glama
dabidstudio

YouTube Insights MCP Server

by dabidstudio

YouTube Insights MCP Server

A Model Context Protocol (MCP) server that enables insight extraction from YouTube videos, including subtitle parsing, keyword-based video discovery, and channel info retrieval.

Features

  • Extract transcripts from YouTube videos (multi-language)

  • Search videos by keyword and fetch metadata (views, likes, thumbnails, etc.)

  • Retrieve channel info and latest videos from any YouTube video URL

  • FastMCP-based server integration for easy deployment

  • MCP Tools for seamless agent workflows

Example usecases

Related MCP server: youtube-mcp

Installation

Installing via Smithery

To install youtubeinsights-mcp-server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @dabidstudio/youtubeinsights-mcp-server --client claude

When using uvx, no specific installation is needed.

Add the following configuration to your MCP settings file (e.g., claude_desktop_config.json for Claude Desktop):

{
  "mcpServers": {
    "youtubeinsights": {
      "command": "uvx",
      "args": ["youtubeinsights-mcp-server"],
      "env": {
        "YOUTUBE_API_KEY": "your-api-key",
      }
    }
  }
}

Development Installation

  1. Clone this repository

  2. Copy .env.example to .env and fill in your youtube data api credentials

    {
      "mcpServers": {
        "youtubeinsights": {
          "command": "uv",
          "args": [
            "--directory",
            "path/to/youtubeinsights-mcp-server",
            "run",
            "youtubeinsights-mcp-server"
          ],
          "env": {
            "YOUTUBE_API_KEY": "your-api-key",
          }
        }
      }
    }

Available MCP Tools

  • get_youtube_transcript: Extract full transcript (subtitles) from a YouTube video URL (supports ko, en)

  • search_youtube_videos: Search for videos on YouTube by keyword and retrieve key metadata

  • get_channel_info: Get channel metadata and recent uploads based on any YouTube video URL

Sample MCP Tool Descriptions

{
  "tool": "get_youtube_transcript",
  "description": "Extract subtitles from a given YouTube video URL."
}
{
  "tool": "search_youtube_videos",
  "description": "Search videos by keyword and return metadata including views, likes, and thumbnails."
}
{
  "tool": "get_channel_info",
  "description": "Retrieve channel info (title, subscriber count, latest uploads) based on a video URL."
}

License

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

Available Tools

3 tools
get_channel_infoA

Get channel information and 10 recent videos from a YouTube video URL

ParametersJSON Schema
NameRequiredDescriptionDefault
video_urlYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations exist, so the description carries the burden. It discloses a read operation but does not mention any authentication needs, rate limits, or data freshness, which is adequate but not enriched.

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

Conciseness5/5

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

The description is a single sentence of 12 words, front-loaded with the verb, and contains no redundant information.

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

Completeness3/5

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

Given the tool's simplicity (one param, no output schema), the description is mostly adequate but lacks details on what specific channel information is returned, leaving some ambiguity.

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

Parameters2/5

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

Schema coverage is 0%, but the description only restates the parameter name ('from a YouTube video URL') without adding format constraints, examples, or deeper semantics beyond what 'video_url' implies.

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

Purpose5/5

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

The description specifies a clear verb (Get), resource (channel information and 10 recent videos), and input (YouTube video URL), effectively distinguishing it from siblings like get_youtube_transcript and search_youtube_videos.

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

Usage Guidelines3/5

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

Usage is implied by the purpose (use when you have a video URL and want channel info), but no explicit when-to-use or when-not-to-use guidance is provided.

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

get_youtube_transcriptC

Get the transcript of a YouTube video

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

TDQS

C2.5/5.0
Behavior1/5

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

No annotations provided. Description does not disclose any behavioral traits beyond the basic action. Misses details like return format, error handling, rate limits, or limitations (e.g., video language).

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

Conciseness3/5

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

Single sentence with no fluff, but overly minimal. Could include more context without being verbose. Acceptable but not ideal.

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 simplicity (1 parameter, no output schema), description should cover expected output, error cases, and prerequisites. It only states the basic function, leaving gaps.

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

Parameters1/5

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

Schema has only 'url' with no description, and schema description coverage is 0%. Description does not explain the parameter at all. Adds no value beyond the schema.

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

Purpose5/5

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

Clearly states the action (Get) and resource (transcript of a YouTube video). Distinct from sibling tools (get_channel_info, search_youtube_videos).

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?

No guidance on when to use this tool vs alternatives. Does not specify prerequisites (e.g., video must have captions) or when not to use.

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

search_youtube_videosC

Search YouTube videos by keyword and retrieve detailed information

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided; description does not disclose result limits, sorting, pagination, or what 'detailed information' includes, leaving behavioral uncertainty.

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

Conciseness3/5

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

Single sentence, no waste, but vague and insufficiently informative.

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 no output schema and single parameter, the description lacks return value details and behavioral context, incomplete for a search tool.

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

Parameters2/5

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

Schema has 0% parameter description coverage; description adds no meaning beyond 'keyword' and does not clarify format or examples.

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

Purpose5/5

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

Clear verb+resource: 'Search YouTube videos by keyword' distinguishes from sibling tools 'get_channel_info' and 'get_youtube_transcript'.

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?

No guidance on when to use this tool vs siblings or when not to use it. Only states what it does.

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. 3 tool updatesv0.1.2
    • First observedget_channel_info
    • First observedget_youtube_transcript
    • First observedsearch_youtube_videos

TDQS

B3.2/5.0

Scored across 3 tools

Disambiguation5/5

Each tool targets a distinct resource: transcript, video search, and channel info. There is no overlap in their purposes, making it clear which tool to use for a given task.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: get_*, search_*, get_*. The pattern is predictable and clear.

Tool Count3/5

With only 3 tools, the server is minimal but might be slightly thin for a server that aims to provide YouTube insights. However, for its narrow scope (transcript, search, channel info), it is acceptable.

Completeness3/5

The server covers core YouTube operations (transcript, video search, channel info), but lacks common features like getting video details by ID, comments, or playlist retrieval. The gap is notable but not critical for basic use cases.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers