Skip to main content
Glama

YouTube MCP

A safe, local-first Model Context Protocol server for inspecting and managing a creator-owned YouTube channel.

@fullstackcraftllc/youtube-mcp uses Google's official YouTube Data API v3 and YouTube Analytics API. It does not scrape YouTube, download videos, send telemetry, or provide a hosted intermediary.

Features

  • Inspect your channel and page through its uploads.

  • Read owned-video metadata and public statistics.

  • Analyze channel/video performance, traffic sources, YouTube search terms, and audience retention.

  • Preview exact title, description, tag, and category changes.

  • Apply only an unexpired reviewed preview after rechecking ownership and remote state.

  • Maintain separate readonly and manage OAuth authorizations in named local profiles.

Version 0.1 intentionally excludes uploads, deletes, thumbnails, visibility, comments, playlists, monetization, public-channel research, transcripts, and HTTP hosting.

Related MCP server: YouTube MCP Server

Requirements

  • Node.js 22 or newer.

  • A creator-owned YouTube channel.

  • Your own Google Cloud project and Desktop OAuth client.

Follow Google Cloud setup before logging in. Never commit the downloaded OAuth client JSON.

Authorize a profile

Readonly analytics:

npx -y @fullstackcraftllc/youtube-mcp@0.1.0 auth login \
  --profile vannacharm \
  --mode readonly \
  --client-secrets /absolute/path/to/client_secret.json

Metadata management uses a separate token and explicit extra permission:

npx -y @fullstackcraftllc/youtube-mcp@0.1.0 auth login \
  --profile vannacharm \
  --mode manage \
  --client-secrets /absolute/path/to/client_secret.json

If Google exposes multiple channels, repeat the command with --channel-id <id> after the CLI prints the valid choices.

Check configuration without exposing credentials:

npx -y @fullstackcraftllc/youtube-mcp@0.1.0 auth status --profile vannacharm --mode readonly
npx -y @fullstackcraftllc/youtube-mcp@0.1.0 doctor --profile vannacharm --mode readonly

MCP client configuration

Codex, readonly:

codex mcp add youtube \
  -- npx -y @fullstackcraftllc/youtube-mcp@0.1.0 serve --profile vannacharm --mode readonly

Codex, manage mode as a separately named server:

codex mcp add youtube-manage \
  -- npx -y @fullstackcraftllc/youtube-mcp@0.1.0 serve --profile vannacharm --mode manage

Claude Desktop:

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": [
        "-y",
        "@fullstackcraftllc/youtube-mcp@0.1.0",
        "serve",
        "--profile",
        "vannacharm",
        "--mode",
        "readonly"
      ]
    }
  }
}

The server starts even if authorization is missing so the client can call youtube_get_auth_status. Other tools return AUTH_REQUIRED until the selected profile and mode are authorized.

Safe metadata updates

There is no direct update tool. The workflow is:

  1. Call youtube_preview_video_update with one or more proposed fields.

  2. Review the complete before/after diff, video ID, channel ID, expiry, and hash.

  3. Call youtube_apply_video_update with the preview ID, hash, and exact video ID.

Apply re-fetches current metadata and fails if anything changed since preview. YouTube receives a complete writable snippet so omitted fields are preserved. A preview expires after ten minutes and is consumed after one apply attempt.

See the complete tool reference, privacy and deletion behavior, and threat model.

Other CLI commands

youtube-mcp profiles list
youtube-mcp auth revoke --profile vannacharm --mode readonly
youtube-mcp auth revoke --profile vannacharm --mode manage
youtube-mcp --help
youtube-mcp --version

Local development

git clone https://github.com/FullStackCraft/youtube-mcp.git
cd youtube-mcp
npm install
npm run release:check

Run locally from an MCP client with:

node /absolute/path/to/youtube-mcp/dist/index.js serve --profile vannacharm --mode readonly

Compliance and affiliation

Use of this software is subject to the YouTube Terms of Service, YouTube API Services Terms of Service, and Google Privacy Policy.

YouTube and Google are trademarks of Google LLC. This independent project is not affiliated with, sponsored by, or endorsed by YouTube or Google.

License

MIT © Full Stack Craft LLC.

Available Tools

10 tools
youtube_get_auth_statusGet YouTube authorization statusA
Read-onlyIdempotent

Inspect the selected local profile and authorization mode without exposing credentials.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataNo
metaYes
errorNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds the key behavioral detail 'without exposing credentials', which is valuable for agent decision-making.

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, concise sentence that immediately conveys the tool's purpose. No wasted words; information is front-loaded.

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

Completeness5/5

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

For a simple read-only tool with zero parameters and an output schema (implied), the description is complete enough. No additional context needed.

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?

Tool has zero parameters and schema coverage is 100%. Description adds meaning by clarifying what is inspected (local profile and authorization mode), justifying a baseline score of 4.

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 explicitly states the tool inspects the selected local profile and authorization mode without credentials. Clearly distinguishes from sibling tools focused on videos and analytics.

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?

Implied usage as a pre-check for authorization, but no explicit when-to-use, when-not-to-use, or alternatives provided. Context signals suggest simple status check but guidance is minimal.

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

youtube_get_channel_analyticsGet channel analyticsB
Read-onlyIdempotent

Return fixed non-monetary YouTube Analytics metrics for the selected channel.

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateYes
startDateYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataNo
metaYes
errorNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint as safe. The description adds that metrics are 'fixed' and 'non-monetary', providing some additional context beyond annotations. However, it does not disclose data freshness, limits, or what 'fixed' entails. With strong annotations, a score of 3 is appropriate.

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 that efficiently conveys the core purpose. It is front-loaded with key information and contains no unnecessary words or redundancy.

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 has low complexity (2 parameters, output schema exists). The description defines the output type (metrics) but does not explain how the channel is selected (likely implicit via auth) or the date parameters. With an output schema, return values are covered, but parameter documentation is missing. The description meets the minimum but has gaps.

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?

The input schema has two string parameters (startDate, endDate) with 0% schema coverage and no parameter descriptions. The tool description does not explain the date format, allowed range, or semantics (e.g., YYYY-MM-DD, time zone). Since schema coverage is low, the description should compensate but fails to do so.

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 'return', the resource 'YouTube Analytics metrics', and specifies 'non-monetary' which distinguishes it from potential monetary analytics tools. The name and title are consistent. It differentiates from sibling tools like youtube_get_video_analytics which targets video-level data.

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. For example, it does not mention that video-level analytics should use youtube_get_video_analytics, or that auth status is needed first. The description assumes the agent knows to use this for channel-level metrics without explicit direction.

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

youtube_get_my_channelGet my YouTube channelA
Read-onlyIdempotent

Return metadata and statistics for the channel bound to the selected profile.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataNo
metaYes
errorNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, etc. The description adds the contextual detail 'bound to the selected profile,' which clarifies scope. It does not contradict annotations and provides adequate behavioral context beyond structured fields.

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 with no unnecessary words. It efficiently conveys the tool's purpose and scope.

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

Completeness5/5

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

Given zero parameters, comprehensive annotations, and an existing output schema, the description is complete. It clearly communicates what the tool returns and the context of the channel being bound to the selected profile.

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?

There are no parameters, and schema coverage is 100%. The description does not need to elaborate on parameters. Baseline score of 4 for a zero-parameter tool 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 returns metadata and statistics for the channel bound to the selected profile. It uses specific verbs and specifies the resource, distinguishing it from sibling tools like youtube_get_channel_analytics which likely target different 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 implies usage for the authenticated user's channel but does not explicitly differentiate from siblings or provide when-to-use guidance. Sibling tools such as youtube_get_channel_analytics could be confused without further context.

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

youtube_get_videoGet one of my YouTube videosA
Read-onlyIdempotent

Return metadata and statistics for an owned video; non-owned videos are rejected.

ParametersJSON Schema
NameRequiredDescriptionDefault
videoIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataNo
metaYes
errorNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description adds the key behavioral detail that non-owned videos are rejected. This is valuable beyond the 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?

Single concise sentence front-loading the purpose and a critical constraint. No wasted 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?

With good annotations and an output schema present, the description covers the core purpose and ownership constraint. Minor omission: does not clarify that authentication is required or that the video must belong to the authenticated user.

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%, and the description does not explain the videoId parameter at all. It leaves the agent guessing about the format or meaning of the identifier.

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 returns metadata and statistics for an owned video, and explicitly distinguishes non-owned videos as rejected. This sets it apart from sibling tools like youtube_get_video_analytics or youtube_get_video_retention.

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 when you own the video and need basic metadata/statistics, but does not explicitly mention when not to use it or provide alternative sibling tools for non-owned videos or specific analytics.

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

youtube_get_video_analyticsGet video analyticsA
Read-onlyIdempotent

Return fixed non-monetary analytics metrics for an owned video.

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateYes
videoIdYes
startDateYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataNo
metaYes
errorNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint; description adds value by specifying 'fixed non-monetary' metrics, clarifying scope beyond 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?

Single sentence, 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.

Completeness3/5

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

With 3 required params and output schema present, description is minimal but adequate alongside annotations; still lacks details on metric types and date format.

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 has 0% description coverage and description does not explain date format or videoId meaning, leaving agent to infer parameter semantics.

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 verb 'Return', resource 'analytics metrics for an owned video', and qualifies with 'fixed non-monetary', distinguishing from siblings like retention or traffic sources.

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 non-monetary analytics via 'non-monetary', but gives no explicit when-to-use or when-not-to-use compared to sibling tools.

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

youtube_get_video_retentionGet video audience retentionC
Read-onlyIdempotent

Return normalized audience-retention points for an owned video.

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateYes
videoIdYes
startDateYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataNo
metaYes
errorNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which cover safety and idempotency. The description adds that the data is 'normalized' and for 'owned video', which provides context beyond annotations but does not describe any side effects or additional behavioral traits.

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 wasted words. It conveys the core purpose efficiently.

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 existence of an output schema, the description does not need to detail return values. However, it lacks parameter details and usage guidance, making it minimally adequate for a tool with 3 required parameters and similar siblings.

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 the description does not mention the parameters (startDate, endDate, videoId) beyond what is in the schema. The description should explain the date range and video ID usage but fails to do so.

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 action (return) and resource (normalized audience-retention points for an owned video). It is specific but does not explicitly differentiate from the sibling tool 'youtube_get_video_analytics', which could also return similar data.

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_get_video_analytics'. The description does not mention prerequisites, such as owning the video, or mention that this is for a specific metric.

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

youtube_get_video_search_termsGet video YouTube search termsC
Read-onlyIdempotent

Return YouTube search terms that led to an owned video.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
endDateYes
videoIdYes
startDateYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataNo
metaYes
errorNo

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds minimal behavioral context (it returns search terms), but does not disclose authorization needs, rate limits, or other traits beyond annotations.

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, efficient sentence with no wasted words. However, it lacks structure and detail, which reduces its effectiveness for agent usage.

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 having an output schema (not shown), the description does not explain what 'search terms' means or how they are structured. With 4 parameters (3 required) and no parameter guidance, the description is incomplete for informed tool selection and invocation.

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 coverage is 0%, meaning the description does not explain any parameters. The description fails to provide meaning for limit, startDate, endDate, or videoId, leaving the agent without guidance on required or optional inputs.

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 returns YouTube search terms that led to an owned video, using a specific verb and resource. However, it does not explicitly differentiate from siblings like youtube_get_video_traffic_sources, which might also relate to search terms.

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, nor are there any exclusions or context for usage. The description lacks any situational advice.

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

youtube_get_video_traffic_sourcesGet video traffic sourcesB
Read-onlyIdempotent

Return YouTube traffic-source types for an owned video, sorted by views.

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateYes
videoIdYes
startDateYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataNo
metaYes
errorNo

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds value by specifying that results are sorted by views and that the video must be owned. No contradictions with 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, clear sentence of 9 words. It is front-loaded with the core action 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?

Despite a good annotation set and output schema, the description is too minimal. It does not cover parameter details or provide enough context for a tool with three required parameters. The one-sentence description leaves gaps.

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 coverage is 0% with no parameter descriptions. The description does not explain the semantics of any parameter (e.g., date format, videoId scope). It only implies ownership for videoId, which is insufficient.

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 specifies the verb 'Return', the resource 'traffic-source types', and additional details 'for an owned video, sorted by views'. This clearly distinguishes it from sibling tools like youtube_get_video_analytics or youtube_get_video_retention.

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 lacks any guidance on when to use this tool versus alternatives. It does not mention prerequisites, context, or when not to use it. The purpose is implicit but no explicit usage guidelines are provided.

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

youtube_list_my_videosList my YouTube videosA
Read-onlyIdempotent

Page through videos in the selected channel's uploads playlist.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageSizeNo
pageTokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataNo
metaYes
errorNo

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so description adds only moderate context about the scope (uploads playlist). No contradictions.

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 action and resource, concise and clear. Could be slightly more informative but earns its place.

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 comprehensive annotations and presence of output schema, description adequately covers the tool's purpose and scope for a simple paginated list operation.

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?

With 0% schema description coverage, description should explain parameters but does not mention pageSize or pageToken, only implies pagination via 'Page through'. Adds minimal value.

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 uses specific verb 'Page through' and identifies resource 'videos in the selected channel's uploads playlist', distinguishing it from sibling tools which focus on single videos or analytics.

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?

Implicitly clear for listing videos; no explicit when-not-to-use or alternatives mentioned, but siblings are distinctly different, so minimal guidance needed.

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

youtube_list_video_categoriesList YouTube video categoriesA
Read-onlyIdempotent

List assignable and non-assignable categories for a region.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionCodeNoUS

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataNo
metaYes
errorNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds value by distinguishing between assignable and non-assignable categories, which is a behavioral trait not captured in 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, focused sentence with no wasted words. It is appropriately sized for the tool's simplicity.

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 low complexity (1 parameter, no required params, output schema exists), the description is mostly complete. It covers the core functionality and adds distinction about assignability.

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?

With schema description coverage at 0%, the description should compensate for the undocumented regionCode parameter. It only implies region via 'for a region' without explaining the parameter name, format, or default behavior.

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 specifies the verb 'list' and the resource 'video categories', and distinguishes assignable vs non-assignable, which differentiates it from sibling tools like youtube_list_my_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?

The description does not provide guidance on when to use this tool versus alternatives, nor does it mention prerequisites or scenarios. It only states the action without context.

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 aspect of YouTube data: auth status, channel info, channel analytics, video info, video analytics, retention, search terms, traffic sources, video listing, and categories. No overlap in functionality.

Naming Consistency5/5

All tools follow a consistent pattern of 'youtube_get_' or 'youtube_list_', with clear verb_noun structure. The naming is uniform and predictable.

Tool Count5/5

10 tools is a well-scoped set for a YouTube analytics and data retrieval server. It covers essential read operations without being overwhelming.

Completeness4/5

The toolset comprehensively covers retrieval of channel and video data, analytics, and categories. While it lacks write operations and general video search, the focus on owned-content analytics is well-served, with only minor gaps like missing video comments or playlist management.

Maintenance

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

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