Skip to main content
Glama

Send the article for an Agentry order (AdCP)

sync_creatives
Idempotent

AdCP sync_creatives: deliver the sponsored article for a media buy. Each creative needs assets.title, assets.body_text (markdown, 400 to 1,200 words, sources on every claim), assets.advertiser_name and assets.landing_page_url. Assign it with assignments[].package_id from buy_products (pkg_<media_buy_id>); without assignments it is attached to your open orders.

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": {
      "idempotency_key": "<idempotency_key>",
      "account": "<account>",
      "creatives": "<creatives>"
    },
    "name": "sync_creatives"
  }
}

Input Schema

NameRequiredDescriptionDefault
accountYes
creativesYes
assignmentsNo
idempotency_keyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the mutation/idempotency profile is covered. The description usefully states content constraints (markdown, 400–1,200 words, sources on every claim) that the free-form assets schema cannot express, but it never says what happens to previously synced creatives on a repeat call or how partial failures are handled — the key behavioral question for a 'sync' tool.

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?

Three dense sentences, front-loaded with the verb and resource, then requirements, then assignment behavior. The 'AdCP sync_creatives:' prefix repeats the tool name and could be dropped, but there is no filler beyond that.

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 nested, 4-parameter mutation with a free-form assets object and no output schema, the description supplies the essential asset contract and the assignment semantics an agent needs to call it correctly. Gaps remain on account/operator scoping and on the response shape, since nothing else in the structured data covers those.

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?

With 0% schema description coverage and assets typed as additionalProperties:{}, the description is doing real work by naming assets.title, assets.body_text, assets.advertiser_name and assets.landing_page_url plus the pkg_<media_buy_id> format for package_id. It leaves account (brand/operator/sandbox) and idempotency_key entirely unexplained, which is why it falls short of a 5.

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?

Uses a specific verb-plus-resource framing — 'deliver the sponsored article for a media buy' — that resolves the ambiguity in the name 'sync_creatives' and ties it to the AdCP creative workflow. It also distinguishes the call from buy_products by pointing there as the source of package_id values.

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?

Explains the routing decision: assign with assignments[].package_id from buy_products, otherwise it attaches to the caller's open orders. That is concrete context plus a stated fallback, though there is no explicit when-not-to-use or prerequisite (e.g., account/operator scoping) guidance.

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