Skip to main content
Glama

Create Tweet

post_tweets

Create a tweet draft. Before calling, fetch get_me + get_brand_voice (+ get_ai_context/get_recent_notes) AND call get_x_accounts for the posting account's max_tweet_length — never assume 280, since Premium/verified accounts go up to 25,000. If max_tweet_length is null the limit is unknown: ask the user rather than defaulting to 280. Site scope is automatic for a single-site account; pass domain or site_id to target one, and an account with several sites is asked to choose rather than guessed at. Requires text or thread. To attach an image, upload with upload_media then call attach_media_to_tweet with the asset_id and this tweet's id. Links to user-owned domains get UTM parameters appended at draft time so the traffic shows up in GA4 instead of as Direct; pass your own if you want explicit campaign slugs. When the tweet distributes a known blog post, pass its post_id (UUID, from get_posts) so the /admin/posts Distribution column links the two automatically — no manual backfill.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "post_tweets"
  }
}

Input Schema

NameRequiredDescriptionDefault
textNo
titleNo
domainNo
threadNo
post_idNo
site_idNo
account_idNo
descriptionNo
account_usernameNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

The only annotation is destructiveHint=false, so the description carries most of the burden and delivers: the output is a draft, the draft-time side effect of appending UTM parameters to user-owned domain links, automatic site scoping for single-site accounts, and the post_id linkage that populates the /admin/posts Distribution column. It also discloses a hard dependency (max_tweet_length up to 25,000) that would cause silent truncation failures if unknown.

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 core action, then prerequisites, then edge cases — a sensible order. The middle section is dense and parenthetical-heavy, and the UTM and post_id sentences could be tightened, but no sentence is filler.

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?

For a nine-parameter creation tool with no output schema and no annotation detail, the description covers the workflow, prerequisite chain, and ambiguity handling well. The remaining gap is that account selection (account_id/account_username) is only implied by 'the posting account' rather than stated, which matters given zero schema documentation.

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 description coverage is 0%, so the description must compensate, and it does for text/thread, domain, site_id, and post_id (UUID source and downstream effect). It says nothing about account_id, account_username, title, or description, leaving four of nine parameters to inference despite a 0% coverage schema.

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 first sentence names a specific verb and resource ('Create a tweet draft') and the word 'draft' distinguishes it from a publish action, which none of the siblings in the list perform. It also implicitly scopes the tool against upload_media/attach_media_to_tweet by explaining those handle attachments instead.

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 prerequisites (get_me, get_brand_voice, get_ai_context/get_recent_notes, get_x_accounts) in call order, and routes to siblings for the image path (upload_media then attach_media_to_tweet). It also gives decision rules for ambiguous cases: never assume 280, ask the user when max_tweet_length is null, and let multi-site accounts be asked rather than guessed.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources