Skip to main content
Glama

Buy an ad impression

get_ad_impression

Pay a fraction of a cent in USDC via x402 to retrieve an ad payload for a given adId.

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": {
      "adId": "<adId>"
    },
    "name": "get_ad_impression"
  }
}

Input Schema

NameRequiredDescriptionDefault
adIdYes
agentIdNo
paymentHeaderNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose a genuinely important behavior: this is a paid call costing a fractional cent in USDC via x402. However, it omits the mechanics that matter for a payment tool — how paymentHeader is produced, what happens on payment failure, idempotency or retry behavior, and whether agentId is required for billing.

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?

A single front-loaded sentence with no filler, putting the payment cost and the returned resource first. It is well sized, though it trades away detail that a payment-bearing tool arguably needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paid, mutating-in-effect operation with no annotations and no output schema, the description should explain the payment/authorization flow and the role of agentId and paymentHeader. It conveys only the headline cost and the target adId, leaving an agent unsure how to construct a valid paid request.

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

Parameters2/5

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

Schema description coverage is 0% across 3 parameters and the description only accounts for adId. The critical parameters agentId and especially paymentHeader (the presumed x402 payment proof) are left entirely unexplained in both schema and description, so the definition does not compensate for the coverage gap. It is below the 0-param baseline of 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: paying USDC via x402 to retrieve an ad payload for a given adId. This clearly distinguishes it from the retrieval-only siblings (get_agent, get_metadata) and from list_ads, since it is a paid fetch of a single ad impression. It lacks an explicit contrast with those siblings, keeping it short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no pointer to alternatives such as list_ads for browsing versus this tool for a single paid impression. The usage is only implied by the phrase 'for a given adId'.

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