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 分