Skip to main content
Glama

Preflight an endpoint before a consequential call

mcpfax_preflight_check
Read-only

Check that an endpoint is live and that its terms have not changed, BEFORE you send it an expensive request. A $15 call with a hypothetical 2% loss rate carries $0.30 of expected loss; a reachability check cannot promise to prevent it. Compare the quoted fee with the value of the pending call and the failures this check can actually detect. For a cheap $0.001 lookup, the $0.008 fee is eight times the call price. Returns two halves. LIVE: one unpaid bounded probe (~2.2s cap) giving reachability, HTTP status, latency, whether an MCP server still answers initialize, and the price and payTo it is serving right now. HISTORICAL: reliability over our OBSERVED window (stated in days, never implied), payTo changes, price changes, tool-schema changes, first-seen date, and credit grade or an honest not-rated. Supply expected_price, expected_payto or expected_schema_hash and each is compared with old to new and the date we first observed the change. The verdict is ALLOW, WARN or UNKNOWN and is ADVISORY: it reports evidence, it is not a warranty, an audit, or a promise your call will succeed. UNKNOWN is a real answer and is returned whenever the evidence does not support the other two. If we have never observed the target AND cannot reach it, you get UNKNOWN and are charged nothing. Otherwise $0.008 USDC per call via x402 on Base.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
targetYesThe endpoint you are about to call. Preferred form is the absolute https:// URL of the exact resource you will pay for, e.g. 'https://api.example.com/v1/search'. An observatory id also works: 'host:<hostname>' or 'mcp:<publisher>/<name>'.
probe_methodNoHTTP method for the unpaid probe of a non-MCP endpoint, default GET. Only side-effect-free methods are accepted; this tool never sends a request that could change state at the target. A POST-only resource answers 404/405 here, which is reported as a property of the probe method.
expected_paytoNoThe payment destination you believe you are paying — an EVM address or a base58 Solana address. A mismatch is the strongest signal this tool produces.
expected_priceNoWhat you believe the call costs. A decimal such as '0.01' is read as USD; a bare integer such as '10000' is read as atomic units.
max_age_secondsNoYour freshness bar, default 300. A stored observation older than this is still reported but may not support an ALLOW verdict. A stored observation newer than this can stand in for the live half if the live probe does not finish in time, and is labelled as recorded rather than live.
expected_schema_hashNoThe schema hash a previous call to this tool returned in live.schema_hash. It covers tool names and input/output schemas, not titles or descriptions.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedInput schema / properties / expected_payto / examples
      Added value: +[
      +  "0x1831f336585a6C67B6A954d28f3E07F44C4EEBbd"
      +]
    • addedInput schema / properties / expected_price / examples
      Added value: +[
      +  "0.01"
      +]
    • addedInput schema / properties / expected_schema_hash / examples
      Added value: +[
      +  "sha256:3b2d23d6e1a3b10024abd164368e5a1cd38c8400fca7bf10a84bab99eeeed8e0"
      +]
    • addedInput schema / properties / max_age_seconds / examples
      Added value: +[
      +  300
      +]
    • addedInput schema / properties / target / examples
      Added value: +[
      +  "https://api.example.com/v1/search"
      +]
  2. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Despite readOnlyHint=true and destructiveHint=false already being present, the description adds substantial behavioral context: it guarantees the probe is unpaid and side-effect-free, never changes target state, is bounded at ~2.2 seconds, costs $0.008 USDC via x402 on Base, and returns two distinct halves. It also honestly warns that the verdict is advisory and not a warranty, which is valuable beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every sentence carries information needed for correct invocation: purpose, cost-benefit reasoning, return structure, parameter usage, verdict semantics, and billing behavior. The key caution is front-loaded, and the pricing detail comes at the end without burying the essential guidance.

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 six parameters, a complex pricing model, no output schema, and several sibling tools, the description is remarkably complete. It explains the two return halves, the meaning of UNKNOWN, the advisory nature of the verdict, the fallback to stored observations, and the exact conditions under which the user is charged nothing. An agent has enough information to decide when and how to call this tool safely.

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; the description goes further by explaining how expected_price, expected_payto, and expected_schema_hash are used in comparisons and how max_age_seconds interacts with the live half and verdicts. It does not exhaustively document every parameter, but it adds meaningful operational context beyond the schema.

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 first sentence states a specific verb and resource: 'Check that an endpoint is live and that its terms have not changed, BEFORE you send it an expensive request.' It clearly differentiates this from siblings by focusing on preflight reachability and term-change detection rather than credit scoring, revenue estimates, or wallet profiles.

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

Usage Guidelines5/5

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

The description explicitly says when to use the tool (before expensive requests), when not to use it (a cheap $0.001 lookup, where the fee is eight times the call price), and how to reason about cost versus expected loss. It also defines when UNKNOWN is the appropriate result and when no charge applies, giving an agent clear decision rules.

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