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.

TDQS

B3.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: get_channel_info retrieves channel metadata and recent videos, get_youtube_transcript extracts video transcripts, and search_youtube_videos performs keyword-based searches. There is no overlap in functionality, making tool selection unambiguous for an agent.

Naming Consistency5/5

All tools follow a consistent verb_noun naming pattern (get_channel_info, get_youtube_transcript, search_youtube_videos), using snake_case throughout. The verbs 'get' and 'search' are appropriately descriptive and applied consistently across the toolset.

Tool Count3/5

With only 3 tools, the server feels somewhat thin for a YouTube insights domain, which typically involves more operations like video analytics, comments, or playlist management. However, the tools cover basic retrieval and search functions, making it borderline but not severely lacking.

Completeness3/5

The tools provide core retrieval functions (channel info, transcripts, video search), but there are notable gaps for a comprehensive YouTube insights server, such as missing analytics, comment retrieval, subscription management, or video upload/update capabilities. Agents can perform basic tasks but may hit dead ends for advanced workflows.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dabidstudio/youtubeinsights-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server