Skip to main content
Glama
exileum

meta-mcp

threads_publish_text

Publish text-only posts on Threads. Auto-publish uses a single API call for speed and reliability. Supports links, polls, GIFs, topic tags, and long-form text.

Instructions

Publish a text-only post on Threads. By default publishes in a single API call via auto_publish_text=true (faster and avoids the 4279009 'container not propagated' race condition). Supports optional link attachment, poll, GIF, topic tag, quote post, cross-share to Instagram Stories, and text_attachment for long-form content (up to 10,000 chars with optional styling and link). text_attachment cannot be combined with poll_options or link_attachment. Set auto_publish=false to fall back to the legacy two-step create-then-publish flow.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textYesPost text (max 500 chars)
reply_controlNoWho can reply
link_attachmentNoURL to attach as a link preview card (max 5 links per post). Cannot be combined with text_attachment.
topic_tagNoTopic tag for the post (1-50 chars, no periods or ampersands)
quote_post_idNoID of a post to quote
poll_optionsNoPoll options (2-4 choices, each 1-25 chars). Creates a poll attachment.
gif_idNoGIPHY GIF ID
gif_providerNoGIF provider. Only GIPHY is currently supported.
alt_textNoAlt text for accessibility (max 1000 chars)
is_spoilerNoMark content as spoiler
share_to_ig_storyNoCross-share this post to linked Instagram as a Story. 'light' = normal, 'dark' = dark mode. Requires threads_share_to_instagram permission and a linked Instagram account. The Threads post still publishes even if cross-share fails.
text_attachmentNoLong-form text attachment (max 10,000 chars). Renders as expandable 'Read more' block beneath the primary text. Cannot be combined with poll_options or link_attachment.
text_attachment_linkNoURL to include inside the text attachment card. Requires text_attachment.
text_attachment_stylingNoText formatting for the text attachment. Ranges must not overlap.
auto_publishNoWhen true (default), combine container creation and publishing into a single API call via auto_publish_text=true — one HTTP request instead of two, and no risk of the 4279009 'container not propagated yet' race. Set to false to fall back to the legacy two-step flow (POST /threads, then POST /threads_publish).
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses the auto_publish race condition avoidance, character limits, combinations constraints, and cross-share failure handling. This gives the agent a good understanding of tool behavior.

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?

The description is front-loaded with the core purpose and then details options. It is somewhat lengthy but each sentence adds value. Minor redundancy (auto_publish explanation appears twice) but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 15 parameters and no output schema, the description covers dependencies, constraints, and edge cases (e.g., cross-share failure). It explains the two different workflows and their trade-offs, which is comprehensive for the tool's complexity.

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?

All parameters have schema descriptions (100% coverage). The description adds context beyond the schema, such as the auto_publish flag's purpose and the race condition it avoids, and clarifies parameter interactions.

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?

The description clearly states it publishes a text-only post on Threads, distinguishing it from sibling tools like threads_publish_image and threads_publish_video. It specifies the primary action and key behavior (auto_publish versus two-step flow).

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?

Provides guidance on when to use auto_publish=true vs false, and warns about incompatible combinations (text_attachment cannot be used with poll_options or link_attachment). Does not explicitly compare to other publishing tools, but the text-only focus implies usage context.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/exileum/meta-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server