Skip to main content
Glama
plaguedoctor39

youtube-research

YouTube Research MCP Server

An MCP server for YouTube integration with Claude Code — search videos, get metadata, fetch transcripts, explore channels, and more.

Tools

Tool

Description

API Quota

youtube_search(query, max_results)

Search videos by query

100 + 1

youtube_video_info(video_url_or_id)

Get video metadata by URL or ID

1

youtube_transcript(video_url_or_id, lang)

Fetch video subtitles with timestamps

0 (no API)

youtube_channel_info(channel_url_or_id)

Get channel stats (subscribers, views, etc.)

1

youtube_channel_videos(channel_url_or_id, max_results)

List recent videos from a channel

2

youtube_playlist(playlist_url_or_id, max_results)

List videos in a playlist

2

youtube_comments(video_url_or_id, max_results)

Get top comments for a video

1

youtube_trending(region_code, max_results)

Get trending videos by country

1

YouTube Data API v3 free quota: 10,000 units/day. youtube_search is the most expensive at ~101 units per call.

Related MCP server: YouTube MCP Server

Setup

1. Get a YouTube API Key

  1. Go to Google Cloud Console

  2. Create a project (or select an existing one)

  3. Navigate to APIs & Services → Library

  4. Find and enable YouTube Data API v3

  5. Go to APIs & Services → Credentials

  6. Click Create Credentials → API Key

  7. Copy the key

2. Install Dependencies

cd /path/to/youtube_research
uv sync

3. Configure Claude Code

Copy the example config and add your API key:

cp .mcp.json.example ~/.claude/.mcp.json

Edit ~/.claude/.mcp.json — replace /path/to/youtube_research and YOUR_API_KEY_HERE with actual values.

Important: .mcp.json contains your API key — do not commit it to git.

Alternatively, place .mcp.json in the project root — the server will only be available when working from that directory.

4. Restart

Restart Claude Code — all 8 tools will become available.

Remote Access (SSE)

To use with Claude.ai web chat or other remote MCP clients, run the server in SSE mode on a VPS:

YOUTUBE_API_KEY=your_key uv run server.py --sse --host 0.0.0.0 --port 8000

Options:

  • --sse — enable SSE transport (default is stdio)

  • --host — bind address (default: 127.0.0.1 — use 0.0.0.0 to expose externally)

  • --port — port number (default: 8000)

The server will be available at http://your-vps:8000/sse.

Security: The SSE endpoint has no built-in authentication. For public deployment, use a reverse proxy (nginx) with token-based auth in front of it.

Usage Examples

In Claude Code:

  • "Find videos about Python asyncio" → youtube_search

  • "Show info for https://youtu.be/dQw4w9WgXcQ" → youtube_video_info

  • "Get subtitles for this video" → youtube_transcript

  • "How many subscribers does @lexfridman have?" → youtube_channel_info

  • "Show latest videos from @ThePrimeagen" → youtube_channel_videos

  • "List videos in this playlist: https://youtube.com/playlist?list=..." → youtube_playlist

  • "What are people saying about this video?" → youtube_comments

  • "What's trending in Japan?" → youtube_trending

License

MIT

Available Tools

8 tools
youtube_channel_infoA

Get channel metadata by URL, handle, or ID.

Returns: id, title, description, subscriber_count, view_count, video_count, published_at, thumbnail, custom_url.

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_url_or_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. It indicates the tool returns data (read-only implied) but does not disclose potential side effects, authentication requirements, rate limits, or error handling. This is adequate but not thorough.

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 extremely concise: one sentence for the action and input, one for the return fields. No redundant information. Every word serves a purpose.

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 simple single-parameter input and the presence of an output schema, the description covers the essential behavior. However, it omits details about invalid inputs or edge cases, which could be added without much overhead.

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 input schema has a single parameter with no description. The description adds semantics by stating the parameter accepts a URL, handle, or ID, which clarifies valid inputs beyond the schema's type field. With 0% schema coverage, the description compensates effectively.

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 retrieves channel metadata and specifies the allowable input types (URL, handle, or ID). It lists the exact return fields, making the purpose unambiguous. The sibling tools handle videos, comments, playlists, etc., so this tool is well-differentiated.

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?

The description implies usage when channel metadata is needed, but does not explicitly state when not to use or mention alternatives. The sibling tool list provides context, but the description itself lacks explicit guidance on tool selection.

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

youtube_channel_videosA

List recent videos from a channel.

Accepts channel URL, @handle, or ID. Returns videos sorted by date (newest first) with metadata: id, title, description, duration, view_count, published_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_url_or_idYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations exist, so description carries burden. It states sorting and metadata fields but omits rate limits, pagination, or error conditions. Adequate but not exhaustive.

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?

Two sentences, front-loaded with purpose, then input and output details. No redundant or missing 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?

Output schema exists, so return value details are not needed. Covers input types and output fields, but pagination and limits are missing. Reasonably complete.

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 0% requires description to compensate. It explains channel_url_or_id accepts URL/@handle/ID. But max_results is only implied by default; no range or behavior explained. Partial compensation.

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 tool lists recent videos from a channel, distinguishing it from siblings like youtube_video_info and youtube_channel_info. Input types are specified.

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 like youtube_search. No exclusions or context provided beyond input format.

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

youtube_commentsB

Get top-level comments for a YouTube video.

Returns comments sorted by relevance with: author, text, likes, published_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
video_url_or_idYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

No annotations provided, so description carries burden. States it returns top-level comments sorted by relevance but lacks details on pagination, rate limits, authentication, or accepted input formats (URL vs ID). Provides some but not comprehensive behavioral info.

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?

Two sentences, front-loaded with action ('Get top-level comments'), no wasted words. Efficient and to the point.

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 output schema exists, return values are covered, but description lacks parameter details and usage guidelines. For a simple tool with no annotations, it leaves significant gaps in understanding how to invoke it correctly.

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 description coverage is 0%, and description does not explain parameters at all. No information on what video_url_or_id accepts (URL vs ID) or max_results limits/behavior. Completely fails to add semantic meaning.

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 it gets top-level comments for a YouTube video and lists returned fields (author, text, likes, published_at). Distinguishes from siblings like youtube_transcript and youtube_video_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?

Implies usage for retrieving comments but does not explicitly state when to use this tool vs alternatives or when not to use it. No exclusions or contextual guidance provided.

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

youtube_playlistC

List videos in a YouTube playlist.

Accepts a playlist URL or ID. Returns videos with metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
playlist_url_or_idYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/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 mentions returning videos with metadata but does not disclose ordering, pagination, error handling, or restrictions like private playlists. Basic purpose only.

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?

Two clear sentences with no fluff. First sentence states core function, second adds input and return info. Front-loaded and to the point.

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?

With an output schema present, return values are covered. However, no annotations and lack of usage guidelines make it incomplete. For a simple tool it's adequate but could mention ordering or pagination.

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 description coverage is 0%. The description explains playlist_url_or_id (accepts URL or ID) but does not mention max_results or clarify format details. Adds minimal value beyond schema names.

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 lists videos in a YouTube playlist, using specific verb+resource. It distinguishes from sibling tools like youtube_channel_videos and youtube_video_info, though without explicit differentiation.

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 like youtube_channel_videos or youtube_search. The description only states what it does, not the contexts or exclusions.

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

youtube_transcriptB

Get subtitles/transcript for a YouTube video.

Accepts a video URL or ID. Returns timestamped text. Looks for Russian subtitles first, then English by default.

ParametersJSON Schema
NameRequiredDescriptionDefault
video_url_or_idYes
langNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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. It mentions language fallback and timestamped output, but lacks information on error handling, rate limits, authentication, or limitations on available transcripts.

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?

Three concise sentences; the purpose is front-loaded, followed by input and behavior. No superfluous words.

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?

With 2 parameters and an output schema, the description is adequate but missing guidance on error scenarios and assumptions (e.g., subtitles must exist). It covers the core functionality but not edge cases.

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%, and the description only partially compensates: it mentions 'video URL or ID' for the required parameter and hints at 'lang' through language preferences, but does not explain the array type or null default.

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 'Get subtitles/transcript for a YouTube video,' using a specific verb and resource. It distinguishes from sibling tools like youtube_channel_info and youtube_video_info by focusing solely on transcript retrieval.

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 explains input format ('Accepts a video URL or ID') and default language behavior, but does not explicitly state when to use this tool versus alternatives or address prerequisites (e.g., video must have subtitles enabled).

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

youtube_video_infoA

Get video metadata by URL or ID.

Returns: id, title, description, duration, view_count, published_at, channel. Direct lookup by video ID — no search required.

ParametersJSON Schema
NameRequiredDescriptionDefault
video_url_or_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

Lists return fields and describes direct lookup behavior. No annotations provided, but description lacks details on error handling, rate limits, or authentication needs.

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?

Two concise sentences front-loaded with purpose, followed by return fields and behavior. No redundant 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?

Covers basic usage and return fields, but lacks error scenarios. Given the tool's simplicity and existence of output schema, completeness is adequate but not exhaustive.

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?

Adds value beyond the schema by clarifying the parameter accepts either a URL or an ID, which is not obvious from the schema alone.

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 it gets video metadata by URL or ID. Distinguishes from search tool by specifying 'direct lookup' and 'no search required'.

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: use when you have a specific video URL or ID. Implicitly contrasts with youtube_search, but doesn't mention other siblings like youtube_channel_info.

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 YouTube resource or action: channel metadata, channel videos, video comments, playlist contents, search, transcript, trending, and video info. No semantic overlap.

Naming Consistency4/5

All tools share the 'youtube_' prefix and use descriptive noun phrases (e.g., channel_info, transcript). Minor inconsistency: 'youtube_comments' could be more specific like 'youtube_video_comments', but overall pattern is clear.

Tool Count5/5

8 tools is well-scoped for a YouTube research server. Each tool serves a clear purpose without unnecessary bloat, covering the main read-only operations needed for research.

Completeness4/5

The set covers the essential read-only operations for YouTube research: channels, videos, search, playlists, comments, transcripts, and trending. Missing operations like channel search or video statistics are minor gaps.

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

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude to access and manage YouTube channel data through the YouTube Data API v3 and YouTube Analytics API. Provides tools for reading analytics, fetching video metadata, searching uploads, and updating video SEO directly from Claude.
    9
    1
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Integrates YouTube with Claude Code, enabling video transcript retrieval, search, metadata extraction, channel info, playlists, comments, trending videos, engagement analytics, chapter extraction, SponsorBlock integration, and most-replayed heatmaps.
    15
    57
    8

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

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