LayerCall

com.layercall由 layercall.com 发布官方发布者v1.0.0更新于 Oct 24, 2026

Score an IP, email, phone, domain or device for fraud in one call, with the signals behind it.

已验证Streamable HTTP可网页运行安全与监控商业与电商

概览

AI 生成的概览

LayerCall 是一个远程欺诈评分服务,让助手对 IP、邮箱、电话、域名、设备和整次注册进行风险评分并给出处置建议。

可以做什么
  • 对 IP 地址评分,识别 VPN、代理、Tor、数据中心托管,并返回地理位置与 ASN
  • 校验邮箱的语法、MX 记录、一次性邮箱、角色账号与域名年龄
  • 按各国号码规划校验全球电话号码,返回号码类型与风险
  • 分析域名的 RDAP 注册时间、注册商、MX/SPF/DMARC 配置与高风险顶级域
  • 评估浏览器指纹,并验证 Web Bot Auth 代理签名
  • 综合 IP、邮箱、电话和域名,对整次注册给出单一风险评分
适用场景
适合在注册审核、滥用排查或信任判断中需要评估欺诈风险时使用,并且希望拿到具体信号和 allow/review/block 结论,而不只是猜测。
运行要求
远程 Streamable HTTP 端点,无需安装。需要 LayerCall API 密钥,通过 Authorization 请求头以 Bearer 方式发送。免费密钥每月 1,000 次查询;测试模式密钥返回合成数据。
安装前请注意
查询会计入 API 密钥用量,整次注册评分比单项查询更贵。提交的 IP、邮箱、电话、域名和指纹等数据会发送给第三方服务。newly_registered 等字段为 null 时应视为未知而非否定结论,并优先采用二次验证而非直接拒绝。

安装

在 SourceWeft 中

  1. 打开 控制台中的 LayerCall,将其添加到工作区。
  2. 连接 Authorization token 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.layercall%2Ftrust-api/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "layercall": {
      "type": "http",
      "url": "https://www.layercall.com/api/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

LayerCall SDKs

[npm] [PyPI] [License] [Dependencies]

Official clients for LayerCall — score an IP, email, phone number, domain, or a whole signup for fraud in a single call.

InstallDocs
Node / TypeScriptnpm i layercallnode/README.md
Pythonpip install layercallpython/README.md
CLInpx layercall ip 8.8.8.8below

Both clients have zero dependencies. A trust check sits on your signup path, which is the worst place in an application to introduce a dependency tree.

Get a free API key — 1,000 lookups a month, no card required, no daily cap.

Try it without installing anything

bash
export LAYERCALL_API_KEY=tl_live_...npx layercall ip 8.8.8.8npx layercall email [email protected]npx layercall domain example.comnpx layercall user --ip 1.2.3.4 --email [email protected]

What it returns

Every endpoint returns the same shape: a 0–100 risk_score, an allow | review | block verdict, and the signals behind it.

json
{  "ip": "185.220.101.1",  "risk_score": 60,  "verdict": "review",  "signals": {    "is_vpn": true,    "is_proxy": true,    "is_datacenter": true,    "is_tor": true,    "recent_abuse": false  },  "geo": { "country": "DE", "city": "Berlin", "asn": "AS60729" },  "vpn_provider": null}

Two things worth reading before you integrate

Prefer step-up over rejection. The review band starts where an ordinary commercial VPN lands, and most VPN users are ordinary customers. Send them an OTP or a 3-D Secure challenge instead of a refusal: a real user clears it in seconds, an attacker cannot, and a false positive costs friction rather than a customer. This is what Stripe Radar and Sift both converged on.

null means unknown, not "no". newly_registered is null when a TLD publishes no RDAP (.de, .ru, .ac.uk among them), and mailbox_exists is null when the mail provider does not answer honestly — Gmail and Yahoo accept mail for addresses that do not exist. Treating either as a negative finding is the specific mistake these fields exist to prevent.

Endpoints

POST/GET /v1/score/ipVPN, proxy, Tor, datacenter, geo, ASN
/v1/verify/emailSyntax, MX, disposable, role account, domain age
/v1/lookup/phoneNumbering-plan validation worldwide, line type
/v1/score/domainRDAP age, registrar, MX/SPF/DMARC, risky TLD
/v1/score/deviceDevice fingerprint reputation + bot probability
/v1/score/userAll of the above weighted into one verdict
/v1/verify/agentWeb Bot Auth (RFC 9421) — prove an AI agent is who it claims
/v1/batchUp to 500 values of one type

Full reference: layercall.com/docs · OpenAPI 3.1: layercall.com/openapi.json

Testing without spending anything

Test-mode keys return deterministic synthetic data, drawn from ranges reserved for exactly this purpose — RFC 5737 addresses, example.com, the 555-01XX fiction block. Same shape and fields as production, so your assertions are real ones. They never bill, never hit live data sources, and never write to the shared reputation network.

Every fixture is documented, so you can assert on exact values rather than "did it return a number": layercall.com/docs/test-mode

MCP — call it from an AI agent

LayerCall speaks the Model Context Protocol over Streamable HTTP, so Claude Code, Claude Desktop, ChatGPT, Cursor, VS Code, Windsurf and Zed can run a fraud check mid-conversation. There is nothing to install — it is a remote server, so you add a URL and your API key:

json
{  "mcpServers": {    "layercall": {      "url": "https://www.layercall.com/api/mcp",      "headers": { "Authorization": "Bearer YOUR_API_KEY" }    }  }}

Seven tools are exposed: score_ip, verify_email, lookup_phone, score_domain, score_device, verify_agent and score_user.

VS Code names the top-level key servers, not mcpServers. That one difference is the usual reason a copied config silently does nothing.

Per-client setup: layercall.com/docs/mcp

Framework middleware

Drop-in for the two places this usually goes. The middleware attaches req.trust and leaves the decision to you:

ts
import { layercall } from "layercall/express";
app.post("/signup", layercall(), (req, res) => {  if (req.trust.verdict === "block") return res.status(403).json({ error: "..." });  if (req.trust.verdict === "review") flagForManualReview(req.trust);  createAccount(req.body);});

There is deliberately no autoBlock: true. A one-line install that starts rejecting people is the wrong default for a fraud tool — the failure is silent, it lands on real customers, and you find out from a support ticket.

By default it only scores POST/PUT/PATCH, because a global app.use() bills a lookup for every request including favicon.ico.

See node/src/express.ts and node/src/next.ts (scoreRequest, withTrust).

Guides

Written for someone mid-incident rather than someone shopping. Each one ends with what a naive version gets wrong — including the parts that need no LayerCall at all.

License

MIT

来源:README.md,提交 e192ad7

工具

7

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.

输入参数ip必填strictness

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.

输入参数email必填strictness

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.

输入参数phone必填countrystrictness

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'.

输入参数domain必填

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.

输入参数ipdevice_id必填

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.

输入参数url必填methodheaders必填

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.

输入参数ipemailphonestrictnessphone_country

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分