Skip to main content
Glama
Social MCP

Social MCP

by ituzov

threads_publish_text

Publish a text-only Threads post to a selected connected account after explicit approval, confirming the exact text and account before sending. Returns the post ID only after publication is confirmed.

Instructions

Publish a text-only Threads post for the selected connected account.

Use only when the user explicitly requested publication on Threads and approved the exact text and account. Never publish to test permissions. Get account_id from threads_list_accounts. Requires threads_content_publish. Text must be non-blank and at most 500 characters; Meta may apply additional emoji and link limits. Text is sent unchanged. Container processing takes about 30 seconds. Returns post_id only after confirmed publication. Set reply_control or enable_reply_approvals only if the user requests those settings. This action is not idempotent. After a timeout, cancellation, or an unknown publication outcome, check threads_list_posts before any repeat attempt.

Input Schema

NameRequiredDescriptionDefault
textYes
account_idYes
reply_controlNo
enable_reply_approvalsNo

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?

Goes well beyond the annotations: discloses the required permission (threads_content_publish), the ~30 second container processing latency, that text is transmitted unchanged with possible Meta emoji/link limits, and that post_id is returned only after confirmed publication. It also reinforces non-idempotency declared in annotations with concrete failure handling for timeout/cancellation/unknown outcomes.

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 purpose, then ordered into permission, constraints, timing, return, and recovery guidance — an agent can scan it quickly. A few lines restate schema facts (non-blank, 500 characters) and the emoji/link caveat could be folded into the length sentence, so it is slightly longer than strictly necessary.

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 non-idempotent mutation with an output schema, the definition covers permissions, latency, cost of duplicates, retry protocol, and prerequisite tooling. Nothing an agent needs to call it safely is missing, and return values are appropriately left to the output schema.

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 description coverage is 0%, so the description must carry parameter meaning and it largely does: account_id's source, text's non-blank/500-char limits and unchanged transmission, and a conditional-use rule for reply_control and enable_reply_approvals. It stops short of explaining what each reply_control value means or how reply approvals interact with reply_control, leaving the enum semantics to the schema alone.

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 ('Publish a text-only Threads post') plus the scope qualifier 'for the selected connected account'. The 'text-only' qualifier cleanly separates it from siblings like threads_publish_long_text, threads_publish_image, and threads_publish_carousel.

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?

Explicitly states when to use it ('only when the user explicitly requested publication on Threads and approved the exact text and account') and when not to ('Never publish to test permissions'). It also names the prerequisite tool for account_id (threads_list_accounts) and the recovery path after an ambiguous outcome (threads_list_posts).

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