MCP-Server

LayerCall

com.layercall/trust-api
Sicherheit Öffentlich und erreichbar MCP 2026-07-28

Was dieses MCP kann

Scores IPs, emails, phones, domains, devices, and signups for fraud risk and verifies signed AI-agent requests.

lookup_phone
Validate a phone number
Validate a phone number worldwide against its national numbering plan. Returns E.164, country, line type (mobile/fixed/VoIP/toll-free/premium) and a risk score. Works globally, not US-only.
Eingabeschema
{'type': 'object', 'required': ['phone'], 'properties': {'phone': {'type': 'string', 'description': 'Number in international form (+14155552671) or national form with country set'}, 'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2, required only for national-format numbers'}, 'strictness': {'type': 'integer', 'maximum': 3, 'minimum': 0}}}
score_device
Score a device fingerprint
Judge a browser fingerprint from /fp.js: headless detection, automation frameworks (Selenium, Puppeteer, Playwright), timezone-versus-IP mismatch and repeat-device history. Note the ceiling honestly — the declared signals it relies on are the first thing stealth tooling patches, so a clean result is weaker evidence than a dirty one.
Eingabeschema
{'type': 'object', 'required': ['device_id'], 'properties': {'ip': {'type': 'string', 'description': 'Visitor IP, so timezone-vs-country can be checked'}, 'device_id': {'type': 'string', 'description': 'Hex fingerprint from /fp.js'}}}
score_domain
Score a domain
Profile a domain: registration date from RDAP, registrar, MX/SPF/DMARC configuration, disposable-mail and risky-TLD detection. newly_registered is null when the age genuinely could not be determined — treat that as unknown, not as 'established'.
Eingabeschema
{'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'Bare domain, e.g. example.com'}}}
score_ip
Score an IP address
Risk-score an IPv4 or IPv6 address. Detects commercial VPNs (naming the provider where its own published list confirms it), proxies, Tor exit nodes and datacenter hosting, and returns geolocation, ASN and a 0-100 risk score with an allow/review/block verdict.
Eingabeschema
{'type': 'object', 'required': ['ip'], 'properties': {'ip': {'type': 'string', 'description': 'IPv4 or IPv6 address, e.g. 8.8.8.8'}, 'strictness': {'type': 'integer', 'maximum': 3, 'minimum': 0, 'description': '0 lenient, 1 balanced (default), 2 strict, 3 paranoid. Moves the verdict thresholds only; the score is unchanged.'}}}
score_user
Score a whole signup
Score an entire signup in one call — any combination of IP, email, phone and domain — returning a single weighted risk score, a verdict, and the top contributing signals. A hard block on any component is never averaged away. This is the tool to use when judging a person rather than a value. Costs one lookup PER COMPONENT supplied, not one per call, so four identifiers cost four; the response reports the exact figure as billable_lookups, and cached components are refunded.
Eingabeschema
{'type': 'object', 'properties': {'ip': {'type': 'string'}, 'email': {'type': 'string'}, 'phone': {'type': 'string'}, 'strictness': {'type': 'integer', 'maximum': 3, 'minimum': 0}, 'phone_country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 for national-format numbers'}}}
verify_agent
Verify a signed AI agent (Web Bot Auth)
Cryptographically verify a Web Bot Auth signature (RFC 9421) — proof of WHICH agent is calling, not a guess from the user-agent. Returns verified true/false plus the agent's identity and declared purpose. This is the only check here that proves rather than infers, so it carries no score and no verdict: a verified assistant acting for a real user is usually welcome, a verified scraper usually is not, and that policy is the caller's. Pass the request the agent made to YOU — the signature covers its method, authority and path.
Eingabeschema
{'type': 'object', 'required': ['url', 'headers'], 'properties': {'url': {'type': 'string', 'description': 'Absolute URL the agent requested from you'}, 'method': {'type': 'string', 'description': 'HTTP method, default GET'}, 'headers': {'type': 'object', 'description': 'Request headers, including signature, signature-input and signature-agent'}}}
verify_email
Verify an email address
Check an email for syntax, MX records, disposable/throwaway providers, role accounts (info@, admin@), homograph lookalikes and domain age. Returns a 0-100 risk score and an allow/review/block verdict.
Eingabeschema
{'type': 'object', 'required': ['email'], 'properties': {'email': {'type': 'string', 'description': 'Full email address'}, 'strictness': {'type': 'integer', 'maximum': 3, 'minimum': 0}}}
Hinzugefügt
score_user
17. September 2026 12:35
Hinzugefügt
verify_agent
17. September 2026 12:35
Hinzugefügt
score_device
17. September 2026 12:35
Hinzugefügt
score_domain
17. September 2026 12:35
Hinzugefügt
lookup_phone
17. September 2026 12:35
Hinzugefügt
verify_email
17. September 2026 12:35
Hinzugefügt
score_ip
17. September 2026 12:35