Skip to main content
Glama

configure_ad_step

Destructive

Configure ONE step of an ad's setup wizard and save it. Saving a step never activates or publishes: the summary step is refused here — finish setup with activate_ad. Use this to set up an ad step by step IN ORDER, repeatedly targeting each step the previous result reported as nextStepType, until nextStepType is 'summary' (then call activate_ad). Identify the step by step_index (from get_ad steps[].index) — step_type alone targets the FIRST step of that type. Out-of-order calls return 'prerequisite_not_met' / 'step_not_available'. CONNECTION IS NOT CONFIGURABLE HERE: the connection/auth step (credentials, API keys, OAuth) can never be set through MCP. 'oauth_required' / 'credentials_in_ui' is TERMINAL — hand the returned oauthUrl or editUrl to the USER, then STOP and wait; do NOT resend the step, guess field codes or retry. Returns {integrationId, stepType, status, ready, lastStep, nextStepType, oauthUrl, transitions[], message}; status is 'saved', 'oauth_required', 'credentials_in_ui', 'prerequisite_not_met', 'step_not_available' or 'validation_failed'. A product export/generation and a deferred category-attribute download run ASYNC — poll ad_status (productsRefreshing, productsSubmitting, categoryAttributeWarmup) before trusting counts or reading the attribute list. A dropdown field takes options[].value, never its position in the list. Full walkthrough (every step type's payload, the product-filter flags, optionsPending, the deferred-attribute branch): call get_koongo_help with slug 'ad-wizard-steps'. ad_id is from list_ads / create_ad. project_id is OPTIONAL (inferred for a single-project customer; project_id_required otherwise — then call list_projects).

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": {
      "ad_id": "<ad_id>"
    },
    "name": "configure_ad_step"
  }
}

Input Schema

NameRequiredDescriptionDefault
ad_idYes
payloadNoSettings for this step. Form / order-settings: {items: {fieldCode: value}} from get_ad steps[].fields. A connection/auth step takes NO payload and cannot be configured here — omit it (also for advance-only steps).
step_typeNoTarget the step by type (the nextStepType from the previous step). Ambiguous when two steps share a type — then pass step_index.
project_idNo
step_indexNoTarget the step by its index (get_ad steps[].index) — use this to disambiguate steps that share a step_type.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / step_type / description
      Previous value: -"Target the step by type (the nextStepType from the previous step). Ambiguous when two steps share a type — prefer step_index."New value: +"Target the step by type (the nextStepType from the previous step). Ambiguous when two steps share a type — then pass step_index."
  2. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the mutation-related annotations, it discloses that saving never activates or publishes, out-of-order calls fail with named statuses, and OAuth or UI-credential states are terminal and must not be retried. It also explains asynchronous product and category-attribute work, the returned status model, and the need to poll before trusting counts or attributes.

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?

The most important facts—single-step scope, non-publication, activation routing, and ordered usage—are front-loaded, and nearly every sentence addresses a real invocation risk. However, the definition is a long, dense single paragraph; separating workflow, errors, asynchronous behavior, and parameter guidance would improve scannability.

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 complex stateful wizard with a nested payload and no output schema, the description supplies the return fields, status vocabulary, targeting rules, failure handling, activation boundary, and asynchronous follow-up requirements. It also routes agents to get_ad, list_ads, create_ad, list_projects, ad_status, activate_ad, and the detailed help document at the appropriate points.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds substantial operational meaning beyond the 60% schema coverage: ad_id comes from list_ads or create_ad, step_index comes from get_ad, and step_type alone selects the first matching step. It further explains project_id inference and failure behavior, dropdown option values, and points to detailed payload documentation for individual step types.

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?

The opening sentence precisely identifies the operation and scope: configure and save one step of an ad's setup wizard. It clearly distinguishes this tool from activate_ad and excludes connection/auth configuration, so its role among the sibling tools is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides an explicit workflow: configure steps in order using the previous result's nextStepType, stop at summary, and call activate_ad. It also gives precise guidance for OAuth and UI-credential terminal states, asynchronous polling through ad_status, and where to obtain the full walkthrough.

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