Skip to main content
Glama
gimslab

youtube-mcp

by gimslab

YouTube MCP Server

Claude, Antigravity 등 AI 도구에서 YouTube 콘텐츠에 접근할 수 있는 MCP(Model Context Protocol) 서버입니다.

기능

도구

설명

API 키 필요

get_transcript

자막/트랜스크립트 추출

get_video_info

영상 메타데이터 조회

get_channel_info

채널 정보 조회

search_videos

YouTube 검색

Related MCP server: mcp-server-youtube

설치

cd youtube-mcp
npm install
npm run build

환경 변수

모든 기능을 사용하려면 YouTube Data API v3 키가 필요합니다:

export YOUTUBE_API_KEY="your-api-key-here"

API 키가 없으면 get_transcript 기능만 사용 가능합니다.

Claude Desktop 연동

~/.config/claude/claude_desktop_config.json 파일에 추가:

{
  "mcpServers": {
    "youtube": {
      "command": "node",
      "args": ["/home/gim/projects/youtube-mcp/build/index.js"],
      "env": {
        "YOUTUBE_API_KEY": "your-api-key-here"
      }
    }
  }
}

Antigravity 연동

MCP 서버 설정에서 다음과 같이 추가:

{
  "youtube-transcript": {
    "command": "node",
    "args": ["/home/gim/projects/youtube-mcp/build/index.js"],
    "env": {
      "YOUTUBE_API_KEY": "your-api-key-here"
    }
  }
}

사용 예시

자막 추출

get_transcript("https://youtube.com/watch?v=VIDEO_ID", "ko")

영상 정보 조회

get_video_info("https://youtube.com/watch?v=VIDEO_ID")

채널 정보 조회

get_channel_info("UCxxxxxx")

YouTube 검색

search_videos("검색어", 10)

라이선스

MIT

Available Tools

4 tools
get_channel_infoA

Get information about a YouTube channel including subscriber count, video count, and recent uploads.

ParametersJSON Schema
NameRequiredDescriptionDefault
channelIdYesYouTube channel ID

TDQS

A3.6/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 carry the full burden of behavioral disclosure. It merely states 'Get information,' implying a read operation, but fails to mention auth requirements, potential rate limits, error behavior, or whether only public data is returned. This is a significant gap for a tool without annotations.

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, front-loaded sentence with no filler. Every word contributes meaning, listing the resource and the specific data points returned. It is appropriately concise.

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's simplicity (one parameter, no output schema), the description is fairly complete: it specifies the channel identifier and the expected return content. However, it omits details like whether the response includes channel thumbnails, description, or other metadata, and does not clarify if 'recent uploads' means a list of video IDs or full video objects. Minor gaps remain.

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% since the only parameter, channelId, has a description ('YouTube channel ID'). The description adds no extra meaning beyond the schema, so the baseline of 3 applies. It does not clarify format, required scope, or valid values.

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 uses the specific verb 'Get' with a clear resource ('information about a YouTube channel') and enumerates the data returned (subscriber count, video count, recent uploads). This clearly differentiates it from sibling tools like get_video_info, get_transcript, and search_videos, which target other aspects of YouTube data.

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 implicitly conveys when to use the tool (when channel-level info is needed) by listing channel-specific fields, but it does not explicitly state exclusions or alternatives. For example, a user may need get_video_info for video-specific details, but no such guidance is given.

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

get_transcriptA

Extract transcript/subtitles from a YouTube video. Works without API key.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesYouTube video URL or video ID
langNoLanguage code for transcript (e.g., 'ko', 'en')en

TDQS

A3.9/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 burden of behavioral disclosure. It adds one non-obvious fact (no API key required) and 'Extract' implies a read operation, but it does not mention return format, rate limits, or error behavior. This is a minimal but not rich disclosure.

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, front-loaded sentence that states the action and a key context (no API key). Every word earns its place, with no redundancy or filler.

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?

The tool is simple with two parameters and no output schema, so the description must explain return values, but it does not. It states purpose and the no-API-key advantage but leaves the format of the extracted transcript (plain text, timestamps, etc.) unspecified. Adequate for a basic understanding, but incomplete for full autonomous use.

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 already documents both parameters (url and lang) with descriptions and a default for lang, so schema coverage is 100%. The description itself adds no extra parameter meaning beyond what the schema provides, so the 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 uses a specific verb ('Extract') with a clear resource ('transcript/subtitles from a YouTube video'). It immediately distinguishes itself from sibling tools like get_video_info, get_channel_info, and search_videos, which handle 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 Guidelines4/5

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

Provides clear context: extracts transcripts and works without an API key, which is a useful selection hint. However, it does not explicitly mention alternatives or state when not to use this tool, so it stops short of full exclusion guidance.

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

get_video_infoA

Get metadata for a YouTube video including title, description, view count, likes, and more.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesYouTube video URL or video ID

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the return content (title, description, view count, likes) but does not explicitly state that this is a read-only operation, mention authentication needs, or address potential errors/rate limits. The 'get' verb implies read-only, but more behavioral context could be added.

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, well-structured sentence that front-loads the primary purpose and lists specific example fields. Every word is useful, with no redundancy or tangents.

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?

For a simple one-parameter tool with no output schema, the description provides a reasonable overview of the return content. However, it omits details like possible errors, authentication requirements, or the full extent of 'more' metadata, so it is not fully complete but adequate for a low-complexity tool.

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 provides 100% coverage for the single 'url' parameter, including that it accepts a URL or video ID. The description adds no additional parameter information, so the schema does the heavy lifting and the description provides no extra value here.

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 function with a specific verb ('Get metadata') and resource ('YouTube video'), and enumerates concrete fields (title, description, view count, likes). It is easily distinguishable from sibling tools like get_transcript and get_channel_info.

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 implies usage for retrieving video metadata, but it does not explicitly discuss when to use it instead of alternatives, nor does it mention any exclusions or contextual prerequisites. The use case is implied rather than explicitly guided.

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

search_videosA

Search for YouTube videos by keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
maxResultsNoMaximum number of results (1-50)

TDQS

A3.5/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 carry full behavioral burden. It only states the basic action and does not disclose what the response contains, whether it returns a list, any sorting/filtering limitations, or other behavioral traits. For a tool with no annotation coverage, this is insufficient.

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 with no redundant phrasing. Every word earns its place, and it is immediately clear what the tool does.

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?

For a simple read-only search tool with complete parameter schema, the description is minimally adequate. However, without an output schema, it does not explain what kind of results are returned (e.g., metadata fields, video IDs), and it lacks any context about limitations or the difference from sibling retrieval tools. It meets the baseline but has clear gaps.

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% for both parameters (query and maxResults), so the baseline is 3. The description's mention of 'keyword' merely restates the query parameter and adds no additional semantic meaning beyond what the schema already provides.

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 uses a specific verb ('Search') and resource ('YouTube videos') with a clear method ('by keyword'). It clearly distinguishes from sibling tools which all retrieve specific entities (transcript, video info, channel info) rather than performing discovery.

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 implies use for finding videos by keyword, and sibling names suggest it is the discovery tool. However, it does not explicitly state when to use this tool over alternatives or mention any exclusions (e.g., 'use get_video_info for details on a specific video').

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. Dates show when Glama detected each change.

  1. 4 tool updatesv1.0.0
    • First observedget_channel_info
    • First observedget_transcript
    • First observedget_video_info
    • First observedsearch_videos

TDQS

A3.9/5.0
Disambiguation5/5

Each tool targets a distinct resource: transcript, video metadata, channel info, and search results. There is no overlap or ambiguity between them.

Naming Consistency4/5

Most tools follow the get_<resource> pattern (get_transcript, get_video_info, get_channel_info), with search_videos as a minor deviation. The naming is still clear and predictable, but not perfectly uniform.

Tool Count5/5

The server has 4 tools, which is well-scoped for a YouTube info retrieval MCP. Each tool serves a clear and necessary purpose without redundancy.

Completeness4/5

The coverage is solid for a read-only YouTube API: search, video info, channel info, and transcripts. Minor gaps like playlist support or comments are not core to the apparent purpose, so agents can work around them.

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

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