Skip to main content
Glama

Budget pacing

get_budget_pacing
Read-only

Use for SP, SB, or SD budget usage and pacing snapshots: Amazon's near-real-time usage percentage plus derived estimated used and remaining budget by campaign. The omitted ad_product default remains SP. Do not treat estimated used budget as finalized advertising cost; use retained campaign performance for finalized spend.

Input Schema

NameRequiredDescriptionDefault
limitNoMax rows (1-1000, default 20).
offsetNoPagination offset (0-100000, default 0). Use the returned pagination.next_offset to continue.
sort_byNoColumn to sort bybudget_usage_percent
end_dateNoOptional. YYYY-MM-DD. Defaults to today in the connection reporting timezone.
ad_productNoSponsored ad product to return. SP preserves the existing default; ALL includes SP, SB, and SD.SP
profile_idNoFilter by ad account profile ID
sort_orderNoSort orderdesc
start_dateNoOptional. YYYY-MM-DD. Defaults to 7 days ago in the connection reporting timezone.
campaign_idNoFilter by sponsored ads campaign ID
latest_onlyNoWhen true, return the latest retained daily snapshot per ad product and campaign in the selected date range
campaign_nameNoFilter by campaign name (case-insensitive LIKE match, use % for wildcards)
at_risk_percentNoThreshold used to label campaigns as at_risk
include_raw_rowsNoFor tabular results, false returns compact rows capped at MCP_TEXT_ROW_PREVIEW_LIMIT (default 10), regardless of limit. Complete-page and custom non-tabular responses may ignore this option; see tool-specific notes. Default true; large full-row responses are capped separately. Freshness fields require include_diagnostics=true in either row mode, where supported.
min_usage_percentNoOnly return campaigns at or above this budget usage percentage
include_diagnosticsNoTrue enables expanded freshness diagnostics. Where supported, snapshot_capture_at and snapshot_data_through_date are populated only when include_diagnostics=true, in both compact and full-row modes; values may still be null if source data is unavailable. Default false. Basic empty-result data-window diagnostics are included by default when available.

Output Schema

NameRequiredDescriptionDefault
evidenceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed29 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / additionalProperties
      Previous value: -trueNew value: +{}
    • removedOutput schema / properties / evidence / properties / effective_scope / $ref
      Removed value: -"#/properties/evidence/properties/requested_scope"
    • addedOutput schema / properties / evidence / properties / effective_scope / additionalProperties
      Added value: +false
    • addedOutput schema / properties / evidence / properties / effective_scope / properties
      Added value: +{
      +  "end_date": {
      +    "anyOf": [
      +      {
      +        "format": "date",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ]
      +  },
      +  "filters": {
      +    "additionalProperties": {},
      +    "propertyNames": {
      +      "type": "string"
      +    },
      +    "type": "object"
      +  },
      +  "group_by": {
      +    "items": {
      +      "maxLength": 128,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  "marketplace_id": {
      +    "anyOf": [
      +      {
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ]
      +  },
      +  "reporting_time_zone": {
      +    "anyOf": [
      +      {
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ]
      +  },
      +  "sort": {
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "direction": {
      +          "enum": [
      +            "asc",
      +            "desc"
      +          ],
      +          "type": "string"
      +        },
      +        "field": {
      +          "maxLength": 128,
      +          "minLength": 1,
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "field",
      +        "direction"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  "start_date": {
      +    "anyOf": [
      +      {
      +        "format": "date",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ]
      +  }
      +}
    • addedOutput schema / properties / evidence / properties / effective_scope / required
      Added value: +[
      +  "marketplace_id",
      +  "start_date",
      +  "end_date",
      +  "reporting_time_zone",
      +  "group_by",
      +  "sort",
      +  "filters"
      +]
    • addedOutput schema / properties / evidence / properties / effective_scope / type
      Added value: +"object"
    • removedOutput schema / properties / evidence / properties / grain / items / $ref
      Removed value: -"#/properties/evidence/properties/tool"
    • addedOutput schema / properties / evidence / properties / grain / items / maxLength
      Added value: +128
    • addedOutput schema / properties / evidence / properties / grain / items / minLength
      Added value: +1
    • addedOutput schema / properties / evidence / properties / grain / items / type
      Added value: +"string"
    • removedOutput schema / properties / evidence / properties / join_keys / items / properties / field / $ref
      Removed value: -"#/properties/evidence/properties/tool"
    • addedOutput schema / properties / evidence / properties / join_keys / items / properties / field / maxLength
      Added value: +128
    • addedOutput schema / properties / evidence / properties / join_keys / items / properties / field / minLength
      Added value: +1
    • addedOutput schema / properties / evidence / properties / join_keys / items / properties / field / type
      Added value: +"string"
    • changedOutput schema / properties / evidence / properties / observed / properties / data_start / anyOf
      Previous value: -[
      -  {
      -    "format": "date",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "format": "date",
      +    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / evidence / properties / observed / properties / data_through / anyOf
      Previous value: -[
      -  {
      -    "format": "date",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "format": "date",
      +    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / evidence / properties / requested_scope / properties / end_date / anyOf
      Previous value: -[
      -  {
      -    "format": "date",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "format": "date",
      +    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / evidence / properties / requested_scope / properties / filters / propertyNames
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / evidence / properties / requested_scope / properties / group_by / items / $ref
      Removed value: -"#/properties/evidence/properties/tool"
    • addedOutput schema / properties / evidence / properties / requested_scope / properties / group_by / items / maxLength
      Added value: +128
    • addedOutput schema / properties / evidence / properties / requested_scope / properties / group_by / items / minLength
      Added value: +1
    • addedOutput schema / properties / evidence / properties / requested_scope / properties / group_by / items / type
      Added value: +"string"
    • removedOutput schema / properties / evidence / properties / requested_scope / properties / sort / items / properties / field / $ref
      Removed value: -"#/properties/evidence/properties/tool"
    • addedOutput schema / properties / evidence / properties / requested_scope / properties / sort / items / properties / field / maxLength
      Added value: +128
    • addedOutput schema / properties / evidence / properties / requested_scope / properties / sort / items / properties / field / minLength
      Added value: +1
    • addedOutput schema / properties / evidence / properties / requested_scope / properties / sort / items / properties / field / type
      Added value: +"string"
    • changedOutput schema / properties / evidence / properties / requested_scope / properties / start_date / anyOf
      Previous value: -[
      -  {
      -    "format": "date",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "format": "date",
      +    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed2 schema fields changed
    • changedInput schema / properties / include_diagnostics / description
      Previous value: -"True may add expanded freshness diagnostics. Basic empty-result data-window diagnostics are included by default when available."New value: +"True enables expanded freshness diagnostics. Where supported, snapshot_capture_at and snapshot_data_through_date are populated only when include_diagnostics=true, in both compact and full-row modes; values may still be null if source data is unavailable. Default false. Basic empty-result data-window diagnostics are included by default when available."
    • changedInput schema / properties / include_raw_rows / description
      Previous value: -"False returns compact rows. Default true."New value: +"For tabular results, false returns compact rows capped at MCP_TEXT_ROW_PREVIEW_LIMIT (default 10), regardless of limit. Complete-page and custom non-tabular responses may ignore this option; see tool-specific notes. Default true; large full-row responses are capped separately. Freshness fields require include_diagnostics=true in either row mode, where supported."
  3. Changed5 schema fields changed
    • changedOutput schema / properties / evidence / properties / basis / properties / date / items / enum
      Previous value: -[
      -  "order_date",
      -  "reporting_date",
      -  "click_attribution_date",
      -  "posted_date",
      -  "settlement_date",
      -  "snapshot_date",
      -  "live_observation_time",
      -  "event_time",
      -  "effective_date",
      -  "not_applicable",
      -  "not_reported"
      -]New value: +[
      +  "order_date",
      +  "reporting_date",
      +  "click_attribution_date",
      +  "posted_date",
      +  "financial_event_group_start",
      +  "settlement_date",
      +  "snapshot_date",
      +  "live_observation_time",
      +  "event_time",
      +  "effective_date",
      +  "not_applicable",
      +  "not_reported"
      +]
    • changedOutput schema / properties / evidence / properties / entity_types / items / enum
      Previous value: -[
      -  "account",
      -  "marketplace",
      -  "product",
      -  "variation_family",
      -  "listing",
      -  "offer",
      -  "inventory_item",
      -  "fulfillment_center",
      -  "order",
      -  "order_item",
      -  "campaign",
      -  "ad_group",
      -  "ad",
      -  "target",
      -  "keyword",
      -  "search_query",
      -  "portfolio",
      -  "store",
      -  "audience_segment",
      -  "dsp_advertiser",
      -  "shipment",
      -  "inbound_plan",
      -  "fulfillment_operation",
      -  "transaction",
      -  "settlement",
      -  "financial_event",
      -  "return",
      -  "reimbursement",
      -  "promotion",
      -  "review",
      -  "catalog_definition",
      -  "audit_event",
      -  "not_applicable"
      -]New value: +[
      +  "account",
      +  "marketplace",
      +  "product",
      +  "variation_family",
      +  "listing",
      +  "offer",
      +  "inventory_item",
      +  "fulfillment_center",
      +  "order",
      +  "order_item",
      +  "campaign",
      +  "ad_group",
      +  "ad",
      +  "target",
      +  "keyword",
      +  "search_query",
      +  "portfolio",
      +  "store",
      +  "audience_segment",
      +  "dsp_advertiser",
      +  "shipment",
      +  "inbound_plan",
      +  "fulfillment_operation",
      +  "transaction",
      +  "settlement",
      +  "financial_event",
      +  "financial_event_group",
      +  "return",
      +  "reimbursement",
      +  "promotion",
      +  "review",
      +  "catalog_definition",
      +  "audit_event",
      +  "not_applicable"
      +]
    • changedOutput schema / properties / evidence / properties / join_keys / items / properties / entity_type / enum
      Previous value: -[
      -  "account",
      -  "marketplace",
      -  "product",
      -  "variation_family",
      -  "listing",
      -  "offer",
      -  "inventory_item",
      -  "fulfillment_center",
      -  "order",
      -  "order_item",
      -  "campaign",
      -  "ad_group",
      -  "ad",
      -  "target",
      -  "keyword",
      -  "search_query",
      -  "portfolio",
      -  "store",
      -  "audience_segment",
      -  "dsp_advertiser",
      -  "shipment",
      -  "inbound_plan",
      -  "fulfillment_operation",
      -  "transaction",
      -  "settlement",
      -  "financial_event",
      -  "return",
      -  "reimbursement",
      -  "promotion",
      -  "review",
      -  "catalog_definition",
      -  "audit_event",
      -  "not_applicable"
      -]New value: +[
      +  "account",
      +  "marketplace",
      +  "product",
      +  "variation_family",
      +  "listing",
      +  "offer",
      +  "inventory_item",
      +  "fulfillment_center",
      +  "order",
      +  "order_item",
      +  "campaign",
      +  "ad_group",
      +  "ad",
      +  "target",
      +  "keyword",
      +  "search_query",
      +  "portfolio",
      +  "store",
      +  "audience_segment",
      +  "dsp_advertiser",
      +  "shipment",
      +  "inbound_plan",
      +  "fulfillment_operation",
      +  "transaction",
      +  "settlement",
      +  "financial_event",
      +  "financial_event_group",
      +  "return",
      +  "reimbursement",
      +  "promotion",
      +  "review",
      +  "catalog_definition",
      +  "audit_event",
      +  "not_applicable"
      +]
    • changedOutput schema / properties / evidence / properties / join_keys / items / properties / role / enum
      Previous value: -[
      -  "account_id",
      -  "marketplace_id",
      -  "asin",
      -  "advertised_asin",
      -  "purchased_asin",
      -  "child_asin",
      -  "parent_asin",
      -  "seller_sku",
      -  "fnsku",
      -  "order_id",
      -  "order_item_id",
      -  "campaign_id",
      -  "ad_group_id",
      -  "ad_id",
      -  "target_id",
      -  "keyword_id",
      -  "search_query",
      -  "portfolio_id",
      -  "shipment_id",
      -  "inbound_plan_id",
      -  "operation_id",
      -  "transaction_id",
      -  "settlement_id",
      -  "promotion_id",
      -  "not_applicable"
      -]New value: +[
      +  "account_id",
      +  "marketplace_id",
      +  "asin",
      +  "advertised_asin",
      +  "purchased_asin",
      +  "child_asin",
      +  "parent_asin",
      +  "seller_sku",
      +  "fnsku",
      +  "order_id",
      +  "order_item_id",
      +  "campaign_id",
      +  "ad_group_id",
      +  "ad_id",
      +  "target_id",
      +  "keyword_id",
      +  "search_query",
      +  "portfolio_id",
      +  "shipment_id",
      +  "inbound_plan_id",
      +  "operation_id",
      +  "transaction_id",
      +  "financial_event_group_id",
      +  "settlement_id",
      +  "promotion_id",
      +  "not_applicable"
      +]
    • changedOutput schema / properties / evidence / properties / metric_families / items / enum
      Previous value: -[
      -  "sales",
      -  "traffic",
      -  "advertising",
      -  "inventory",
      -  "returns",
      -  "reimbursements",
      -  "fees",
      -  "profitability",
      -  "catalog",
      -  "rank",
      -  "fulfillment",
      -  "pricing",
      -  "promotions",
      -  "reviews",
      -  "audit",
      -  "availability",
      -  "not_applicable"
      -]New value: +[
      +  "sales",
      +  "traffic",
      +  "advertising",
      +  "inventory",
      +  "returns",
      +  "reimbursements",
      +  "payouts",
      +  "fees",
      +  "profitability",
      +  "catalog",
      +  "rank",
      +  "fulfillment",
      +  "pricing",
      +  "promotions",
      +  "reviews",
      +  "audit",
      +  "availability",
      +  "not_applicable"
      +]
  4. Added

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is known. The description adds genuinely useful behavior beyond that: the data is near-real-time, the used/remaining figures are derived estimates rather than billed spend, and the ad_product default silently resolves to SP when omitted. It stops short of describing snapshot freshness or pagination behavior, which the schema handles.

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 sentences, front-loaded with what the tool returns before the caveat and the default. The middle sentence about the ad_product default is mildly redundant with the schema's declared default of SP, but the framing as 'remains SP' signals backward-compatibility intent rather than pure repetition.

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?

With an output schema present, the description needn't explain return shapes, and it correctly focuses on scope, the estimate caveat, and the default product. For a 15-parameter tool it does not cover pagination, latest_only behavior, or the at_risk threshold, but those are fully documented in the schema, leaving no meaningful gap for correct invocation.

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 coverage is 100% across 15 parameters, so the schema already documents defaults, ranges, enums and the LIKE-match semantics for campaign_name. The description's only added parameter meaning is the emphasis that an omitted ad_product defaults to SP and that used/remaining amounts are derived — worth noting, but mostly restating the schema default. Baseline 3 is appropriate when the schema carries this much weight.

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 description states a specific verb and resource: budget usage and pacing snapshots for SP/SB/SD campaigns, with the concrete outputs (Amazon's near-real-time usage percentage plus derived estimated used and remaining budget). It also distinguishes itself from performance/spend tools by warning that these estimates are not finalized cost, so an agent can tell it apart from get_campaign_performance and get_budget_recommendations without opening a schema.

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 a clear when-to-use (budget usage and pacing snapshots) and an explicit when-not ('Do not treat estimated used budget as finalized advertising cost'), redirecting to retained campaign performance for finalized spend. The redirect names a data source rather than the exact sibling tool, so the routing is slightly less crisp than an explicit tool-name pointer.

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.