Professor Sausages — Trust & Verification
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Email, phone, domain, URL & OFAC verification; phishing and IBAN checks via x402.
| Author | com.professorsausages |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 467 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Professor Sausages — Trust & Verification": {
"url": "https://x402.professorsausages.com/mcp/trust",
"transport": "streamable-http"
}
}
}
Measured tools (12)
find_dataDescribe the data you need in plain language (e.g. 'Apple risk factors 2023', 'is this token a honeypot', 'is this email deliverable', 'read this page'). Searches this server's datasets first, then the whole Professor Sausages catalog, and returns matching endpoints with method, URL, price, and how to call them. Free.
Parameters:
task(required) — string — What you're trying to find or do, in your own words
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
pricingEvery endpoint this server fronts, with its exact per-call USD price (x402, USDC on Base) and a one-line summary, read live from the route table. Free.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
request_dataThe suggestion box: ask for data we don't have (a pre-2015 filing, an uncovered ticker, an unsupported chain, a whole dataset). Requests feed the nightly ingestion queue — filings are usually available within ~24h. Include contact if you want to hear back. Free.
Parameters:
description(required) — string — What data you need, in your own wordscontact— string — Optional: URL/email/handle for follow-upuse_case— string — Optional: what you're building
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
email_checkDeliverability signals for one address: RFC5322 syntax, live MX/SPF/DMARC over DNS-over-HTTPS, disposable/role-account flags. Signals with evidence — not a guaranteed inbox verdict. Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free `pricing` tool lists every price at once.
Parameters:
email(required) — string — The address to check.x_payment— string — Optional signed x402 payment payload (base64, what the X-PAYMENT header carries). Omit to receive the exact payment terms; sign them (e.g. @x402/fetch) and call again with this argument to settle and get the data.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
phone_checkValidate and normalize a phone number: E.164 form, line type, region, and a verdict. Pure CPU, no third-party lookup. Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free `pricing` tool lists every price at once.
Parameters:
number(required) — string — The number, ideally in E.164.region— string — ISO-3166 region hint for national-format numbers.x_payment— string — Optional signed x402 payment payload (base64, what the X-PAYMENT header carries). Omit to receive the exact payment terms; sign them (e.g. @x402/fetch) and call again with this argument to settle and get the data.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
domain_intelRDAP registration card for a domain (creation/expiry dates, registrar, statuses, nameservers, DNSSEC) plus derived risk flags like domain age. view='dns' returns a live multi-record DNS summary (A/AAAA/CNAME/MX/NS/TXT/SOA/CAA + SPF/DMARC); view='live' re-reads the registry at the moment you ask. Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free `pricing` tool lists every price at once.
Parameters:
domain(required) — string — Registrable domain name.view— string — Which read to perform.x_payment— string — Optional signed x402 payment payload (base64, what the X-PAYMENT header carries). Omit to receive the exact payment terms; sign them (e.g. @x402/fetch) and call again with this argument to settle and get the data.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
url_screenScreen a URL against the URLhaus blocklist snapshot plus deterministic live heuristics (redirect chain, host reputation signals, lookalike patterns). Returns a verdict with the rules that fired. Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free `pricing` tool lists every price at once.
Parameters:
url(required) — string — Absolute URL to screen.follow— boolean — Follow the redirect chain before judging.x_payment— string — Optional signed x402 payment payload (base64, what the X-PAYMENT header carries). Omit to receive the exact payment terms; sign them (e.g. @x402/fetch) and call again with this argument to settle and get the data.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
sanctions_screenFuzzy-screen a name against the full OFAC SDN + Consolidated lists. Returns match / possible_match / no_match with scored candidates and the aliases that matched — never a silent all-clear. Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free `pricing` tool lists every price at once.
Parameters:
name(required) — string — Name to screen.list— string — Which OFAC list(s) to screen against.type— string — Restrict to one party type.limit— integer — Max candidates to return.min_score— integer — Minimum fuzzy score (0-100) for a candidate to be returned.x_payment— string — Optional signed x402 payment payload (base64, what the X-PAYMENT header carries). Omit to receive the exact payment terms; sign them (e.g. @x402/fetch) and call again with this argument to settle and get the data.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
sanctions_entityThe complete OFAC record for one entity number: all aliases, addresses, sanctions programs, and extracted identifiers (passports, tax ids, DOBs). Use after sanctions_screen returns a candidate. Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free `pricing` tool lists every price at once.
Parameters:
id(required) — string — OFAC ent_num from a screen result.x_payment— string — Optional signed x402 payment payload (base64, what the X-PAYMENT header carries). Omit to receive the exact payment terms; sign them (e.g. @x402/fetch) and call again with this argument to settle and get the data.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
vessel_screenScreen vessels against OFAC maritime designations by fuzzy name, exact call sign, or IMO number, with flag filtering. Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free `pricing` tool lists every price at once.
Parameters:
imo— string — IMO number.flag— string — Flag state filter.name— string — Vessel name (fuzzy).limit— integer — Max results.call_sign— string — Exact call sign.x_payment— string — Optional signed x402 payment payload (base64, what the X-PAYMENT header carries). Omit to receive the exact payment terms; sign them (e.g. @x402/fetch) and call again with this argument to settle and get the data.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
iban_checkValidate an IBAN (length + mod-97 check digits). view='decode' resolves it to country, bank and account parts; view='format' returns electronic and paper (grouped) forms. Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free `pricing` tool lists every price at once.
Parameters:
iban(required) — string — The IBAN, spaces optional.view— string — Which operation to run.x_payment— string — Optional signed x402 payment payload (base64, what the X-PAYMENT header carries). Omit to receive the exact payment terms; sign them (e.g. @x402/fetch) and call again with this argument to settle and get the data.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
address_screenScreen a crypto address against the full live OFAC SDN list, segmented by chain. Returns a verdict with the matching SDN entries as evidence — never a silent all-clear. Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free `pricing` tool lists every price at once.
Parameters:
address(required) — string — The address to screen, in that chain's native format.chain— string — Which chain the address belongs to.x_payment— string — Optional signed x402 payment payload (base64, what the X-PAYMENT header carries). Omit to receive the exact payment terms; sign them (e.g. @x402/fetch) and call again with this argument to settle and get the data.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.