Skip to main content
Glama

Draft an article

draft_article

Write a DRAFT article answering one buyer question, with the same quality pipeline as the app (brand context, the client's writing rules, sources AI cites, GEO checks). Never publishes. Give question (e.g. a prompt from get_prompt_gaps), or article_id of a planned topic of the content plan (get_content_plan next_to_write) to write that slot instead of creating a duplicate. Uses the plan's article allowance. Preview first; confirm: true writes it (up to about a minute).

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": "draft_article"
  }
}

Input Schema

NameRequiredDescriptionDefault
brandNoBrand id, name or domain (from list_brands). Optional when the account has a single brand.
confirmNoLeave out (or false) to get a preview: nothing changes. Set true ONLY after the user approved that exact preview.
languageNoOnly when the article must be written in another language than the brand's, e.g. "English (en)" for the action english:fanout. Omit otherwise.
questionNoThe buyer question the article must answer, e.g. a prompt from get_prompt_gaps.
article_idNoOr the id of a PLANNED article of the content plan (get_content_plan): writes that topic in place.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / language
      Added value: +{
      +  "description": "Only when the article must be written in another language than the brand's, e.g. \"English (en)\" for the action english:fanout. Omit otherwise.",
      +  "maxLength": 40,
      +  "type": "string"
      +}
  2. Changed2 schema fields changed
    • addedInput schema / properties / article_id
      Added value: +{
      +  "description": "Or the id of a PLANNED article of the content plan (get_content_plan): writes that topic in place.",
      +  "maxLength": 64,
      +  "type": "string"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "question"
      -]
  3. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the annotations: guarantees 'Never publishes' (consistent with destructiveHint=false but adds the publishing distinction), discloses that it consumes 'the plan's article allowance', and warns that the write takes 'up to about a minute'. The preview/confirm contract is spelled out so the agent knows nothing mutates without confirmation.

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-loads the core action and the non-publishing constraint, then the input alternatives, then the preview/confirm mechanics in the order an agent needs them. Dense but tight; the parenthetical tool references are useful rather than 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?

Covers quota consumption, timing, preview semantics and the no-publish guarantee for a mutation tool with no output schema. The one gap is that it never says what the preview actually returns, which matters since no output schema exists to describe it.

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 100%, so the schema already documents every parameter, including the preview semantics of 'confirm' and the language override. The description adds little beyond reaffirming the question-vs-article_id either/or choice and citing example sources, so the baseline of 3 applies.

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 a DRAFT article answering one buyer question') plus the scope of the quality pipeline it applies. The 'DRAFT'/'Never publishes' framing cleanly separates it from publish_article, refresh_article and delete_article among siblings.

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?

Explicitly describes the two input routes: pass 'question' (e.g. from get_prompt_gaps) or 'article_id' from get_content_plan next_to_write to fill a planned slot rather than duplicating it. It also instructs the preview-then-confirm flow. It lacks an explicit 'when not to use this' (e.g. use refresh_article to update an existing published piece), so it falls short of a 5.

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.