Skip to main content
Glama

ad_status

Read-onlyIdempotent

Get the live run status of one ad: readiness, connection, and product counts. Use this to check an ad's run progress and product counts. Ads are product-listing channels (Google Shopping, Meta catalog, Microsoft, price comparison) for the merchant's physical products, not marketplaces: they publish products to the channel and have no order sync. Returns {integrationId, status, ready, lastStep, isReady, isConnected, isOverlimit, productsRefreshing, productsSubmitting, productStats:{listed, processing, errors, inactive, total}}. productStats counts the products in the ad feed. isOverlimit=true means the product count is above what this Koongo account includes; explain that to the user. productsRefreshing=true means an export / feed generation is running (the ad is 'updating'); productsSubmitting=true means items are being pushed to the channel. While EITHER is true the data is still changing — this is the signal to WAIT: after any export (finishing the wizard summary, repair_ad, a step transition that re-exports, or a submit) poll ad_status until BOTH productsRefreshing AND productsSubmitting are false, THEN read the results. The KOONGO DATA CHECK (get_ad_report's dataCheckErrors) and the productStats counts are only current once the refresh has finished — reading mid-refresh gives stale/empty data. ad_id is the id from categoryAttributeWarmup is the OTHER wait: on channels whose attributes depend on the mapped categories, that download runs in the background. While the block is present with pending:true the category-driven attributes are NOT in get_ad_attributes yet — poll ad_status (retryAfterSeconds says how long to wait; state 'rescheduled' means a channel rate limit parked it until nextTryAt) until the block is absent or state is 'ready'. state 'failed' is terminal: call refresh_ad_category_attributes ONCE to start it again, do not poll on. list_ads. project_id is OPTIONAL (inferred for a single-project customer; project_id_required otherwise — then call list_projects). Use ad_status for run progress and get_ad for configuration/mapping. For the detailed error breakdown use get_ad_report.

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

Input Schema

NameRequiredDescriptionDefault
ad_idYes
project_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already establish safe read-only, idempotent, non-destructive behavior, but the description adds critical temporal semantics: productsRefreshing and productsSubmitting must both be false before results are trustworthy, category attribute warmup states include pending/rescheduled/ready/failed, and retryAfterSeconds controls the wait. It also explains isOverlimit and the staleness/empty-data risk of reading mid-refresh.

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 description is front-loaded and most detail is necessary for the polling protocol, but it is very long for two parameters and repeats the run-progress/product-count point. The corrupted sentence around ad_id and categoryAttributeWarmup disrupts structure and forces the reader to infer meaning.

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?

No output schema exists, but the description supplies the return object shape and explains key fields such as productStats, isOverlimit, productsRefreshing, and productsSubmitting. It is nearly complete, with the main gap being the garbled ad_id provenance sentence.

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%, so the description must carry parameter meaning. It explains that project_id is optional and inferred for single-project customers, with project_id_required triggering list_projects, and identifies ad_id as coming from list_ads, though the ad_id sentence is garbled and weakens clarity.

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?

Opens with a specific verb and resource ('Get the live run status of one ad') and enumerates the facets returned: readiness, connection, and product counts. It explicitly distinguishes this tool from get_ad (configuration/mapping) and get_ad_report (detailed error breakdown).

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?

States exactly when to use it: checking run progress, polling during refresh/submission, and polling during category attribute warmup. It names alternatives for configuration and detailed errors, and it explains when to wait versus when a 'failed' state is terminal and should not be polled.

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