Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
YOUTUBE_API_KEYNoAPI key for public data
YOUTUBE_CHANNELNoChannel to work on by default (UC… ID, @handle or exact title), overriding `ytk auth switch`
YOUTUBE_TOKEN_DIRNoDirectory of stored logins, one file per channel
YOUTUBE_CONFIG_FILENoPath to config.toml (delete limits)
YOUTUBE_CLIENT_SECRETSNoPath to the OAuth client JSON

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": true
}
resources
{
  "subscribe": false,
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_analyticsA

YouTube Analytics for your channel: totals, or rows broken down by one dimension.

Data for the last two or three days is incomplete, so recent rows keep growing. Uses the separate YouTube Analytics API and its quota; enable it in the same Google Cloud project.

Quota: no YouTube Data API units.

setup_guideA

What is left before the user's channel can be used: a one-time Google Cloud setup, then a Google sign-in.

The steps happen in the user's browser, so walk them through one step at a time. Once ready, running the sign-in again connects another channel.

Quota: no YouTube Data API units.

get_channelA

Channel metadata, statistics, and uploads playlist ID.

Quota: 1 unit.

list_my_channelsA

Channels the user is logged in to, and which one is the default.

Operations on the user's own channel work on the default unless told to use another. Reads stored logins only; makes no API calls.

Quota: no YouTube Data API units.

list_activitiesB

A channel's recent activity feed (uploads, playlist additions, and the like).

Quota: 1 unit per page of up to 50 results.

list_sectionsB

The sections on a channel's home page.

Quota: 1 unit.

list_commentsA

Top-level comments on a video, or on all of your channel's videos.

Quota: 1 unit per page of up to 50 results.

list_repliesC

Replies to a top-level comment.

Quota: 1 unit per page of up to 50 results.

list_playlistsC

A channel's playlists.

Quota: 1 unit per page of up to 50 results.

get_playlistsB

Metadata of one or more playlists: title, description, privacy, and item count.

Quota: 1 unit.

list_playlist_itemsA

Videos in a playlist, in playlist order.

To list everything a channel has uploaded, pass the channel's uploads_playlist_id.

Quota: 1 unit per page of up to 50 results.

searchA

Search YouTube for videos, channels, or playlists.

Quota: 100 units per page of up to 50 results.

list_subscriptionsA

Channels the authorized user is subscribed to.

Quota: 1 unit per page of up to 50 results.

get_videosA

Full metadata, statistics, and status for one or more videos.

Videos that don't exist or aren't visible to you are left out of the result; if none are found, that's a not-found error.

Quota: 1 unit.

get_my_ratingsB

Whether the authorized user liked or disliked each video.

Quota: 1 unit.

list_video_categoriesA

Video categories that can be assigned to uploads in a region, with the IDs to pass as category_id.

Quota: 1 unit.

get_processing_statusB

Whether YouTube has finished processing one of your uploads.

Quota: 1 unit.

update_channelA

Change your channel's about info. Only the fields you pass change. The name can only be changed in Studio.

Quota: 51 units.

set_channel_bannerA

Upload and set your channel's banner. Use a 16:9 image of at least 2048x1152, at most 6 MB.

Quota: 101 units.

set_watermarkA

Set the watermark shown over all your videos, replacing any current one. Viewers click it to subscribe.

Quota: 51 units.

remove_watermarkA

Remove the watermark from your videos. Succeeds when there is none.

Quota: 51 units.

add_sectionA

Add a section to your channel's home page. A channel has at most 10.

Quota: 52 units.

update_sectionA

Change a section on your channel's home page. Only the fields you pass change.

Quota: 51 units.

delete_sectionA

Delete a section from your channel's home page. Its playlists and videos are not affected.

Quota: 50 units.

post_commentB

Post a top-level comment on a video as the authorized user.

Quota: 50 units.

reply_to_commentB

Reply to a top-level comment as the authorized user.

Quota: 50 units.

edit_commentB

Replace the text of one of your own comments or replies.

Quota: 50 units.

delete_commentA

Permanently delete one of your own comments or replies. Deleting a top-level comment deletes its replies.

Others' comments on your videos can't be deleted, only rejected, which hides them. Without confirm, nothing is deleted and the error describes the comment.

Quota: 52 units.

approve_commentsA

Publish comments on your videos that are held for review or marked as likely spam.

Quota: 50 units.

hold_commentsA

Hide comments on your videos until you review them.

Quota: 50 units.

reject_commentsA

Reject comments on your videos, hiding them from viewers. They can still be approved later.

Quota: 50 units.

create_playlistA

Create a playlist on the authorized user's channel.

Left out, the language is copied from your most recent public upload, as video uploads do.

Quota: 57 units.

update_playlistB

Change one of your playlists. Only the fields you pass change.

Quota: 51 units.

delete_playlistA

Permanently delete one of your playlists. The videos in it are not affected.

Without confirm, nothing is deleted and the error describes the playlist.

Quota: 52 units.

add_video_to_playlistA

Add a video to a playlist on the authorized user's channel.

Quota: 50 units.

remove_from_playlistA

Remove a video from one of your playlists, every time it appears. The video itself is not affected.

Quota: 51 units.

move_in_playlistA

Move a video to another position in one of your playlists.

Quota: 51 units.

set_playlist_thumbnailA

Set the custom thumbnail of one of your playlists, replacing any current one.

Quota: 101 units.

subscribeA

Subscribe the authorized user to a channel. Already being subscribed is fine.

Quota: 51 units.

unsubscribeA

Unsubscribe the authorized user from a channel. Not being subscribed is fine.

Quota: 51 units.

rate_videoA

Like or dislike a video as the authorized user, or clear the rating with none.

Quota: 50 units.

upload_videoA

Upload a video file from disk (resumable, reports progress).

Category and languages left out are copied from your most recent public upload (among your last 150), so the video matches the rest of your channel; with none, the category is 22 (People & Blogs). YouTube keeps processing the video after this returns, and its duration and statistics appear only once that ends. Checking whether processing has finished tells you when, or why it failed.

Quota: 1607 units.

update_videoA

Change a video's metadata. Only the fields you pass change; the rest keep their values.

Quota: 51 units.

set_thumbnailA

Set a video's custom thumbnail. The channel must be verified.

Quota: 50 units.

delete_videoA

Permanently delete one of your videos.

Only recent, little-watched videos can be deleted here: by default at most 100 views and, if public, uploaded within the last 7 days (the limits are set in the toolkit's config file). Anything else must be deleted in YouTube Studio. Without confirm, nothing is deleted and the error describes the video.

Quota: 52 units.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 45 tools

Disambiguation4/5

Most tools target distinct resources and actions, but there is overlap between list_playlists and get_playlists, and among approve_comments, hold_comments, and reject_comments. These boundaries are clarified by descriptions, but an agent could still occasionally misselect.

Naming Consistency4/5

Nearly all names use a predictable snake_case verb_noun pattern with consistent prefixes such as get_, list_, update_, delete_, set_, and add_. Minor deviations include setup_guide (not verb_noun) and singular/plural inconsistencies like delete_comment versus approve_comments.

Tool Count2/5

At 45 tools, the server is well above the 25+ threshold for a heavy surface. Although YouTube APIs are broad, many operations could be consolidated or grouped to reduce cognitive load and improve discoverability.

Completeness4/5

Core channel, video, playlist, comment, subscription, and analytics workflows have strong lifecycle coverage. Notable gaps remain for live streaming, captions, and some playlist-item metadata edits, but most common channel-management tasks are covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues