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.
profileNoExchange 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.
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

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the agent knows it's safe. The description adds value by disclosing that it optionally cross-validates against the bid request for specific fields (impid, mtype, adm markup, etc.) and returns structured issues with rule ids, severities, and JSON paths.

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 description is concise (3 sentences) and front-loaded with the main purpose. The first sentence covers the core function, the second adds cross-validation detail, and the third describes the return format. No wasted words, though the profile descriptions in the schema could be excessive but are justified for clarity.

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?

Given the tool has an output schema, the agent already knows the return structure. The description covers the validation action, optional cross-validation, and the types of issues returned. This is complete for a validation tool with full annotations and output schema.

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 100%, so the baseline is 3. The description adds value by explaining the optional cross-validation parameter (bid_request) and detailing what 'profile' values mean for different exchanges (e.g., google-ab requires at=3 and ext.billing_id). The dialect parameter is also well-explained with spec-json vs proto-json differences.

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 clearly states the tool validates OpenRTB 2.x bid response JSON payloads against a spec version, with optional cross-validation against a bid request. It distinguishes from siblings like validate_bid_request and list_openrtb_versions by being specific to bid responses and mentioning cross-validation.

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?

The description implies when to use this tool (validating bid responses, optionally with a request for cross-checks) but doesn't explicitly state when not to use it or name alternatives among siblings. However, the context signals list sibling tools, and the purpose is clear enough for an agent to infer usage.

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.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool targets a distinct aspect of the RTBlint domain: protocol discovery (get_adcp_capabilities), version enumeration (list_openrtb_versions), ARTF request and response validation (validate_artf_request, validate_artf_response), and OpenRTB payload validation (validate_bid_request, validate_bid_response). The descriptions clearly differentiate their purposes and invocation order.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern: get_adcp_capabilities, list_openrtb_versions, validate_artf_request, validate_artf_response, validate_bid_request, validate_bid_response. The naming is uniform, predictable, and clearly indicates the action and target.

Tool Count5/5

With 6 tools, the set is well-scoped for the domain of RTB validation and protocol discovery. Each tool addresses a necessary function without redundancy or excess, making the server easy to navigate and integrate into an agentic pipeline.

Completeness4/5

The tool set covers key lifecycle steps: discovery, version selection, request validation, response validation, and cross-validation. A minor gap is the lack of a tool for validating mutations that don't involve ARTF, but the ARTF tools handle the core workflow well.