Skip to main content
Glama

yt_post_comment

Publish a public top-level comment on a YouTube video or Short under the authenticated channel, returning the new comment ID; fails if comments are disabled or the video is private.

Instructions

Post a public top-level comment thread on a YouTube video or Short via YouTube Data API v3 (commentThreads.insert, costs ~50 daily quota units). Requires OAuth2 with youtube.force-ssl scope. Non-idempotent: each call publishes a new visible comment immediately under the authenticated channel identity and returns {commentId, videoId, text}. Fails if comments are disabled on the target video or the video is private.

Input Schema

NameRequiredDescriptionDefault
textYesPlain-text comment body (1–10,000 characters) to publish publicly on the video.
video_idYes11-character YouTube video ID where the top-level comment will be posted.

Output Schema

NameRequiredDescriptionDefault
textNo
videoIdYes
commentIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.2.0
    • changedInput schema / properties / text / description
      Previous value: -"Comment text to post."New value: +"Plain-text comment body (1–10,000 characters) to publish publicly on the video."
    • addedInput schema / properties / text / maxLength
      Added value: +10000
    • addedInput schema / properties / text / minLength
      Added value: +1
    • changedInput schema / properties / video_id / description
      Previous value: -"11-character YouTube video ID."New value: +"11-character YouTube video ID where the top-level comment will be posted."
    • addedInput schema / properties / video_id / pattern
      Added value: +"^[A-Za-z0-9_-]{11}$"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "commentId": {
      +      "type": "string"
      +    },
      +    "text": {
      +      "type": "string"
      +    },
      +    "videoId": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "commentId",
      +    "videoId"
      +  ],
      +  "type": "object"
      +}
  2. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses quota cost, the required youtube.force-ssl OAuth scope, immediate public visibility under the authenticated channel identity, and concrete failure conditions. Annotations already flag non-idempotence, and the description reinforces it with the consequence (each call publishes a new visible comment).

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?

Four dense sentences, each carrying distinct information (action, cost/auth, side effects, failure modes), with the core action front-loaded and no filler.

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?

Everything needed to invoke correctly is present: auth requirement, cost, side effects, failure conditions, and even the return shape despite an output schema already existing. Nothing material is missing for a two-parameter mutation tool.

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%, so both parameters are already fully documented with length and pattern constraints. The description adds only the notion that the comment is public and top-level, which is useful framing but not new per-parameter meaning, so the baseline of 3 applies.

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?

States a specific verb and resource ("Post a public top-level comment thread on a YouTube video or Short") and pins the exact API method (commentThreads.insert), which cleanly separates it from siblings like yt_upload_draft and yt_update_video.

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?

Gives clear preconditions and failure modes (comments disabled, private video) plus the ~50 unit quota cost, so an agent can judge affordability and applicability. It does not explicitly name an alternative tool or say when not to use it, but the sibling set contains no closer competitor for this action.

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