Skip to main content
Glama

Screen a payment endpoint for phishing (free)

screen_endpoint
Read-onlyIdempotent

Screen a payment ENDPOINT (URL or domain) before calling it — the half that address screening cannot answer. In x402 the agent discovers a URL first, receives a 402, and only then learns where to pay: if that endpoint is spoofed, the payee address it hands back is freshly generated and appears on no sanctions list. Checks the hostname and its parent domains against phishing-domain intelligence plus hostname shape signals (bare IP, punycode homograph, deep subdomain nesting, free hosting). Returns clear | caution | risky | unknown with language-independent signal_keys. A clear verdict means no match was found, NOT that the endpoint is safe — freshly registered phishing hosts always precede any list. Use together with screen_address. Free, no API key.

Input Schema

NameRequiredDescriptionDefault
urlYesFull URL or bare domain of the payment endpoint, e.g. https://pay.example.com/x402 or pay.example.com
langNoLanguage for human-readable fields. Defaults to English.

Output Schema

NameRequiredDescriptionDefault
codeNoInput error code, e.g. unknown_network, network_address_mismatch, unparsable_url.
hostNo
noteNo
riskNoRounded to 10 when detail_level is coarse.
errorNoPresent only on an input error (isError: true).
inputNo
retryNo
signalsNoHuman-readable. Do not branch on these.
verdictNoclear means no match in the data held, not that it is safe. uncertain must never be treated as clear.
evidenceNo
imitatesNoPresent when the host imitates a known brand.
listed_asNoPresent when the host or a parent domain is on a phishing list: source, label, firstSeen, lastSeen, delistedAt.
risk_bandNo
retry_hintNo
detail_noteNo
reason_codeNoStable reason code; table at https://oceanalt.com/api/contract.
signal_keysNoLanguage-independent keys. Branch on these. Full list at https://oceanalt.com/api/contract.
detail_levelNo
signal_classNo
accepted_networksNo

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover read-only/idempotent/non-destructive, yet the description adds substantive behaviour: parent-domain traversal, the four hostname shape signals, the verdict vocabulary, the free/no-API-key constraint, and the critical caveat that a "clear" verdict means no match was found rather than safety. That negative-result semantics is exactly what an agent needs to avoid over-trusting the output.

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?

Front-loaded with verb and resource, and every clause carries information (sibling differentiation, workflow, signals, verdict caveat). It is dense and em-dash-heavy, with the x402 background and the safety caveat competing for attention in one paragraph, but nothing is redundant.

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?

An output schema exists, yet the description still supplies the verdict enum and the epistemic caveat about fresh phishing hosts — the one thing a schema cannot convey. Combined with the coverage of checks performed and prerequisites (free, no key), an agent can call this correctly and interpret the result responsibly.

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 coverage is 100%, so the schema already documents both parameters including the URL-or-domain flexibility and the lang default. The description restates URL/domain acceptability and indirectly touches lang via "language-independent signal_keys", but adds no syntax or format detail beyond the schema. Baseline 3 applies.

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?

States a specific verb and resource ("Screen a payment ENDPOINT (URL or domain)") and immediately positions it against the sibling screen_address ("the half that address screening cannot answer"). The x402 discovery flow explains exactly what object is being screened and why.

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?

Gives explicit ordering ("before calling it"), names the alternative ("Use together with screen_address"), and explains the scenario that selects this tool: a URL arrives first and the payee address is only revealed afterward. The division of labour between the two screening tools is unambiguous.

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.