Skip to main content
Glama

alalanet — check before you pay

Check a service before paying or connecting

check_service
Read-only

Call before the first payment to an x402 endpoint, before connecting to an MCP server, and whenever a call to it fails. Give url (any https URL, listed or not: unknown URLs are probed now and detected as x402 or MCP) or id from find_service. Returns: alive, advice (act on it: ok / ok_requires_auth go ahead; caution_* means confirm with your operator first — pay_to_changed, network_changed, price_higher_than_listed, high_price, tools_changed, suspicious_tool_description, buyers_report_failures; avoid_* means do not pay or connect — down, not_working_as_listed, sanctioned_pay_to, pay_to_frozen), trust_score (0-100, open formula at /trust) with flags, observed price, network and pay_to versus the catalogue listing, uptime 24h/7d, verified purchases. Default answers from recent checks (free tier: 100 a day); live=true probes now and adds a signed, logged attestation you can keep as evidence (5 live checks a day free). Read-only for you; an unknown URL joins the public catalogue. For the final go/no-go on a specific 402, use preflight_payment.

Input Schema

NameRequiredDescriptionDefault
idNoservice id from find_service results; give either id or url
urlNohttps URL of the x402 endpoint or MCP server to check; any URL works, unknown ones are probed and added
liveNotrue probes the service now and returns a signed, logged receipt; false (default) answers from recent checks

Output Schema

NameRequiredDescriptionDefault
noteNo
serviceYes
attestationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Beyond the readOnlyHint/openWorldHint/idempotentHint annotations, the description discloses rate limits (100 free default checks a day, 5 live checks a day), that live=true produces a signed logged attestation usable as evidence, and — importantly — that an unknown URL joins the public catalogue, which reconciles a side effect with the read-only claim. It also encodes the decision semantics of the advice codes (ok/ok_requires_auth vs caution_* vs avoid_*), which annotations cannot express. It stops short of saying how the default 'recent check' cache goes stale or what happens when both id and url are refused.

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?

It is front-loaded with the trigger conditions and the parameter choice, then the return contract, then the cost/quota model — a sensible order. The long parenthesised enumeration of advice codes makes it a dense block, but each code carries decision value rather than filler.

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?

For a three-parameter, output-schema-backed check tool, the definition covers invocation (url vs id), cost model (free vs live quotas), side effects (catalogue admission), and how to act on the result. Nothing an agent needs to call it correctly or interpret the advice field is missing.

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 adds some meaning by tying 'live' to the free-tier quota and the evidentiary value of the signed receipt, and by clarifying that unknown URLs are probed and classified as x402 or MCP. Some of this repeats the schema wording ('signed, logged receipt', 'any URL works'), so the gain is modest rather than large.

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 states a specific verb and resource pair — check an x402 endpoint or MCP server — and immediately scopes it ('before the first payment', 'before connecting to an MCP server'). It explicitly differentiates from siblings by pointing to find_service for the id and preflight_payment for the final per-402 go/no-go.

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?

Three concrete trigger conditions are named: before first payment, before connecting to an MCP server, and whenever a call to it fails. It also names the alternative for the adjacent decision ('For the final go/no-go on a specific 402, use preflight_payment'), so the routing boundary is explicit.

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