Skip to main content
Glama

validate_bid_response

Read-onlyIdempotent

Validate an OpenRTB 2.x bid response JSON payload against a tracked spec version. Optionally cross-validate it against the originating bid request (impid, mtype, adm markup, dealid, seat, and currency coherence). Returns structured issues with rule ids, severities, and JSON paths.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dialectNoJSON dialect the payload is written in. spec-json (default) types flag fields such as imp.secure, regs.coppa and pmp.private_auction as integers, the way the OpenRTB specification does. proto-json follows the IAB OpenRTB protobuf schema, which declares 28 of those fields bool, so true/false is correct there and an integer is the error. Use proto-json for anything that came off a gRPC bidstream integration.
payloadYesThe OpenRTB bid response as a raw JSON string.
profileNoPublished vendor constraints on top of the selected spec. Choose the matching traffic direction. spec is the default. xandr targets Microsoft Monetize bidder traffic; magnite targets DV+ xAPI. Buyer, supplier and SDK profiles have distinct contracts. Optional extension fields remain optional unless the source explicitly requires them. A direction without a verified contract applies canonical checks and returns a scope warning.
versionNoOpenRTB version id to validate against (default 2.6-202606). One of: 2.0, 2.1, 2.2, 2.3, 2.3.1, 2.4, 2.5, 2.6-202204, 2.6-202210, 2.6-202211, 2.6-202303, 2.6-202309, 2.6-202402, 2.6-202409, 2.6-202501, 2.6-202505, 2.6-202606, 3.0
bid_requestNoOptional: the originating OpenRTB bid request as a raw JSON string. When supplied, every bid is also cross-checked against the Imp it references.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
validYesTrue when the payload has zero spec errors.
issuesYes
dialectNo
profileNo
versionYes
payload_typeYes
cross_validatedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / profile / description
      Previous value: -"Exchange profile applied on top of the spec. spec (default) is the specification only. google-ab is Google Authorized Buyers OpenRTB: at=3 (FIXED_PRICE) is a valid auction type, and each Imp must carry ext.billing_id. prebid-server is Prebid Server /openrtb2/auction: each Imp must name a bidder or stored request, and wseat/bseat are refused. xandr is Microsoft Monetize outgoing requests: ext.appnexus.seller_member_id and video.ext.appnexus.context. magnite is Magnite xAPI identity fields: imp.ext.rp.zone_id, site/app ext.rp.site_id, publisher.ext.rp.account_id."New value: +"Published vendor constraints on top of the selected spec. Choose the matching traffic direction. spec is the default. xandr targets Microsoft Monetize bidder traffic; magnite targets DV+ xAPI. Buyer, supplier and SDK profiles have distinct contracts. Optional extension fields remain optional unless the source explicitly requires them. A direction without a verified contract applies canonical checks and returns a scope warning."
    • changedInput schema / properties / profile / enum
      Previous value: -[
      -  "spec",
      -  "google-ab",
      -  "prebid-server",
      -  "xandr",
      -  "magnite"
      -]New value: +[
      +  "spec",
      +  "google-ab",
      +  "prebid-server",
      +  "xandr",
      +  "magnite",
      +  "dv360",
      +  "index-exchange",
      +  "index-exchange-seller",
      +  "unity",
      +  "vungle",
      +  "bidswitch",
      +  "bidswitch-supplier",
      +  "inmobi",
      +  "inmobi-supplier",
      +  "mobilefuse",
      +  "mobilefuse-sdk",
      +  "applovin-alx",
      +  "commerce-grid",
      +  "digital-turbine",
      +  "sovrn",
      +  "equativ",
      +  "equativ-supplier",
      +  "triplelift-supplier",
      +  "adform-handler",
      +  "yandex-sdk-bidding",
      +  "pubmatic-openwrap",
      +  "pubmatic-openwrap-ctv"
      +]
    • changedOutput schema / properties / profile / enum
      Previous value: -[
      -  "spec",
      -  "google-ab",
      -  "prebid-server",
      -  "xandr",
      -  "magnite"
      -]New value: +[
      +  "spec",
      +  "google-ab",
      +  "prebid-server",
      +  "xandr",
      +  "magnite",
      +  "dv360",
      +  "index-exchange",
      +  "index-exchange-seller",
      +  "unity",
      +  "vungle",
      +  "bidswitch",
      +  "bidswitch-supplier",
      +  "inmobi",
      +  "inmobi-supplier",
      +  "mobilefuse",
      +  "mobilefuse-sdk",
      +  "applovin-alx",
      +  "commerce-grid",
      +  "digital-turbine",
      +  "sovrn",
      +  "equativ",
      +  "equativ-supplier",
      +  "triplelift-supplier",
      +  "adform-handler",
      +  "yandex-sdk-bidding",
      +  "pubmatic-openwrap",
      +  "pubmatic-openwrap-ctv"
      +]
  2. Changed3 schema fields changed
    • changedInput schema / properties / profile / description
      Previous value: -"Exchange profile applied on top of the spec. spec (default) is the specification only. google-ab is Google Authorized Buyers OpenRTB: at=3 (FIXED_PRICE) is a valid auction type, and each Imp must carry ext.billing_id. prebid-server is Prebid Server /openrtb2/auction: each Imp must name a bidder or stored request, and wseat/bseat are refused."New value: +"Exchange profile applied on top of the spec. spec (default) is the specification only. google-ab is Google Authorized Buyers OpenRTB: at=3 (FIXED_PRICE) is a valid auction type, and each Imp must carry ext.billing_id. prebid-server is Prebid Server /openrtb2/auction: each Imp must name a bidder or stored request, and wseat/bseat are refused. xandr is Microsoft Monetize outgoing requests: ext.appnexus.seller_member_id and video.ext.appnexus.context. magnite is Magnite xAPI identity fields: imp.ext.rp.zone_id, site/app ext.rp.site_id, publisher.ext.rp.account_id."
    • changedInput schema / properties / profile / enum
      Previous value: -[
      -  "spec",
      -  "google-ab",
      -  "prebid-server"
      -]New value: +[
      +  "spec",
      +  "google-ab",
      +  "prebid-server",
      +  "xandr",
      +  "magnite"
      +]
    • changedOutput schema / properties / profile / enum
      Previous value: -[
      -  "spec",
      -  "google-ab",
      -  "prebid-server"
      -]New value: +[
      +  "spec",
      +  "google-ab",
      +  "prebid-server",
      +  "xandr",
      +  "magnite"
      +]
  3. Changed3 schema fields changed
    • changedInput schema / properties / profile / description
      Previous value: -"Exchange profile applied on top of the spec. spec (default) is the specification only. google-ab is Google Authorized Buyers OpenRTB: at=3 (FIXED_PRICE) is a valid auction type, and each Imp must carry ext.billing_id."New value: +"Exchange profile applied on top of the spec. spec (default) is the specification only. google-ab is Google Authorized Buyers OpenRTB: at=3 (FIXED_PRICE) is a valid auction type, and each Imp must carry ext.billing_id. prebid-server is Prebid Server /openrtb2/auction: each Imp must name a bidder or stored request, and wseat/bseat are refused."
    • changedInput schema / properties / profile / enum
      Previous value: -[
      -  "spec",
      -  "google-ab"
      -]New value: +[
      +  "spec",
      +  "google-ab",
      +  "prebid-server"
      +]
    • changedOutput schema / properties / profile / enum
      Previous value: -[
      -  "spec",
      -  "google-ab"
      -]New value: +[
      +  "spec",
      +  "google-ab",
      +  "prebid-server"
      +]
  4. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds real value by enumerating the specific cross-checks performed (impid, mtype, adm markup, dealid, seat, currency coherence) and noting that issues come back with rule ids and severities, which tells the agent what kind of failures to expect.

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 tight sentences, front-loaded with the core action and with no filler. The closing sentence about return shape mildly duplicates the existing output schema, which is the only wasted clause.

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?

An output schema exists, all five parameters are documented at 100% coverage, and annotations carry the safety profile. The description supplies everything else an agent needs: what is validated, the optional cross-validation mode, and the nature of the results.

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 coverage is 100% and the dialect/profile enum descriptions are unusually thorough, so the baseline is 3. The description earns an extra point by expanding on the bid_request parameter beyond its schema text, listing the exact coherence dimensions that get checked.

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 gives a specific verb and resource ('Validate an OpenRTB 2.x bid response JSON payload') plus the scope it validates against ('a tracked spec version'). It is naturally distinguished from validate_bid_request and the ARTf validators because the resource type is stated explicitly.

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

Usage Guidelines3/5

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

It clarifies that cross-validation against a bid request is optional and names what extra checks that unlocks, which is genuine usage guidance. However, it never states when to prefer this over validate_bid_request or what to do when the payload's dialect is unknown, leaving context implied.

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.