Skip to main content
Glama
Diterex

youtube-research-mcp

by Diterex

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation5/5

    Each tool addresses a distinct stage of a clear research workflow: finding videos (search_youtube), surveying a channel (list_channel_videos), extracting text (get_video_transcript), and capturing visual evidence (get_video_frames). There is no functional overlap; even list_channel_videos and search_youtube produce different result sets with different intents.

    Naming Consistency5/5

    All tool names follow the consistent verb_noun pattern: list_channel_videos, get_video_transcript, search_youtube, get_video_frames. Verbs are specific to the action, and objects clearly indicate the resource, making the set predictable and easy to navigate.

    Tool Count5/5

    Four tools is an ideal size for a focused research MCP. Each tool is essential to the workflow and there are no redundant or filler tools, making the set feel tight and purposeful.

    Completeness5/5

    The tool surface covers the complete research lifecycle from topic-based search to channel exploration to transcript and frame extraction. All returned data includes video metadata, and the workflow is explicitly documented within the descriptions, leaving no obvious dead ends for a research agent.

  • Average 4.8/5 across 4 of 4 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 8 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior5/5

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

    Although annotations already mark the tool as read-only, idempotent, and non-destructive, the description adds significant behavioral detail: 'Nothing is written to disk - the caption track is read straight into memory,' preference for manual over auto-generated captions, and language fallback behavior. It also discloses error conditions (ValueError, RuntimeError), which goes well beyond the annotation hints.

    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 well-structured with distinct sections for purpose, behavior, Args, Returns, and Errors. The main action is front-loaded in the first sentence, and every section provides necessary information. While it is relatively long, the length is justified by the lack of an output schema and the need to document four parameters and a complex return object.

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

    Completeness5/5

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

    The description is comprehensive: it details the full return object with field explanations, lists specific error types and when they occur, and gives practical usage tips such as setting max_chars when scanning many videos. This provides an agent with sufficient context to select and invoke the tool correctly, even without an output schema.

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

    Parameters5/5

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

    The schema has no descriptions (0% coverage), so the description carries full responsibility. The Args section explains each parameter in detail: accepted video ID/URL formats, language fallback (e.g., 'en' matches 'en-US', first available track if missing), include_timestamps formatting, and max_chars truncation usage. This fully compensates for the schema gap.

    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 starts with 'Fetch a video's transcript as clean plain text,' clearly stating a specific verb and resource. It also explains the fallback to auto-generated captions, which helps distinguish this transcript-focused tool from sibling tools that list videos, search, or extract frames.

    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?

    The description provides no explicit comparison to sibling tools such as list_channel_videos, search_youtube, or get_video_frames, nor does it state when to use this tool instead of them. The usage context is implied by the tool's purpose, but there is no explicit 'use when' or 'use instead' guidance.

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

  • Behavior4/5

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

    Annotations already convey read-only, idempotent, and non-destructive behavior, so the bar is lower. The description adds valuable context beyond annotations: the cheap RSS feed vs. full video metadata trade-off for resolve_all_dates, the fact it works without an API key, and error types (ValueError, RuntimeError). This is meaningful but does not cover rate limits or network behavior details.

    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 structured with Intro, Args, Returns, and Errors sections. Each section is dense but not redundant. Front-loaded with the core purpose and use case. The length is justified by the tool's complexity and the absence of an output schema.

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

    Completeness5/5

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

    The description fully covers the tool's behavior, parameters, return value structure, and error conditions. Since there is no output schema, the detailed Returns block is essential and well done. Combined with the usage guidance, the agent has complete context to decide and invoke the tool correctly.

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

    Parameters5/5

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

    The schema has zero descriptions (coverage 0%), so the description must fully compensate. The Args section explains each parameter with detailed semantics: channel_url accepts handles, bare names, IDs, URLs, and playlist URLs; max_results range and default; resolve_all_dates behavioral trade-offs. This goes far beyond the bare 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?

    The description clearly states the tool lists a YouTube channel's uploads, newest first, without an API key, and explicitly frames it as a survey step before deciding which videos to transcribe. This specific verb+resource+scope distinguishes it from siblings like get_video_transcript or search_youtube.

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

    Usage Guidelines4/5

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

    It provides a clear use case ('Use this to survey what a channel has published before deciding which videos are worth transcribing') and mentions playlist URL support, but it does not explicitly state when not to use this tool or name alternative tools for different tasks. No exclusions are given, so it earns a 4 rather than a 5.

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

  • Behavior5/5

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

    Beyond the annotations (readOnly, idempotent, openWorld), the description reveals significant behavioral traits: the video-only stream is fetched to a temp file, cached for the server process lifetime (3 videos max, deleted on exit), and multiple timestamps in one call are much cheaper than separate calls. It also discloses failure handling (frames reported in summary) and specific error types.

    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 long but every sentence earns its place. It is front-loaded with the core purpose, followed by workflow, cost/performance context, detailed parameter semantics, return format, and errors. The structured sections (Args, Returns, Errors) make it easy to scan, and no information is redundant with the annotations or schema.

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

    Completeness5/5

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

    For a tool that returns images, the description fully explains the return format (summary text plus images) and how failures are surfaced. It also documents error conditions and performance tradeoffs, covering all the practical context an agent needs to invoke the tool correctly. The presence of an output schema would not add much beyond what is described.

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

    Parameters5/5

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

    Although the schema has 0% description coverage, the description's Args section thoroughly explains each parameter: video_url_or_id, timestamps format examples, every_seconds semantics, max_frames cap with cost warning, width guidance for readability, max_height tradeoffs, and quality range. This adds substantial meaning beyond the bare 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?

    The description opens with a specific verb+resource: 'See what a video actually shows at chosen moments. Returns real images.' It clearly distinguishes the tool from transcript-based alternatives by explicitly stating what transcripts cannot do and positioning this tool for visual verification.

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

    Usage Guidelines5/5

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

    Provides explicit when-to-use guidance: use it to look at moments that matter in screen-based tutorials. It names the sibling alternative get_video_transcript and prescribes a two-step workflow with this tool as the second step, including cost-saving rationale. It also gives a conditional use case for every_seconds and warns against misuse.

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

  • Behavior5/5

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

    Beyond the read-only annotation, the description discloses important behavioral traits: the exact return structure, the fact that results carry no upload date, and error handling (ValueError on empty query, RuntimeError on search failure). This adds value beyond annotations and helps the agent anticipate edge cases.

    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 well-structured with logical sections (purpose, usage, args, returns, errors). Every sentence adds value: the usage paragraph explains the workflow, the args are concise, and the return/error sections are compact. Nothing is redundant or wasteful.

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

    Completeness5/5

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

    With no output schema, the description fully specifies the return object and its fields. It also covers error conditions, parameter ranges, and provides context for how the tool fits into a larger workflow. This is complete enough for an agent to select and invoke the tool correctly.

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

    Parameters5/5

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

    Schema coverage is 0%, so the description carries full responsibility for parameter meaning. It provides an example for query ('FreeCAD sketcher constraints tutorial') and precise semantics for max_results ('1-100, default 20'), exceeding the bare schema titles. This is essential and well-executed.

    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 opens with a specific verb+resource: 'Search YouTube by keyword when you do not yet know the channel or video.' It clearly frames the tool as the entry point for topic-based research, contrasting with URL-based tools like list_channel_videos and get_video_transcript. This distinguishes it from siblings and states exactly what it does.

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

    Usage Guidelines5/5

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

    The description explicitly states when to use this tool ('when you do not yet know the channel or video') and provides guidance on sequencing: 'find candidate videos here, then feed their channel or URL to list_channel_videos or get_video_transcript.' It also notes a limitation (no upload date) and directs users to alternatives for that missing data.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

youtube-research-mcp MCP server

Copy to your README.md:

Score Badge

youtube-research-mcp MCP server

Copy to your README.md:

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/Diterex/youtube-research-mcp'

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