Ducto

YouTube

Channel and video analytics, read-only by design

Channels, videos, and Analytics API reports — five tools, zero writes. Your agent answers performance questions with real data and cannot touch the channel.

9 tools5 read4 writemcp.getducto.com/youtube
connect the youtube mount

$ claude mcp add --transport http youtube \

https://mcp.getducto.com/youtube

✓ connected — 9 tools

read-only until you set a policy

What your agent does here

Real YouTube work, in conversation

Inventory channels and videos

List channels and videos with stats, straight from the Data API.

yt_list_channelsyt_list_videosyt_video_stats

Run real analytics reports

Views, watch time, and audience metrics over any date range via the Analytics API.

yt_analytics_reportyt_status

Governed writes

How writes are enforced

This mount ships no write tools at all — read-only isn't a policy setting here, it's the entire tool surface. Connect it to any agent without a second thought.

read-only defaultcaps ← policy rowpreview before applyapproval on flagged classeshash-chained audit

The full request path is on the security architecture page.

Tool reference

Every tool in the youtube mount

Generated from the running gateway's tool registry — this is the complete list, not a highlight reel.

yt_add_playlist_itemwriteAdd a video to a playlist.
yt_analytics_reportreadRun a YouTube Analytics query for the authorized channel. ``metrics``/``dimensions``/``sort`` are comma-separated Analytics API names (e.g. metrics ``views,estimatedMinutesWatched,subscribersGained``; dimensions ``day``, ``video``, ``trafficSourceType``, ``country``). ``filters`` is the raw filter expression (e.g. ``video==VIDEO_ID``). Dates are ``YYYY-MM-DD``.
yt_create_playlistwriteCreate a playlist (private by default; publishing it is its own change).
yt_list_channelsreadList the channels this connection owns, with subscriber/view/video counts and each channel's uploads playlist id (feed it to ``yt_list_videos``).
yt_list_videosreadList a channel's uploads, newest first. Defaults to the authorized channel; pass ``playlist_id`` (from ``yt_list_channels``) to skip a lookup.
yt_remove_playlist_itemwriteRemove one entry from a playlist (the video itself is untouched).
yt_statusreadReport this token's YouTube connector policy and connection health.
yt_update_videowriteChange a video's metadata and/or visibility. Read-modify-write: fields not given keep their current values, so changing a title cannot blank the description. Needs the `youtube.force-ssl` scope — a 403 means the connection predates it.
yt_video_statsreadPer-video statistics (views/likes/comments, duration) for up to 50 ids.