Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Benchmark Latency

benchmark_latency
Read-onlyIdempotent

The latency percentiles of a vendor's API from our own probes. use it rather than assess_business_eligibility for latency, not business eligibility; an object with 40 fields including _dt, algorithm. $0.05 USDC.

Input Schema

NameRequiredDescriptionDefault
urlYesThe URL to fetch, verify or route to.
samplesNoThe samples this operation operates on. See the schema for its type and whether it is required.
window_hoursNoHow far back to look, in hours.

Output Schema

NameRequiredDescriptionDefault
nNoThe `n` field of the response.
okYesWhether the operation succeeded.
tsNoThe `ts` field of the response.
_dtNoThe `_dt` field of the response.
maxNoThe `max` field of the response.
minNoThe `min` field of the response.
p50NoThe `p50` field of the response.
p95NoThe `p95` field of the response.
p99NoThe `p99` field of the response.
noteNoA note on how the answer was produced.
rowsNoThe `rows` field of the response.
errorNoThe machine-readable error code, when the operation failed.
valueNoThe `value` field of the response.
detailYesHuman-readable explanation of the verdict.
errorsNoThe `errors` field of the response.
pay_toNoThe `pay_to` field of the response.
sampleNoThe `sample` field of the response.
sha256NoThe `sha256` field of the response.
targetNoThe `target` field of the response.
networkNoThe `network` field of the response.
plannedNoThe `planned` field of the response.
verdictYesThe decision this tool returned.
coverageNoHow much of the underlying corpus the answer is based on.
algorithmNoThe `algorithm` field of the response.
price_usdNoThe price of the operation that was paid.
latency_msNoThe `latency_ms` field of the response.
normalisedNoThe `normalised` field of the response.
public_keyNoThe `public_key` field of the response.
window_endNoThe `window_end` field of the response.
http_statusNoThe `http_status` field of the response.
measured_byNoThe `measured_by` field of the response.
signed_overNoThe `signed_over` field of the response.
probe_methodNoThe `probe_method` field of the response.
window_hoursNoThe `window_hours` field of the response.
window_startNoThe `window_start` field of the response.
coverage_gapsNoThe `coverage_gaps` field of the response.
profileVersionNoVersion of the answer profile.
probes_in_windowNoThe `probes_in_window` field of the response.
samples_requestedNoThe `samples_requested` field of the response.
declared_price_usdNoThe `declared_price_usd` field of the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed42 schema fields changed
    • addedOutput schema / properties / _dt
      Added value: +{
      +  "description": "The `_dt` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / algorithm
      Added value: +{
      +  "description": "The `algorithm` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / coverage
      Added value: +{
      +  "description": "How much of the underlying corpus the answer is based on.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / coverage_gaps
      Added value: +{
      +  "description": "The `coverage_gaps` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / declared_price_usd
      Added value: +{
      +  "description": "The `declared_price_usd` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / detail
      Added value: +{
      +  "description": "Human-readable explanation of the verdict.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / error
      Added value: +{
      +  "description": "The machine-readable error code, when the operation failed.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / errors
      Added value: +{
      +  "description": "The `errors` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / http_status
      Added value: +{
      +  "description": "The `http_status` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / latency_ms
      Added value: +{
      +  "description": "The `latency_ms` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / max
      Added value: +{
      +  "description": "The `max` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / measured_by
      Added value: +{
      +  "description": "The `measured_by` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / min
      Added value: +{
      +  "description": "The `min` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / n
      Added value: +{
      +  "description": "The `n` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / network
      Added value: +{
      +  "description": "The `network` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / normalised
      Added value: +{
      +  "description": "The `normalised` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / note
      Added value: +{
      +  "description": "A note on how the answer was produced.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / ok
      Added value: +{
      +  "description": "Whether the operation succeeded.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / p50
      Added value: +{
      +  "description": "The `p50` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / p95
      Added value: +{
      +  "description": "The `p95` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / p99
      Added value: +{
      +  "description": "The `p99` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / pay_to
      Added value: +{
      +  "description": "The `pay_to` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / planned
      Added value: +{
      +  "description": "The `planned` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / price_usd
      Added value: +{
      +  "description": "The price of the operation that was paid.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / probe_method
      Added value: +{
      +  "description": "The `probe_method` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / probes_in_window
      Added value: +{
      +  "description": "The `probes_in_window` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / profileVersion
      Added value: +{
      +  "description": "Version of the answer profile.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / public_key
      Added value: +{
      +  "description": "The `public_key` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / rows
      Added value: +{
      +  "description": "The `rows` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / sample
      Added value: +{
      +  "description": "The `sample` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / samples_requested
      Added value: +{
      +  "description": "The `samples_requested` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / sha256
      Added value: +{
      +  "description": "The `sha256` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signed_over
      Added value: +{
      +  "description": "The `signed_over` field of the response.",
      +  "type": "object"
      +}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / target
      Added value: +{
      +  "description": "The `target` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / ts
      Added value: +{
      +  "description": "The `ts` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / value
      Added value: +{
      +  "description": "The `value` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / verdict
      Added value: +{
      +  "description": "The decision this tool returned.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / window_end
      Added value: +{
      +  "description": "The `window_end` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / window_hours
      Added value: +{
      +  "description": "The `window_hours` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / window_start
      Added value: +{
      +  "description": "The `window_start` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / required
      Added value: +[
      +  "detail",
      +  "ok",
      +  "verdict"
      +]
  2. Added

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare this as a safe, idempotent, non-destructive read, so the description rightly doesn't repeat that. It does add genuine value by disclosing the pricing ('$0.05 USDC') and that the measurement comes 'from our own probes,' but the return-shape detail ('40 fields including _dt, algorithm') is largely redundant with the output schema.

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?

It is short, but the structure is garbled: a lowercase sentence start, a semicolon splice joining routing guidance to a return-shape fragment, and an oddly specific '40 fields including _dt, algorithm' phrase. It is not cleanly front-loaded, so words are spent without clear payoff.

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

Completeness3/5

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

With an output schema, annotations, and full param coverage, most of the trust surface is covered elsewhere, and cost/data-source disclosure is present. But the description is thin on when to reach for this vs. other verification siblings and on what the probe requires, leaving it only adequately complete for a small read-only tool.

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 description coverage is 100%, so the schema carries parameter documentation and the baseline is 3. The description says nothing about url, samples, or window_hours beyond what the schema provides, so it adds no semantic value at the parameter level.

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 identifies the resource and data source ('the latency percentiles of a vendor's API from our own probes') and names the sibling it is not (assess_business_eligibility), so an agent can route it. However, it is a noun phrase rather than a clear verb+resource statement, so the action ('benchmark') must be inferred from the name.

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 offers an explicit either/or against assess_business_eligibility, but the contrast it draws ('for latency, not business eligibility') is trivially obvious and adds little routing value. No real context is given for when a latency benchmark is the right call or what prerequisites (a vendor URL) are needed.

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.