Skip to main content
Glama

Price position

price_position
Read-only

What percentile is my x402 API's price in its category? One signed number: where a price sits among the sellers of priced Bazaar listings with 3+ payers in the same category, each seller once at its median price, with the category's median, p10 and p90 and the seller count, from the newest complete weekly snapshot. Give a category and a price, or your listing's URL. Asked again with its ETag, an unchanged answer is a free 304. Price: $0.001 in USDC per call, paid with x402 inside the tool call. Or send a Skyfire pay or kya-pay token in the kyapay-token header (or in this tool's kyapay-token argument), and this tool charges $0.001 to it. Failed calls aren't charged.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "price_position"
  }
}

Input Schema

NameRequiredDescriptionDefault
priceNoA price per call in USD
categoryNoThe listing's category
resourceNoOr: your listing's resource URL
kyapay-tokenNoA Skyfire pay or kya-pay token made for Agoranome's service, from a client that can't set the kyapay-token header. Leave it out when paying with x402 or the header.
if_none_matchNoSend the answer's ETag back in If-None-Match (over MCP, the if_none_match argument): while the answer is unchanged it comes back as a free 304 Not Modified.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior5/5

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

Beyond the readOnly/openWorld annotations, it discloses cost ($0.001 USDC per call), three payment paths (x402 in-call, Skyfire/kya-pay header, or the kyapay-token argument), the fact that failed calls are not charged, and the conditional-request caching behavior (free 304 while the ETag answer is unchanged). That is exactly the operational context annotations cannot carry.

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 purpose is front-loaded in the opening question, which is good, but the second sentence is an overstuffed run-on that mixes population definition, aggregation rule, and return shape. Payment and ETag behavior are also duplicated between the description and the corresponding schema property descriptions.

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 no output schema, the description still characterizes the return (one signed number plus the category median, p10, p90, and seller count) and covers payment, auth, failure, and caching. The main residual gap is eligibility: the '3+ payers' and 'weekly snapshot' filters could make an otherwise valid query return nothing, and that outcome is not described.

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%, so the baseline is 3, but the description adds real semantics: price and category form one alternative mode while resource (listing URL) forms another, and the kyapay-token argument is explicitly positioned as a fallback for clients that cannot set the header. It does not clarify what happens if both modes are supplied.

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?

The description names a specific metric (a price percentile within a category) and defines the population it is computed over (priced Bazaar listings with 3+ payers, one entry per seller at median price). That is far more concrete than a restated name. It does not name any sibling such as check_fair_offer or rank_check, so the agent must infer differentiation from the metric itself.

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 gives input-level guidance — 'Give a category and a price, or your listing's URL' — which implies two calling modes, but never states when to choose this over the many adjacent offer/rank/pricing tools. There are no explicit exclusions or prerequisites (e.g., what happens if the category has no qualifying listings).

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.