MCPサーバー

Professor Sausages — Trust & Verification

com.professorsausages/sausage-trust

このMCPでできること

Verifies email, phone, domain, URL, vessel, crypto address, and IBAN signals, and performs phishing, sanctions, DNS, and registration-risk checks.

address_screen
Screen a crypto address against OFAC
Screen 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.
入力スキーマ
{'type': 'object', 'required': ['address'], 'properties': {'chain': {'enum': ['base', 'ethereum', 'bitcoin', 'tron', 'litecoin', 'monero', 'dash', 'zcash', 'bitcoin-cash', 'dogecoin', 'bitcoin-gold', 'verge', 'solana'], 'type': 'string', 'default': 'base', 'examples': ['base'], 'description': 'Which chain the address belongs to.'}, 'address': {'type': 'string', 'examples': ['0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'], 'description': "The address to screen, in that chain's native format."}, 'x_payment': {'type': 'string', 'description': '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.'}}}
domain_intel
Domain registration & DNS card
RDAP 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.
入力スキーマ
{'type': 'object', 'required': ['domain'], 'properties': {'view': {'enum': ['registration', 'dns', 'live'], 'type': 'string', 'default': 'registration', 'examples': ['registration'], 'description': 'Which read to perform.'}, 'domain': {'type': 'string', 'examples': ['cloudflare.com'], 'description': 'Registrable domain name.'}, 'x_payment': {'type': 'string', 'description': '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.'}}}
email_check
Email deliverability signals
Deliverability 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.
入力スキーマ
{'type': 'object', 'required': ['email'], 'properties': {'email': {'type': 'string', 'examples': ['support@cloudflare.com'], 'description': 'The address to check.'}, 'x_payment': {'type': 'string', 'description': '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.'}}}
find_data
Find the right data source
Describe 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.
入力スキーマ
{'type': 'object', 'required': ['task'], 'properties': {'task': {'type': 'string', 'examples': ['Apple risk factors 2023'], 'description': "What you're trying to find or do, in your own words"}}}
iban_check
IBAN validate & decode
Validate 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.
入力スキーマ
{'type': 'object', 'required': ['iban'], 'properties': {'iban': {'type': 'string', 'examples': ['DE89370400440532013000'], 'description': 'The IBAN, spaces optional.'}, 'view': {'enum': ['validate', 'decode', 'format'], 'type': 'string', 'default': 'validate', 'examples': ['decode'], 'description': 'Which operation to run.'}, 'x_payment': {'type': 'string', 'description': '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.'}}}
phone_check
Phone number validation
Validate 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.
入力スキーマ
{'type': 'object', 'required': ['number'], 'properties': {'number': {'type': 'string', 'examples': ['+14155552671'], 'description': 'The number, ideally in E.164.'}, 'region': {'type': 'string', 'examples': ['US'], 'description': 'ISO-3166 region hint for national-format numbers.'}, 'x_payment': {'type': 'string', 'description': '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.'}}}
pricing
Price list
Every 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.
入力スキーマ
{'type': 'object', 'properties': {}}
request_data
Request missing data
The 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.
入力スキーマ
{'type': 'object', 'required': ['description'], 'properties': {'contact': {'type': 'string', 'examples': ['https://example.com/contact'], 'description': 'Optional: URL/email/handle for follow-up'}, 'use_case': {'type': 'string', 'examples': ['a risk-factor diffing agent'], 'description': "Optional: what you're building"}, 'description': {'type': 'string', 'examples': ['Tesla 10-K for fiscal 2014'], 'description': 'What data you need, in your own words'}}}
sanctions_entity
Full OFAC dossier
The 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.
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'examples': ['27307'], 'description': 'OFAC ent_num from a screen result.'}, 'x_payment': {'type': 'string', 'description': '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.'}}}
sanctions_screen
OFAC sanctions name screen
Fuzzy-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.
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'list': {'enum': ['sdn', 'cons', 'all'], 'type': 'string', 'default': 'all', 'examples': ['all'], 'description': 'Which OFAC list(s) to screen against.'}, 'name': {'type': 'string', 'examples': ['Ivan Ivanov'], 'description': 'Name to screen.'}, 'type': {'enum': ['individual', 'entity', 'vessel', 'aircraft'], 'type': 'string', 'examples': ['individual'], 'description': 'Restrict to one party type.'}, 'limit': {'type': 'integer', 'examples': [5], 'description': 'Max candidates to return.'}, 'min_score': {'type': 'integer', 'examples': [85], 'description': 'Minimum fuzzy score (0-100) for a candidate to be returned.'}, 'x_payment': {'type': 'string', 'description': '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.'}}}
url_screen
Phishing / malicious URL screen
Screen 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.
入力スキーマ
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'examples': ['https://example.com/'], 'description': 'Absolute URL to screen.'}, 'follow': {'type': 'boolean', 'default': True, 'examples': [True], 'description': 'Follow the redirect chain before judging.'}, 'x_payment': {'type': 'string', 'description': '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.'}}}
vessel_screen
Maritime sanctions screen
Screen 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.
入力スキーマ
{'type': 'object', 'properties': {'imo': {'type': 'string', 'examples': ['9116412'], 'description': 'IMO number.'}, 'flag': {'type': 'string', 'examples': ['Iran'], 'description': 'Flag state filter.'}, 'name': {'type': 'string', 'examples': ['Adrian Darya'], 'description': 'Vessel name (fuzzy).'}, 'limit': {'type': 'integer', 'examples': [10], 'description': 'Max results.'}, 'call_sign': {'type': 'string', 'examples': ['T2EU4'], 'description': 'Exact call sign.'}, 'x_payment': {'type': 'string', 'description': '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.'}}}
追加
address_screen
2026年9月17日12:36
追加
iban_check
2026年9月17日12:36
追加
vessel_screen
2026年9月17日12:36
追加
sanctions_entity
2026年9月17日12:36
追加
sanctions_screen
2026年9月17日12:36
追加
url_screen
2026年9月17日12:36
追加
domain_intel
2026年9月17日12:36
追加
phone_check
2026年9月17日12:36
追加
email_check
2026年9月17日12:36
追加
request_data
2026年9月17日12:36
追加
pricing
2026年9月17日12:36
追加
find_data
2026年9月17日12:36