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. WHEN THIS PAYS FOR ITSELF: a $15 call with a 2% failure rate carries an expected loss of $0.30, so a $0.002 check is a 150x return. WHEN IT DOES NOT: before a $0.001 data lookup the same check is a 2x loss. Buy it before a consequential call — expensive inference, a purchase, a state-changing action — and not before a cheap one. 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.002 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.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds substantial behavioral context: the probe is unpaid and bounded (~2.2s cap), the return splits into LIVE and HISTORICAL parts, the verdict is ADVISORY and not a warranty, UNKNOWN is a legitimate answer with specific conditions, and being charged nothing when the target is unreachable and unobserved. It also states the cost and payment rail ($0.002 USDC via x402 on Base). This goes far beyond annotation hints.

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?

Though the description is long, it is structured with clear headings ('WHEN THIS PAYS FOR ITSELF', 'WHEN IT DOES NOT', 'Returns two halves') and densely packed with actionable information. Every sentence contributes to understanding the tool's purpose, cost, limits, and return value. The front-loaded purpose sentence immediately clarifies the tool's role.

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?

There is no output schema, so the description carries the burden of explaining return values. It does so thoroughly by detailing the LIVE half (reachability, HTTP status, latency, MCP initialize probe, price/payTo) and the HISTORICAL half (reliability, payTo changes, price changes, tool-schema changes, first-seen date, credit grade). It also covers edge cases (UNKNOWN semantics, freshness via max_age_seconds, and charging nothing when unobserved and unreachable). For a tool with this complexity, the description is complete.

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?

The input schema has 100% coverage, properly describing each parameter. The description adds functional meaning on top: expected_price, expected_payto, and expected_schema_hash are compared 'old to new' with a date of first observed change, and probe_method is restricted to side-effect-free methods. While the schema already documents the parameters, the description clarifies how they are used together in the comparison logic.

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 opens with a clear verb and resource: 'Check that an endpoint is live and that its terms have changed, BEFORE you send it an expensive request.' It distinguishes this tool from sibling tools focused on credit scores, revenue estimates, drift, etc., by emphasizing preflight liveness and terms verification before a consequential call.

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 states when to use it ('Buy it before a consequential call — expensive inference, a purchase, a state-changing action') and when not ('not before a cheap one'), even providing a quantitative cost-benefit example. It also contrasts with sibling tools by focusing on preflight checks rather than ongoing monitoring or credit evaluation.

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.7/5.0
Disambiguation5/5

Each tool targets a distinct aspect: endpoint risk, revenue, integration drift, payer profile, change feed, preflight, and wallet authenticity. The descriptions explicitly differentiate them, even when two tools involve wallets or risk, making misselection unlikely.

Naming Consistency5/5

All tool names follow the same mcpfax_ prefix followed by a descriptive compound noun (endpoint_credit_score, integration_drift, payto_change_feed). The pattern is uniform and predictable, differing only in the domain-specific phrase.

Tool Count5/5

Seven tools is within the ideal 3-15 range and well-scoped for a reliability-focused MCP server. Each tool covers a necessary function without redundancy, from pre-flight checks to ongoing drift monitoring.

Completeness5/5

The server covers the full lifecycle of managing reliability: pre-integration vetting (credit, revenue, wallet checks), post-integration monitoring (drift, change feed), and pre-call verification (preflight). The feed and drift tools handle ongoing awareness, leaving no obvious dead ends.

Resources