YouTube Runtime Skill

SkillSearch

Operate a connected YouTube account through the YouTube MCP. Use for video or channel search, video details, comments, caption-track metadata, resumable video uploads from public HTTPS URLs, owned-video metadata updates, ratings, and playlists. Use a verified Chrome route for Studio-only controls.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the YouTube Runtime Skill skill

What this skill tells your AI

The instructions your AI receives, as published by manor-os/manor-ai in packages/core/ai/skills/mcp_youtube/SKILL.md and read by ahel’s review.

Use this skill to operate YouTube through the YouTube MCP (mcp__youtube__*) — public search/read plus authenticated actions on the user's own channel.

Connection

Authenticate through Google OAuth with the YouTube scopes supplied by the Integration. On an auth or scope error, stop and ask the user to reconnect. Call get_channel(mine=true) for the authenticated user's channel; never imply that an empty get_channel() call selects it.

Parallel Route Boundary

  • This built-in Skill is the default guidance for the YouTube MCP. It is not a Marketplace install and appears only when the YouTube MCP surface is connectable.
  • The YouTube MCP and Manor local Chrome are parallel capability routes. Use this MCP only when its current tools support the requested operation; otherwise hand control back to the parent workflow before any side effect so it can try the Chrome route.
  • The optional youtube-studio-publisher Marketplace Skill adds a professional Chrome/Studio workflow. If it is unavailable, recommend installation without blocking: direct chrome Skill operation or a capable YouTube MCP route may still proceed.
  • This MCP includes a real resumable upload_video tool for video files reachable at a public standard-port HTTPS URL. Local-only file selection, thumbnails, caption-file upload, Checks, Premiere, and other Studio-only controls still need a verified Chrome/Studio route.
  • Execute one write on one route. Before a side effect, the parent may choose another verified route. After a write starts or its result is uncertain, do not retry it through Chrome until the original MCP outcome is verified not to have occurred.

Core Tools

Read / search:

  • search (req query), get_video (req video_id), get_channel (one of mine=true, channel_id, or handle), list_comments (req video_id), list_captions (req video_id), list_my_videos.

Write (high-impact — see Guardrails):

  • upload_video (req video_url,title; private by default; optional description/tags/category/privacy/Made for Kids/schedule/subscriber notification).
  • post_comment (req video_id,text), reply_comment (req parent_id,text), delete_comment (req comment_id).
  • rate_video (req video_id; like/dislike/clear).
  • update_video (req video_id; title/description/tags — your own videos).
  • create_playlist (req title), add_to_playlist (req playlist_id,video_id).

Common Recipes

Research a topic / video

  1. search with a query. 2. get_video for stats; list_comments for audience sentiment.

Update your video's metadata

  1. list_my_videos → the video_id. 2. get_video to read current title/description. 3. Confirm the new metadata with the user. 4. update_video.

Upload a video

  1. Verify that video_url is the exact approved public HTTPS asset. 2. Confirm title, description, tags, category, Made for Kids answer, visibility, schedule, and subscriber notification. 3. Default to privacy=private and notify_subscribers=false when the user has not explicitly approved broader release. 4. Call upload_video once and retain the returned video ID.

Comment on a video

  1. Draft the text. 2. Confirm (public action). 3. post_comment or reply_comment.

Guardrails

  • Reads do not authorize writes. Before each write, show the exact target and payload and obtain the required user/runtime approval.
  • upload_video transfers a full media file and creates a channel video: confirm the exact source URL and upload payload immediately before the call. Never infer the Made for Kids answer. Private upload approval does not authorize Unlisted/Public visibility or subscriber notification.
  • post_comment / reply_comment are public: confirm the exact text and video or parent comment before posting; never repeat a failed-looking call without verifying whether it succeeded.
  • update_video changes live public metadata: read the current video first, confirm only the exact fields changing, and do not replace a full description unless requested.
  • delete_comment is permanent: confirm the exact comment ID and ownership context immediately before deletion.
  • rate_video changes the account's public rating: use only when the user explicitly asks for the exact video and rating.
  • Playlist writes affect the user's channel: confirm title, privacy, playlist ID, and video ID as applicable. Creating a private playlist does not authorize making it public later.
  • Execute one write through one route. If a write result is uncertain, verify the original MCP state before retrying through MCP or Chrome.

Edge Cases & Errors

  • Quota: the YouTube API is quota-limited; batch reads and avoid redundant search calls.
  • update_video / delete_comment only work on content you own — a permission error there is expected for others' content.
  • get_channel resolves by channel_id, handle, or mine=true; if none is supplied, correct the call instead of claiming a channel result.
  • Auth/scope errors → stop and ask the user to reconnect.

Signals

GitHub stars
171
Forks
52
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
mcp-youtube
Source
github.com/manor-os/manor-ai