Skip to main content
Glama
markswendsen-code

@striderlabs/mcp-youtube

@striderlabs/mcp-youtube

MCP server connector for YouTube — search videos, manage playlists, subscriptions, and watch history via Playwright browser automation.

Installation

npm install @striderlabs/mcp-youtube

Related MCP server: social-video-mcp

Configuration

Set environment variables:

export YOUTUBE_EMAIL="your-google-email@gmail.com"
export YOUTUBE_PASSWORD="your-password"
export YOUTUBE_HEADLESS="true"  # Set to "false" to see browser

Tools

Tool

Description

search_videos

Search for videos by query

get_video_details

Get detailed info about a video

get_channel_info

Get channel information

list_playlists

List user playlists

get_playlist_videos

Get videos in a playlist

subscribe_channel

Subscribe to a channel

get_subscriptions

List subscribed channels

get_watch_history

Get watch history

like_video

Like a video

add_to_playlist

Add video to playlist

MCP Configuration

Add to your MCP config:

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": ["@striderlabs/mcp-youtube"],
      "env": {
        "YOUTUBE_EMAIL": "your-email",
        "YOUTUBE_PASSWORD": "your-password"
      }
    }
  }
}

License

MIT

Available Tools

10 tools
add_to_playlistB

Add a video to a playlist.

ParametersJSON Schema
NameRequiredDescriptionDefault
video_idYesVideo ID to add
playlist_idYesPlaylist ID to add to

TDQS

B3.2/5.0
Behavior2/5

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

Because annotations are entirely absent, the description must carry the full burden of behavioral disclosure. It only states that the action is adding a video to a playlist, without mentioning side effects, duplicate handling, authentication requirements, or what happens on success or failure. This is minimal but not misleading.

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, short sentence with no filler or redundancy. It conveys the core action directly and front-loads the most important information, which is ideal for a simple tool.

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?

Despite the simple schema, the tool has no annotations and no output schema, so the description needs to provide more context to be fully reliable. It omits details about permissions, whether duplicates are allowed, and the outcome of the operation, making it incomplete for an agent that must invoke this mutation correctly.

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%, and the schema already provides clear meaning for both parameters: video_id is the video to add, playlist_id is the target playlist. The description adds no parameter-specific detail beyond what the schema supplies, so the baseline 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 uses a specific verb ('Add') and a precise resource ('a video to a playlist'), making the tool's function immediately obvious. Among siblings like search_videos, get_playlist_videos, and like_video, this is the only tool that adds a video to a playlist, so it is clearly distinguished.

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 gives no guidance on when to use this tool versus alternatives, nor does it mention prerequisites such as playlist ownership or existing playlists. There are no exclusions or conditions provided, leaving the agent to infer usage from the tool name alone.

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

get_channel_infoC

Get information about a YouTube channel including subscriber count and recent videos.

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_idYesChannel ID or URL

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 carries the full burden of behavioral disclosure. It implies a read-only operation through 'Get information,' but it does not state authentication needs, rate limits, or side-effect-free guarantees, nor does it describe the meaning of 'recent videos' or response 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, tightly written sentence with no filler and the core information front-loaded. It is concise and well-structured, though it could be improved by adding usage guidance.

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 one-parameter tool, the description covers the basic purpose and hints at return contents, but with no output schema it does not fully specify response shape, error cases, or channel resolution behavior. It is adequate 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%, with channel_id described as 'Channel ID or URL.' The description adds no additional parameter detail, but the schema already fully documents the single parameter, so the baseline 3 applies.

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 uses a specific verb, 'Get,' and names the resource, 'YouTube channel,' while adding concrete detail about the return content ('subscriber count and recent videos'). This clearly distinguishes it from video/playlist/subscription sibling tools, though it doesn't explicitly name any alternative.

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 implies it should be used when channel information is needed, but it provides no explicit guidance about when to prefer this tool over siblings such as get_subscriptions or search_videos. With eight sibling tools, the agent receives no routing help beyond the basic purpose statement.

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

get_playlist_videosB

Get all videos in a specific playlist.

ParametersJSON Schema
NameRequiredDescriptionDefault
playlist_idYesPlaylist ID or URL

TDQS

B3.3/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. It only says 'Get all videos' and does not mention pagination, response format, authentication needs, or behavior when the playlist is invalid or empty.

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 active sentence with no filler or redundant detail. It front-loads the verb and resource, making the tool's core purpose immediately visible.

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 one-parameter read operation, the description plus schema is minimally sufficient for an agent to know what to pass. However, the lack of output schema, pagination details, and sibling routing leaves notable gaps in fully understanding the tool's behavior and selection context.

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 covers playlist_id with a clear type and description ('Playlist ID or URL'), so schema coverage is 100%. The description adds no additional parameter semantics, but the baseline of 3 applies because the schema carries the necessary 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?

The description states a specific action ('Get all videos') and a specific resource ('a specific playlist'), clearly distinguishing it from sibling tools like search_videos, get_video_details, and list_playlists. The intent is immediately understandable and unambiguous.

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?

There is no explicit guidance on when to use this tool instead of alternatives such as search_videos or list_playlists. No preconditions, exclusions, or selection criteria are provided beyond the core statement of what the tool does.

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

get_subscriptionsA

List channels the authenticated user is subscribed to.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/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 burden of behavioral disclosure. It conveys read-only behavior through 'List' and scopes the operation to the authenticated user, but it does not mention pagination, ordering, response shape, or authentication requirements explicitly.

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 adds meaning, and the scoping qualifier 'authenticated user' is placed where it matters most.

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 zero-parameter read-only list operation, the description is largely sufficient: it states what is listed and whose data is returned. The absence of an output schema and annotations means more detail could be added, such as whether pagination is used, but the core invocation context is clear.

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 tool has zero parameters, so the description is not required to document parameter meanings. The mention of 'authenticated user' helps clarify the implicit authorization context, which is useful beyond the empty 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 names a specific verb ('List') and a precise resource ('channels the authenticated user is subscribed to'). This clearly differentiates it from sibling tools like list_playlists or get_watch_history, since no other sibling targets subscriptions.

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 intended use is implied: call this when you need the authenticated user's subscribed channels. However, there is no explicit guidance about when not to use it or how it compares to related tools like subscribe_channel or list_playlists.

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

get_video_detailsA

Get detailed information about a specific YouTube video including description, likes, comments.

ParametersJSON Schema
NameRequiredDescriptionDefault
video_idYesYouTube video ID or URL

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden and does disclose what data is returned (description, likes, comments). However, it does not cover auth requirements, error behavior for invalid or missing video IDs, rate limits, or comment pagination.

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?

One 14-word sentence that front-loads the verb and resource before the return fields. No wasted words or repetition of schema content.

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 single-parameter read tool, the essentials are covered: what it does and what it returns. Minor gaps remain around edge-case behavior (nonexistent video) and explicit sibling routing, but the low complexity keeps the burden small.

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 the schema already documenting video_id as 'YouTube video ID or URL'. The description adds no parameter-level detail beyond aligning with the schema, so the baseline 3 applies.

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 uses a specific verb ('Get') with a clear resource ('a specific YouTube video') and lists the fields returned (description, likes, comments). The singular-video scope distinguishes it from siblings like search_videos and get_channel_info, though no sibling is named explicitly.

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

Usage Guidelines3/5

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

Usage context is implied: call this when you already have a video ID and want its details. However, there is no explicit when/when-not guidance or mention of alternatives like search_videos for finding videos without an ID.

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

get_watch_historyB

Get the authenticated user's watch history.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_resultsNoMax results (default 20)

TDQS

B3.2/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 behavioral burden. It only states the basic function and the 'authenticated user' qualifier, which implies auth requirements but does not disclose error handling, pagination behavior, rate limits, or whether results are sorted. An agent calling this tool would have no warning about its runtime behavior or potential side effects (if any).

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, direct sentence that immediately conveys the core purpose without any fluff. It is efficiently front-loaded and avoids redundancy. While it could include additional helpful context (like output format), it achieves clarity in minimal words, which is appropriately concise for a simple getter.

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 tool with one optional parameter and no annotations or output schema, the description is minimally adequate but not fully complete. It does not mention the return format (e.g., a list of video IDs), whether the history is sorted, or any constraints such as maximum page size beyond the default. An agent might need to assume behavior, so the description falls short of being fully contextual.

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 one parameter, max_results, with a description ('Max results (default 20)') that fully documents it, so schema coverage is 100%. The tool description adds no extra detail about the parameter beyond what the schema provides, which meets the baseline for high coverage but does not enhance it.

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 ('Get') and resource ('watch history') and qualifies it with 'authenticated user', making the purpose unambiguous. It is clearly distinct from sibling tools like search_videos or get_video_details, which address different resources, so an agent can select it without confusion.

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?

There is no guidance on when to use this tool versus alternatives. The description does not mention scenarios where one might prefer search_videos or get_video_details, nor does it state whether this should be used only for the user's own history. The agent is left to infer usage context from the purpose alone.

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

like_videoC

Like a YouTube video.

ParametersJSON Schema
NameRequiredDescriptionDefault
video_idYesVideo ID or URL to like

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Like a YouTube video' and does not mention authentication requirements, idempotency, side effects, or error behavior. For a mutating action, this is a significant gap.

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 sentence with no redundant wording and the action is front-loaded. It is concise and easy to parse, though it would benefit from additional context without becoming bloated.

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 is a write operation with no annotations, no output schema, and only minimal description. While the single parameter is well covered by the schema, an agent cannot determine whether authentication is needed, whether liking is reversible, or what a successful response looks like, so the description is not complete enough for safe invocation.

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 video_id as 'Video ID or URL to like' with 100% coverage. The tool description adds no additional parameter meaning beyond what the schema provides, 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Like') and resource ('YouTube video'), so the core action is clear. It is distinguishable from the search/get/list siblings, but it does not explicitly differentiate itself from add_to_playlist, since liking can be viewed as adding to a Liked playlist.

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 gives no guidance about when to use like_video versus alternatives. It only states what the tool does, with no exclusions, prerequisites, or mention of sibling tools like add_to_playlist or subscribe_channel.

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

list_playlistsA

List playlists for the authenticated user or a specific channel.

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_idNoChannel ID (optional, defaults to authenticated user)

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description must carry the full burden of behavioral disclosure. It conveys that this is a non-mutating read ('List') and that it operates on the 'authenticated user', which covers auth context. However, it does not disclose pagination behavior, default result counts, quota cost, or whether private playlists are included — meaningful gaps for an API tool with zero annotation coverage.

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 11-word sentence with zero filler. The action ('List playlists') is front-loaded and the scope qualifier follows immediately, so an agent absorbs the essential information in one pass.

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 low-complexity tool — one optional parameter, no required parameters, full schema coverage — the description covers the core invocation facts: action, resource, and auth context. With no output schema present, it leaves the return shape and pagination behavior unstated, which is a minor but real gap for an agent planning how to consume the result.

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%: channel_id is already documented as 'optional, defaults to authenticated user.' The tool description's 'authenticated user or a specific channel' phrasing largely restates that schema content rather than adding new meaning. With the schema doing the heavy lifting, the baseline of 3 applies.

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 states a specific verb ('List'), resource ('playlists'), and scope ('authenticated user or a specific channel'), making the core purpose unambiguous. It is clearly distinct from siblings like search_videos and get_video_details, but it never explicitly differentiates itself from the closest sibling, get_playlist_videos, leaving that distinction implicit.

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 a usage context — an agent needing an account's or channel's playlists would select this tool — but offers no explicit guidance about when not to use it. It does not mention alternatives (e.g., get_playlist_videos for the videos inside a playlist) nor any exclusions, so routing decisions are left to the agent's inference.

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

search_videosB

Search for videos on YouTube by query. Returns video titles, channels, views, and URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
max_resultsNoMax results (default 10)

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does reveal the output fields (titles, channels, views, URLs), which is helpful. However, it does not mention whether results are sorted, paginated, limited to public videos, or if any side effects occur. Basic behavior is disclosed, but not deep 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.

Conciseness5/5

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

The description is a single sentence that front-loads the core action ('Search for videos') and immediately follows with the return fields. Every word adds value; there is no repetition or filler.

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 search tool with a clear schema and no output schema, the description sufficiently explains what the tool returns and the main input. It does allude to max_results via the schema, and the sibling names give context. Missing details like result sorting or pagination are not critical for basic usage.

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 both parameters are already documented. The description only reinforces the 'query' parameter by stating 'by query' but adds no meaning beyond the schema. This meets the baseline for high schema coverage.

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 states a clear verb and resource: 'Search for videos on YouTube by query.' It also lists the return fields (titles, channels, views, URLs), which helps an agent understand what the tool does. However, it does not explicitly contrast itself with sibling tools like get_video_details, so it lacks differentiation but remains unambiguous.

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 implies usage for searching videos by query, but provides no guidance on when to prefer this tool over alternatives such as get_video_details or get_playlist_videos. There are no explicit use cases, exclusions, or conditions for choosing this tool.

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

subscribe_channelA

Subscribe to a YouTube channel.

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_idYesChannel ID or URL to subscribe to

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 carries the full burden of behavioral disclosure. It only says 'Subscribe to a YouTube channel' and does not explain that this modifies the authenticated user's subscriptions, requires any authorization, or what the result/response will be. The description is minimal and largely restates the tool name.

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, short, front-loaded sentence with no unnecessary words. For a one-parameter tool with no output schema, this level of conciseness is appropriate.

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 core purpose and parameter are covered, but with no annotations and no output schema, the description leaves out useful context such as authentication requirements, expected response, and whether subscribing is idempotent. It is functional for a simple action but not fully 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?

The input schema fully documents channel_id with its own description ('Channel ID or URL to subscribe to'), so schema coverage is 100%. The tool description adds no additional parameter-level meaning, 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 states a specific verb ('Subscribe') and resource ('a YouTube channel'), making the tool's purpose immediately clear. This verb/resource combination also distinguishes it from the sibling tools, which are mostly search/get/list operations.

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 that the tool should be used when the user wants to subscribe to a channel, but it provides no explicit guidance about when not to use it or how it relates to alternatives like get_subscriptions. It relies on the agent to infer the usage context.

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

TDQS

A3.6/5.0
Disambiguation5/5

Each tool targets a distinct resource-action pair: videos, channels, playlists, subscriptions, watch history, and likes are cleanly separated. Even the read operations are unambiguous because they operate on different objects.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern, such as search_videos, get_channel_info, subscribe_channel, and add_to_playlist. There are no mixed conventions or vague verbs.

Tool Count5/5

Ten tools is well within the ideal 3–15 range and appropriately scopes YouTube search, channel browsing, playlist access, subscriptions, watch history, and engagement actions without being bloated.

Completeness3/5

Core browsing/search workflows are covered, but the action set has lifecycle gaps: there is no create_playlist or remove_from_playlist even though add_to_playlist exists, and no unsubscribe or unlike counterparts to subscribe_channel and like_video. Upload and comment operations are absent, leaving some user-action workflows with dead ends.

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

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables interaction with the YouTube Data API, allowing users to search videos, get video and channel details, analyze trends, and fetch video transcripts.
  • F
    license
    B
    quality
    D
    maintenance
    MCP server for YouTube Data API v3 enabling video search, channel lookup, trending content, comments, and playlist management.
    11

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

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