Skip to main content
Glama
Social MCP

Social MCP

by ituzov

threads_publish_carousel

Publishes 2–20 approved images in order as one Threads carousel with an optional caption and per-image alt text, returning the post ID after confirmed publication.

Instructions

Publish 2 to 20 images in the user-approved order with one optional caption.

Use only after explicit approval of the account, images, order and caption. Requires threads_content_publish. Each image needs a publicly accessible HTTP(S) image_url and may have alt_text of at most 1000 characters. URLs and caption are sent unchanged. Videos and local files are not supported. Children are prepared first; only the parent is published, once. Processing takes at least about 60 seconds, plus API request time. Returns post_id after confirmed publication. This action is not idempotent. After a timeout, cancellation or unknown outcome, check threads_list_posts before attempting another publication to avoid duplicates.

Input Schema

NameRequiredDescriptionDefault
textNo
imagesYes
account_idYes

Output Schema

NameRequiredDescriptionDefault
post_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations it discloses the required scope (threads_content_publish), the two-phase child/parent upload model, minimum ~60s processing time, that URLs and caption are transmitted unchanged, and that the result is non-idempotent with explicit duplicate-avoidance guidance after ambiguous failures. This is materially more than readOnlyHint/idempotentHint provide.

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?

Front-loaded with the action and constraints, then prerequisites, then failure recovery. Every sentence carries operational weight, though 'This action is not idempotent' restates idempotentHint=false and the timeout sentence partially overlaps it.

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 mutating, non-idempotent publish tool with 3 parameters, the definition covers authorization scope, input validation, latency, return value, and failure recovery. The output schema handles the return shape, so nothing an agent needs before calling is missing.

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?

Schema coverage is 0%, so the description must compensate and largely does: it explains image_url must be publicly reachable HTTP(S), alt_text caps at 1000 characters, and text is a single optional caption passed through verbatim. Only account_id is left unexplained, and the image ordering semantics (user-approved order maps to array order) are implied rather than stated.

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 with hard constraints: 'Publish 2 to 20 images ... with one optional caption.' The 2-20 range implicitly distinguishes it from threads_publish_image (single image) and the carousel children/parent mechanics make the multi-image scope unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit precondition ('Use only after explicit approval of the account, images, order and caption'), names an exclusion set (videos, local files), and routes the agent to threads_list_posts after a timeout or unknown outcome. That is when-to-use, when-not-to-use, and an alternative, all present.

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