Skip to main content
Glama
iamkw0n
by iamkw0n


⚠️ Important Notices

IMPORTANT

This projectdoes not use the official YouTube Data API v3. It parses public web pages (ytInitialData). If YouTube changes its page structure, some features may break. Personal, non-commercial use is recommended.

WARNING

Excessive requests may get blocked by YouTube. If that happens often, enable the Zyte proxy with theZYTE_API_KEY environment variable.


Related MCP server: mcp-apps

✨ Features

πŸ” Video search

Keyword search with sort, date, and duration filters

πŸ“Ί Video details

Views, likes, duration, and more by ID or URL

πŸ“‘ Channels

Look up channels by ID, @handle, or URL

πŸ“‹ Playlists

Playlist metadata and video lists

πŸ’¬ Comments

Top and recent comments on a video

πŸ”Œ stdio MCP

Works with Cursor, Claude, Codex, and other local clients

πŸ”‘ No API key

No Google Cloud API key required


πŸš€ Quick Start

git clone https://github.com/iamkw0n/youtube-mcp.git
cd youtube-mcp
npm install
npm run build
npm start

Or run directly with tsx:

npx tsx src/index.ts

πŸ›  Tools

Tool

Description

search_videos

Search videos by keyword

get_video

Get video details by ID or URL

get_videos

Batch-fetch multiple videos

search_channels

Search channels by keyword

get_channel

Get channel info by ID, @handle, or URL

get_channel_videos

List recent videos from a channel

get_playlist

Get playlist metadata

get_playlist_items

List videos in a playlist

get_video_comments

Fetch video comments

api_status

Check scraping and proxy status


πŸ’¬ One-Click Install Prompt

Paste this into Cursor, Claude Code, or Codex to ask the agent to install the MCP server:

Clone iamkw0n/youtube-mcp from GitHub and set up the MCP server for me.

πŸ”§ Client Setup

Client

Config file

stdio

Cursor

.cursor/mcp.json

βœ…

Claude Code

.mcp.json

βœ…

Claude Desktop

claude_desktop_config.json

βœ…

Codex

.codex/config.toml

βœ…

ChatGPT

Connector URL

❌

Cursor

Add to .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "youtube-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/youtube-mcp/dist/index.js"],
      "cwd": "/absolute/path/to/youtube-mcp"
    }
  }
}

With Zyte proxy (optional):

{
  "mcpServers": {
    "youtube-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/youtube-mcp/dist/index.js"],
      "cwd": "/absolute/path/to/youtube-mcp",
      "env": {
        "ZYTE_API_KEY": "${env:ZYTE_API_KEY}"
      }
    }
  }
}

Claude Code

Add to .mcp.json in your project root:

{
  "mcpServers": {
    "youtube-mcp": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/youtube-mcp/dist/index.js"]
    }
  }
}

CLI:

claude mcp add youtube-mcp -s project -- node /absolute/path/to/youtube-mcp/dist/index.js

Claude Desktop

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "youtube-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/youtube-mcp/dist/index.js"],
      "cwd": "/absolute/path/to/youtube-mcp"
    }
  }
}
WARNING

Claude Desktop does not support${workspaceFolder}. Use absolute paths.

OpenAI Codex

In .codex/config.toml or ~/.codex/config.toml:

[mcp_servers.youtube-mcp]
command = "node"
args = ["/absolute/path/to/youtube-mcp/dist/index.js"]
cwd = "/absolute/path/to/youtube-mcp"
enabled = true

CLI:

codex mcp add youtube-mcp -- node /absolute/path/to/youtube-mcp/dist/index.js

Verify in a Codex session with /mcp.

ChatGPT

IMPORTANT

ChatGPT connectors only supportHTTPS MCP endpoints. This repo is a local stdio server and cannot be connected to ChatGPT directly.


πŸ’‘ Examples

Search YouTube for TypeScript tutorial videos
Get details for this video: https://www.youtube.com/watch?v=dQw4w9WgXcQ
Show me the 5 most recent videos from @GoogleDevelopers
What videos are in this playlist? https://www.youtube.com/playlist?list=PL...

βš™οΈ How It Works

flowchart LR
    A[MCP Client] -->|stdio| B[youtube-mcp]
    B -->|fetch HTML| C[www.youtube.com]
    B -->|parse| D[ytInitialData]
    B -->|pagination| E[InnerTube continuation]

Step

Description

Page fetch

Download public YouTube HTML pages

Data extraction

Parse ytInitialData and ytInitialPlayerResponse JSON

Pagination

Load more results via InnerTube continuation tokens


πŸ“„ License

MIT Β© iamkw0n

Available Tools

10 tools
api_statusA

YouTube μŠ€ν¬λž˜ν•‘ μƒνƒœ, μš”μ²­ 횟수, Zyte ν”„λ‘μ‹œ μ‚¬μš© μ—¬λΆ€λ₯Ό ν™•μΈν•©λ‹ˆλ‹€.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided. Description discloses the tool checks status, request count, and proxy usage but does not specify if it's read-only or any side effects. Some transparency, but could be improved.

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 concise sentence that is front-loaded with key information. No unnecessary words.

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

Completeness4/5

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

Given the tool has no parameters and no output schema, the description adequately covers its purpose. Could mention that it requires no input, but overall complete enough.

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

Parameters4/5

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

No parameters, so parameter semantics are not applicable. Baseline for 0 parameters is 4; the description does not need to add parameter info.

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 verb 'ν™•μΈν•©λ‹ˆλ‹€' (check) and the resource (YouTube scraping status, request count, Zyte proxy usage). It distinguishes from sibling tools like get_channel or search_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 versus alternatives. The description only states what it does without indicating context or exclusions.

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

get_channelA

채널 ID, @ν•Έλ“€, λ˜λŠ” URL둜 YouTube 채널 정보λ₯Ό μ‘°νšŒν•©λ‹ˆλ‹€.

ParametersJSON Schema
NameRequiredDescriptionDefault
channelIdOrHandleOrUrlYes채널 ID (UC...), @ν•Έλ“€, λ˜λŠ” YouTube 채널 URL

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description must convey behavior. It indicates a read operation but omits return fields, authentication requirements, or rate limits. Adequate but could detail output content.

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?

Single sentence, front-loaded with purpose, no extraneous words. Highly efficient.

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

Completeness4/5

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

Tool is simple (1 param, no output schema). Description covers input and purpose but lacks output details. Minor gaps but generally complete for the low complexity.

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

Parameters4/5

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

Schema coverage is 100% with parameter description explaining acceptable formats (UC... for ID, @handle, or URL). This adds guidance beyond the schema's string type. Slight improvement over baseline 3.

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?

Description clearly states the verb (μ‘°νšŒν•©λ‹ˆλ‹€, 'retrieve') and resource (YouTube 채널 정보, 'YouTube channel information'). It specifies three input types (ID, @handle, URL) and differs from siblings like search_channels and get_channel_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?

Implicitly suggests use when you have a channel identifier, but no explicit comparison to alternatives like search_channels or get_channel_videos. No guidance on 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.

get_channel_videosC

μ±„λ„μ˜ 졜근 λ™μ˜μƒ λͺ©λ‘μ„ μ‘°νšŒν•©λ‹ˆλ‹€.

ParametersJSON Schema
NameRequiredDescriptionDefault
channelIdOrHandleOrUrlYes채널 ID (UC...), @ν•Έλ“€, λ˜λŠ” YouTube 채널 URL
maxResultsNoμ΅œλŒ€ κ²°κ³Ό 수
orderNoμ •λ ¬ κΈ°μ€€date
pageTokenNoλ‹€μŒ νŽ˜μ΄μ§€ 토큰

TDQS

C2.9/5.0
Behavior2/5

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

The description only mentions 'recent videos' without explaining ordering (default date), pagination behavior, or any side effects. Since no annotations are present, the description carries the full burden but provides minimal behavioral context.

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

Conciseness4/5

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

The description is a single, concise sentence that is front-loaded with the core purpose. It is not verbose, though it could include a bit more context without being excessive.

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?

The tool has 4 parameters including pagination, but the description omits details about return format, pagination mechanics, and what 'recent' implies. Given the complexity, this is incomplete for agent decision-making.

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?

Schema coverage is 100%, and the description adds no extra meaning beyond what the schema already provides. The baseline of 3 is appropriate; the description does not enhance parameter understanding.

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 the tool retrieves a list of recent videos for a channel, specifying the action and resource. However, it does not explicitly differentiate from sibling tools like search_videos or get_video, though the purpose is inferred.

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 is provided on when to use this tool versus alternatives (e.g., search_videos for broader search, get_video for single video). The agent receives no context for tool selection.

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

get_playlistB

μž¬μƒλͺ©λ‘ ID λ˜λŠ” URL둜 YouTube μž¬μƒλͺ©λ‘ 정보λ₯Ό μ‘°νšŒν•©λ‹ˆλ‹€.

ParametersJSON Schema
NameRequiredDescriptionDefault
playlistIdOrUrlYesμž¬μƒλͺ©λ‘ ID (PL...) λ˜λŠ” YouTube μž¬μƒλͺ©λ‘ URL

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. However, the description does not mention that this is a read-only operation, any required permissions, rate limits, or side effects. It only states the basic retrieval purpose.

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, concise sentence that immediately conveys the action. It is efficient and front-loaded with the key verb and resource, with no unnecessary information.

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 absence of an output schema and the simplicity of the tool, the description should at least hint at the type of information returned (e.g., title, description, item count). Without this, the agent cannot fully understand what the tool provides.

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 for the single parameter 'playlistIdOrUrl', which already explains it can be a playlist ID or URL. The description adds no additional semantic information beyond the schema, so the baseline score of 3 is appropriate.

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's purpose: to retrieve YouTube playlist information by ID or URL. It uses a specific verb ('μ‘°νšŒν•©λ‹ˆλ‹€' = retrieves) and resource ('μž¬μƒλͺ©λ‘ 정보' = playlist information), and the distinction from sibling tools like 'get_playlist_items' (which fetches items) is implied.

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 does not explicitly state when to use this tool versus alternatives. It provides context that the tool accepts an ID or URL, but lacks guidance on when it is appropriate or when to use siblings like 'search_videos' or 'get_playlist_items'.

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

get_playlist_itemsB

μž¬μƒλͺ©λ‘μ— ν¬ν•¨λœ λ™μ˜μƒ λͺ©λ‘μ„ μ‘°νšŒν•©λ‹ˆλ‹€.

ParametersJSON Schema
NameRequiredDescriptionDefault
playlistIdOrUrlYesμž¬μƒλͺ©λ‘ ID (PL...) λ˜λŠ” YouTube μž¬μƒλͺ©λ‘ URL
maxResultsNoμ΅œλŒ€ κ²°κ³Ό 수
pageTokenNoλ‹€μŒ νŽ˜μ΄μ§€ 토큰

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, and the description only states 'retrieves list' without disclosing behavioral traits such as read-only nature, pagination support, or authentication requirements. Important details like maxResults limit (50) and pageToken mechanics are omitted.

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

Conciseness4/5

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

A single, front-loaded sentence efficiently conveys the core action with no wasted words. However, it may be too brief for a tool with multiple parameters and no output schema.

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 absence of annotations and output schema, the description is insufficient. It doesn't explain pagination, behavior of maxResults, or what the response contains. For a read tool with 3 parameters, more context is needed.

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?

Schema description coverage is 100%, so the schema already documents all parameters. The description adds no additional meaning beyond what the schema provides; it doesn't explain the format of playlistIdOrUrl or how pagination works.

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 verb 'μ‘°νšŒν•©λ‹ˆλ‹€' (retrieves) and the resource 'μž¬μƒλͺ©λ‘μ— ν¬ν•¨λœ λ™μ˜μƒ λͺ©λ‘' (list of videos in playlist), distinguishing it from siblings like get_playlist (playlist metadata) and get_channel_videos (channel 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 explicit guidance on when to use this tool versus alternatives like get_playlist or get_video. The description lacks context about prerequisites, scenarios, or exclusions.

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

get_videoA

λ™μ˜μƒ ID λ˜λŠ” URL둜 YouTube λ™μ˜μƒ 상세λ₯Ό μ‘°νšŒν•©λ‹ˆλ‹€.

ParametersJSON Schema
NameRequiredDescriptionDefault
videoIdOrUrlYesλ™μ˜μƒ ID λ˜λŠ” YouTube URL (watch, youtu.be, shorts λ“±)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, and the description lacks behavioral details such as whether the operation is read-only (implied but not stated), error handling, rate limits, or authentication requirements. The only added behavior is that it accepts multiple URL formats, which is minimal.

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 concise sentence that delivers the core functionality without any 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 low complexity (single parameter, no nested objects) and lack of output schema, the description is adequate but incomplete. It does not describe what 'details' are returned or mention any potential limitations.

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

Parameters4/5

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

The schema description coverage for the single parameter is 100%, and the description adds value by listing supported URL formats (watch, youtu.be, shorts). This provides concrete examples beyond the schema's generic description.

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 verb (retrieve) and resource (YouTube video details), and specifies the input as video ID or URL. This distinguishes it from sibling tools like get_channel or get_videos which operate on different resources.

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 versus alternatives such as search_videos or get_videos. There are no explicit conditions, exclusions, or contextual recommendations.

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

get_video_commentsB

λ™μ˜μƒμ˜ 인기 λŒ“κΈ€ λ˜λŠ” μ΅œμ‹  λŒ“κΈ€μ„ μ‘°νšŒν•©λ‹ˆλ‹€.

ParametersJSON Schema
NameRequiredDescriptionDefault
videoIdOrUrlYesλ™μ˜μƒ ID λ˜λŠ” YouTube URL
maxResultsNoμ΅œλŒ€ κ²°κ³Ό 수
orderNoμ •λ ¬ (relevance: 인기순, time: μ΅œμ‹ μˆœ)relevance
pageTokenNoλ‹€μŒ νŽ˜μ΄μ§€ 토큰

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only states 'retrieves comments' but fails to disclose pagination behavior (though pageToken parameter exists), sorting semantics beyond schema, or that it likely returns only top-level comments. Lacks disclosure of any side effects or auth requirements.

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

Conciseness4/5

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

Single sentence, front-loaded with the main action. Efficient, but could be slightly more informative without being verbose. No redundancy.

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?

With no output schema and no annotations, the description should explain return values (e.g., comment fields, author, likes). It does not. Also lacks context on limitations like maximum results or that it retrieves only published comments. Incomplete for a read operation.

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?

Schema descriptions cover all 4 parameters (100% coverage), so description adds limited value. It does mention 'popular or latest' which aligns with the order parameter enum, but this is already in schema. Baseline score of 3 is appropriate.

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?

Description clearly states it retrieves popular or latest comments for a video, using specific verb 'retrieve' and resource 'video comments'. This distinguishes it from sibling tools like get_channel, get_video, search_videos, etc., which handle different entities.

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 explicit guidance on when to use this tool vs alternatives. The description does not mention when to prefer this over search or other retrieval tools, nor does it specify any prerequisites or use cases.

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

get_videosA

μ—¬λŸ¬ λ™μ˜μƒ ID λ˜λŠ” URL둜 YouTube λ™μ˜μƒμ„ 일괄 μ‘°νšŒν•©λ‹ˆλ‹€.

ParametersJSON Schema
NameRequiredDescriptionDefault
videoIdsOrUrlsYesλ™μ˜μƒ ID λ˜λŠ” URL λͺ©λ‘

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It states the core read operation but does not disclose any authorization needs, rate limits, or error behaviors. For a read-only tool, this is minimal but acceptable.

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?

A single, concise sentence with no wasted words. The main action is front-loaded, and every word adds value.

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 no output schema and simple input, the description is adequate but could mention limits (e.g., max 50 items from schema) or return format. It is minimally complete for a basic batch lookup.

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?

Schema coverage is 100% with a description that matches the parameter. The description adds no new meaning beyond 'video ID or URL' already present in the schema. Baseline 3 is appropriate.

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 verb (batch lookup), resource (YouTube videos), and input (multiple IDs or URLs). It distinguishes from siblings like get_video (singular) and search_videos (search).

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 does not explicitly guide when to use this tool versus alternatives. Usage is implied from context, but no exclusions or alternative suggestions are provided.

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

search_channelsC

ν‚€μ›Œλ“œλ‘œ YouTube 채널을 κ²€μƒ‰ν•©λ‹ˆλ‹€.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes검색 ν‚€μ›Œλ“œ
maxResultsNoμ΅œλŒ€ κ²°κ³Ό 수
orderNoμ •λ ¬ κΈ°μ€€relevance
regionCodeNoμ§€μ—­ μ½”λ“œ (예: KR, US)
pageTokenNoλ‹€μŒ νŽ˜μ΄μ§€ 토큰

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states that the tool searches channels, but does not mention pagination (though pageToken parameter exists), authentication requirements, rate limits, or what data is returned. The description is insufficient for an agent to understand the tool's full behavior.

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

Conciseness4/5

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

The description is a single, concise sentence. It is front-loaded with the core action. However, it could be slightly expanded to include more context without becoming verbose.

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 complexity (5 parameters, no output schema, no annotations), the description is too minimal. It does not explain the return format, pagination, or how results are structured. The agent lacks critical information to use the tool effectively.

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?

Schema description coverage is 100%, providing descriptions for all 5 parameters. The tool description itself does not add extra meaning beyond the schema, but the schema adequately covers parameter semantics. Baseline score of 3 is 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 it searches YouTube channels by keyword, which is a specific verb and resource. However, it does not differentiate from the sibling tool 'search_videos', which likely searches videos instead of channels.

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 versus alternatives like 'get_channel' or 'search_videos'. It lacks any context about appropriate usage scenarios or exclusions.

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

search_videosB

ν‚€μ›Œλ“œλ‘œ YouTube λ™μ˜μƒμ„ κ²€μƒ‰ν•©λ‹ˆλ‹€.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes검색 ν‚€μ›Œλ“œ
maxResultsNoμ΅œλŒ€ κ²°κ³Ό 수
orderNoμ •λ ¬ κΈ°μ€€relevance
publishedAfterNo이후 κ²Œμ‹œλœ λ™μ˜μƒλ§Œ (ISO 8601, 예: 2025-01-01T00:00:00Z)
publishedBeforeNo이전 κ²Œμ‹œλœ λ™μ˜μƒλ§Œ (ISO 8601)
regionCodeNoμ§€μ—­ μ½”λ“œ (예: KR, US)
videoDurationNo길이 ν•„ν„° (short: 4λΆ„ 미만, medium: 4~20λΆ„, long: 20λΆ„ 이상)
pageTokenNoλ‹€μŒ νŽ˜μ΄μ§€ 토큰 (이전 μ‘λ‹΅μ˜ pageToken)

TDQS

B3/5.0
Behavior2/5

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

No annotations are present, so the description must disclose behavioral traits. It only says 'searches YouTube videos by keyword' without mentioning rate limits, authentication needs, output format, or any side effects.

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?

The description is a single sentence, which is concise but lacks substantive detail to be efficient; it does not prioritize key information.

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?

With 8 parameters, no output schema, and no annotations, the description is incomplete. It fails to specify typical outputs, pagination, or filtering behavior beyond schema hints.

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% parameter description coverage, so the baseline is 3. The description does not add additional semantic meaning beyond the schema's own descriptions.

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 explicitly states it searches YouTube videos by keyword, distinguishing it from sibling tools like search_channels (for channels) and get_videos (for specific videos by ID).

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 versus alternatives, nor does it specify any prerequisites, contexts, or exclusions.

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

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct resource or action (status, channel, channel videos, playlist, playlist items, video, video comments, batch videos, search channels, search videos) with no overlaps.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (get_*, search_*) except api_status which is a single status check. Naming is predictable and uniform.

Tool Count5/5

10 tools is perfectly scoped for YouTube data retrieval: covering channels, videos, playlists, comments, search, and status. No unnecessary tools.

Completeness5/5

The surface covers all major read operations for YouTube: channel info, channel videos, playlist info, playlist items, video details (single and batch), comments, and search for both channels and videos.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

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