Skip to main content
Glama

Create Auto Article

create_auto_article
Destructive

"Create Auto Article": queue one AI-written article draft about subject (a one-topic order the worker_orders_articles_auto_create worker writes within a few minutes; it stays an unpublished draft). Returns the order id / uuid: poll get_auto_article for its state. Language takes a CONTENT_LANGUAGES value. title: when given it is the article's title and the AI writes none. seliee_website_uuid: the merchant's website the article is written on. publish_datetime: the publish date (YYYY-MM-DD). collections_uuids: optional list of the merchant's collections the article is put in. brief: this article's own writing instructions (at most 4000 characters, {language} is filled in); they replace the account's and the default writer prompt, e.g. "350-500 words, two h2 sections, one paragraph about the city". redirect_url: the article gets a published /r/<random> redirect on its website to this url (needs seliee_website_uuid); redirect_utm is a {utm_source: ..., ...} dict (values may use {language} and {article_slug}); redirect_cta_text: when given, the redirect link is also put into the article as that anchor text; a list gives several anchors and one is picked per article. redirect_cta_position: start (after the first paragraph), middle, end (default) or random. model picks the model that writes the article (model ids of the provider; list_ai_accounts shows the account and its models); left empty it is the account's own model, then the provider's article default. seliee_articles_order_model is the same, kept for callers of create_articles_order.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "subject": "<subject>",
      "seliee_articles_order_language": "<seliee_articles_order_language>"
    },
    "name": "create_auto_article"
  }
}

Input Schema

NameRequiredDescriptionDefault
briefNo
modelNo
titleNo
subjectYes
customer_idNo
redirect_urlNo
redirect_utmNo
ai_account_idNo
customer_uuidNo
ai_account_uuidNo
publish_datetimeNo
collections_uuidsNo
redirect_cta_textNo
seliee_website_uuidNo
redirect_cta_positionNo
seliee_articles_order_modelNo
seliee_articles_order_languageYes
seliee_articles_order_ai_providerNoopenai

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / redirect_cta_position
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Redirect Cta Position"
      +}
    • changedInput schema / properties / redirect_cta_text / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed4 schema fields changed
    • addedInput schema / properties / brief
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Brief"
      +}
    • addedInput schema / properties / redirect_cta_text
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Redirect Cta Text"
      +}
    • addedInput schema / properties / redirect_url
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Redirect Url"
      +}
    • addedInput schema / properties / redirect_utm
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Redirect Utm"
      +}
  3. Changed4 schema fields changed
    • addedInput schema / properties / collections_uuids
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Collections Uuids"
      +}
    • addedInput schema / properties / publish_datetime
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Publish Datetime"
      +}
    • addedInput schema / properties / seliee_website_uuid
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Seliee Website Uuid"
      +}
    • addedInput schema / properties / title
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Title"
      +}
  4. Changed1 schema field changed
    • addedInput schema / properties / ai_account_uuid
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Ai Account Uuid"
      +}
  5. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations declare destructive=false/readOnly=false but say nothing about the asynchronous nature; the description supplies that, plus that the output is a draft that is not published, which materially softens the destructiveHint=true signal. The write instructions override behaviour is also disclosed ('they replace the account's and the default writer prompt'). It does not cover auth/permission requirements or what happens on duplicate submissions beyond the idempotentHint=false annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The action and its async contract are correctly front-loaded before the parameter reference. But the remainder is a dense back-reference-laden paragraph strung together with semicolons, with a line break splitting one sentence, which makes it harder to scan than a clean per-parameter list would be. Most sentences do carry information, yet the structure is suboptimal for an 18-parameter tool.

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 high-complexity, 18-parameter mutation with no output schema, the description is unusually complete: it states the return value, the polling path, and the semantics of most optional parameters including the redirect CTA sub-system. The gaps are the customer/account identity parameters and the ai-provider parameter, which force the caller to infer their purpose from names alone.

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% with 18 parameters, so the description carries the full burden, and it delivers for most of them: `brief` gets a length limit, prompt-override semantics and a worked example; `redirect_cta_position` gets the enumerated values with 'end' as default; `redirect_utm` gets a dict shape and `{language}`/`{article_slug}` placeholders. Four parameters are never explained — `customer_id`, `customer_uuid`, `ai_account_id`/`ai_account_uuid` (the id/uuid pairing convention) and `seliee_articles_order_ai_provider`.

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?

It names a specific verb and resource — 'queue one AI-written article draft about `subject`' — and adds the decisive trait that a background worker writes it and it stays an unpublished draft, which separates it from a synchronous article-creation call. Sibling differentiation is only partial: it references `get_auto_article` and `create_articles_order` but never states when to prefer `create_article` over this one.

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?

It gives real workflow guidance: the call returns an order id/uuid and the caller should poll `get_auto_article` for state, and `list_ai_accounts` is named as the place to discover valid model ids. The `model` fallback chain (account model, then provider article default) is spelled out explicitly. It lacks any when-not-to-use statement or exclusion against the synchronous article tools.

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