Skip to main content
Glama

Write a caption in the brand voice

write_caption

Write a post caption from an idea, using this organization's brand voice (business description, tone and knowledge base). Prefer it over writing the copy yourself: it knows the brand, you do not. Costs 2 AI credits per call (from the monthly pool; nothing with the organization's own AI key). SPENDS AI CREDITS ONLY WITH confirm: true. Call it first without confirm: nothing runs and nothing is charged, you get the quote (what it will do and the credits). Tell the user, in your own words, exactly that — including the options you chose, so they can change them — and wait for a clear yes before calling again with the same arguments and confirm: true. One yes covers the plan they approved (e.g. every line of an approved voice-over with the chosen voice); anything new or different needs a new yes.

Input Schema

NameRequiredDescriptionDefault
ideaYesWhat the post is about.
confirmNotrue ONLY after the user said yes to the quote (what it does and the credits). Without it nothing runs and nothing is charged.
languageNoOutput language (e.g. "es", "en"). By default it follows the language of the idea.
workspaceIdNoWorkspace to work on (an id from list_workspaces). Not needed when this connection is tied to one workspace, or when you pass an account: the account's workspace is used.
idempotencyKeyNoOptional. A unique id for this action (16-128 chars: letters, digits, _ : . -). If you are unsure whether a call went through (timeout, network error), repeat it with the SAME idempotencyKey and the same arguments: you get the original result and nothing is done twice.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=true). It discloses cost (2 AI credits per call, billed to the monthly pool, not the organization's own AI key), that charges occur only with confirm: true, that the first call is a free quote returning what it will do plus credits, and that one approval covers only the approved plan. This is exactly the behavioral context the annotations cannot carry.

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?

Purpose and the credit/confirm constraint are front-loaded, and every sentence carries operative instruction. It is a dense single block with mild repetition ('nothing runs and nothing is charged' restated, and the cost rule split across two sentences), which keeps it from a 5.

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 5-parameter generation tool with no output schema, it covers the costly/irreversible aspects well: cost, dry-run behavior, approval protocol, idempotency. It doesn't describe what the successful (confirmed) call returns or how long the caption takes, which is a minor residual gap.

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 100%, so the baseline is 3, and the description adds real meaning on top: it explains the two-phase confirm semantics (dry-run quote vs. charged execution) and that a re-call must use the same arguments. Credit cost per call further contextualizes the parameters, though idea/language/workspaceId get no extra detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource with scope: 'Write a post caption from an idea, using this organization's brand voice (business description, tone and knowledge base).' It distinguishes itself from the agent writing copy itself, though it never names the closest siblings (adapt_caption, translate_caption), so an agent still has to infer which caption tool applies.

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 explicit operating context: prefer it over writing copy yourself, and a detailed confirm workflow (call first for a quote, relay it to the user, wait for a clear yes, then repeat with confirm: true). The only gap is that it doesn't say when to choose it over adapt_caption or translate_caption.

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