Skip to main content
Glama

Write caption

write_caption
Read-onlyIdempotent

Write social captions in the brand's voice, ready to post: hook, body and hashtags, shaped for the platform. Pass a creativeId to caption a specific image or video (its products and look are read), a brief to say what the post is about, or both. Defaults to one Instagram feed caption. Free, and nothing is saved: the captions come back as text. Needs an admin who has allowed generation over MCP, and may be limited to admins.

Input Schema

NameRequiredDescriptionDefault
toneNoA tone hint, e.g. playful, premium, urgent.
briefNoWhat the post is about, in a sentence or two.
countNoHow many alternative captions to write. Defaults to 1.
marketNoThe market the post runs in, e.g. Saudi Arabia.
brandIdNoA brand id from get_workspace or list_brands, or the brand's name. Omit it when the organization has a single brand.
languageNoThe language to write in. Defaults to the brand's own.
platformNoDefaults to instagram.
postTypeNoDefaults to post.
creativeIdNoThe image or video the caption is for.

Output Schema

NameRequiredDescriptionDefault
captionsYes
platformYes
postTypeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / brandId / description
      Previous value: -"A brand id from get_workspace or list_brands. Omit it when the organization has a single brand."New value: +"A brand id from get_workspace or list_brands, or the brand's name. Omit it when the organization has a single brand."
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond the annotations: 'Free, and nothing is saved: the captions come back as text' confirms the read-only, non-persistent behavior implied by readOnlyHint/destructiveHint=false and tells the agent what the response is. It also discloses the auth prerequisite ('Needs an admin who has allowed generation over MCP') and the possibility of admin-only limiting, which is exactly the extra context annotations cannot express.

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?

Front-loads the core purpose, then adds input modes, defaults, behavior, and permissions in a tight sequence with no filler. Every sentence, including the final auth note, carries operational information.

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 9-parameter generation tool with a 100%-covered schema, an output schema, and rich annotations, the description covers the non-obvious essentials: what gets read from a creative, defaults, non-persistence, and admin gating. Nothing material an agent needs to call it correctly 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 already 100%, so the schema carries most parameter meaning; the description adds value by explaining that creativeId causes the image/video's products and look to be read, and by summarizing defaults for language, platform, postType, and count. It does not add much for tone, market, or brandId beyond what the schema already says, so it is an enhancement rather than a full restatement.

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 ('Write social captions in the brand's voice') and describes the shape of the output (hook, body, hashtags) and platform tailoring. It also explains the two input modes (creativeId, brief, or both), which cleanly separates it from image-generation siblings like generate_design or generate_image.

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 context for invoking it: pass a creativeId to caption a specific asset, a brief to state the topic, or both, and notes the default is one Instagram feed caption. It does not explicitly name a sibling tool as the alternative for any scenario, which keeps it out of 5 territory.

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