LayerCall について
LayerCallは、登録フローやリスク調査向けの不正スコアリングサービスです。IP、メールアドレス、電話番号、ドメイン、デバイス、ユーザーデータを評価し、根拠となるシグナルと判定を返します。
主な機能
- 01IP、メール、電話、ドメイン、デバイスの不正スコア
- 02ユーザー全体のリスク判定
- 03スコア、判定、関連シグナルの返却
- 04最大500件の一括チェック
- 05合成テストデータの提供
活用シーン
- 01アカウント作成前の登録リスク評価
- 02VPN、プロキシ、データセンターのシグナル確認
- 03連絡先とドメインの評判確認
- 04決定的なテストデータで不正チェックを検証
MCP 対応
LayerCallはStreamable HTTP経由でリモートMCPサーバーを提供します。IP、ドメイン、デバイス、ユーザーのスコアリングに加え、メール、電話、エージェントの検証を行う7つのツールを公開します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://www.layercall.com/api/mcpclaude mcp add --transport http com-layercall-trust-api https://www.layercall.com/api/mcp{"mcpServers":{"com-layercall-trust-api":{"type":"http","url":"https://www.layercall.com/api/mcp"}}}Cursor で開く{"servers":{"com-layercall-trust-api":{"type":"http","url":"https://www.layercall.com/api/mcp"}}}VS Code で開く{"mcpServers":{"com-layercall-trust-api":{"type":"http","url":"https://www.layercall.com/api/mcp"}}}{"mcpServers":{"com-layercall-trust-api":{"serverUrl":"https://www.layercall.com/api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://www.layercall.com/api/mcp認証が必要ツール
7| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| ip | string | はい | IPv4 または IPv6 アドレス(例:8.8.8.8) |
| strictness | integer | いいえ | 0 は緩やか、1 は標準(デフォルト)、2 は厳格、3 は最も厳格です。判定のしきい値のみを変更し、スコアは変わりません。 |
詳細
LayerCall SDK
LayerCall の公式クライアントです。IP アドレス、 メールアドレス、電話番号、ドメイン、またはサインアップ全体の不正リスクを、1 回の呼び出しでスコアリングできます。
| インストール | ドキュメント | |
|---|---|---|
| Node / TypeScript | npm i layercall | node/README.md |
| Python | pip install layercall | python/README.md |
| CLI | npx layercall ip 8.8.8.8 | 以下を参照 |
どちらのクライアントも依存関係はゼロです。信頼性チェックはサインアップ パスに組み込まれますが、アプリケーション内で依存関係ツリーを導入するには最も不適切な場所です。
無料の API キーを取得 — 月 1,000 回まで照会でき、 カード登録は不要で、1 日あたりの上限もありません。
何もインストールせずに試す
export LAYERCALL_API_KEY=tl_live_...
npx layercall ip 8.8.8.8
npx layercall email [email protected]
npx layercall domain example.com
npx layercall user --ip 1.2.3.4 --email [email protected]
返される内容
すべてのエンドポイントは同じ形式を返します。0–100 の risk_score、
allow | review | block の判定、およびその根拠となるシグナルです。
{
"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
}
組み込む前に確認しておきたい 2 つのこと
拒否よりも追加認証を優先してください。 review の範囲は一般的な
商用 VPN の利用者から始まりますが、VPN ユーザーの大半は通常の顧客です。拒否するのではなく、OTP または 3-D Secure チャレンジを送信してください。正当なユーザーは数秒で通過できますが、攻撃者は通過できません。誤検知によって失うのは顧客ではなく、手続きの手間です。Stripe Radar と Sift はどちらもこの方針に行き着きました。
null は不明を意味し、「いいえ」ではありません。 TLD が RDAP を公開していない場合(.de、.ru、.ac.uk など)、newly_registered は null になります。また、メールプロバイダーが正確な応答を返さない場合、mailbox_exists は null になります。Gmail と Yahoo は存在しないアドレス宛てのメールも受け付けます。どちらかを否定的な判定として扱うのは、まさにこれらのフィールドが防ぐために設けられた誤りです。
エンドポイント
POST/GET /v1/score/ip | VPN、プロキシ、Tor、データセンター、地域、ASN |
/v1/verify/email | 構文、MX、使い捨てアドレス、ロールアカウント、ドメインの登録期間 |
/v1/lookup/phone | 世界各地の番号計画の検証、回線種別 |
/v1/score/domain | RDAP による登録期間、レジストラ、MX/SPF/DMARC、リスクの高い TLD |
/v1/score/device | デバイスフィンガープリントの評価 + ボットである確率 |
/v1/score/user | 上記すべてを重み付けして 1 つの判定に集約 |
/v1/verify/agent | Web Bot Auth(RFC 9421)— AI エージェントが申告どおりの存在であることを証明 |
/v1/batch | 1 種類につき最大 500 件の値 |
完全なリファレンス:layercall.com/docs · OpenAPI 3.1:layercall.com/openapi.json
費用をかけずにテストする
テストモードのキーは、この用途専用に予約された範囲から取得した、再現性のある合成データを返します。RFC 5737 のアドレス、example.com、架空の 555-01XX 番号ブロックなどが使われます。本番と同じ形式、同じフィールドなので、アサーションは実際のデータに対するものと同様に使えます。課金されることも、実際のデータソースにアクセスすることも、共有レピュテーションネットワークに書き込むこともありません。
各フィクスチャのドキュメントがあるため、「数値が返されたか」ではなく、正確な値を対象にアサーションできます:layercall.com/docs/test-mode
MCP — AI エージェントから呼び出す
LayerCall は Streamable HTTP 経由で Model Context Protocol を使用するため、Claude Code、Claude Desktop、ChatGPT、Cursor、VS Code、Windsurf、Zed から会話中に 不正チェックを実行できます。インストールは不要です。リモートサーバーなので、URL と API キーを追加するだけです:
{
"mcpServers": {
"layercall": {
"url": "https://www.layercall.com/api/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
公開されているツールは 7 つです:score_ip、verify_email、lookup_phone、
score_domain、score_device、verify_agent、score_user。
VS Code では、最上位のキーに
mcpServersではなくserversを使います。この 違いが、コピーした設定が何もせずに無効になる主な原因です。
クライアントごとのセットアップ:layercall.com/docs/mcp
フレームワークミドルウェア
通常ミドルウェアを導入する 2 か所に、そのまま追加できます。ミドルウェアは
req.trust を付与し、判断はお任せします:
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);
});
意図的に autoBlock: true は用意していません。不正対策ツールで、インストールを 1 行追加しただけでユーザーの拒否を開始するのは、望ましいデフォルトではありません。失敗が気づかれないまま実際の顧客に影響し、サポートチケットが届いて初めて発覚します。
デフォルトでは POST/PUT/PATCH のみをスコアリングします。グローバルな app.use() は favicon.ico を含むすべてのリクエストで検索を課金するためです。
node/src/express.ts と
node/src/next.ts(scoreRequest、withTrust)を参照してください。
ガイド
何かを探している人ではなく、問題対応の最中にいる人に向けて書かれています。どのガイドも、安易な方法で何がうまくいかないかで締めくくっています。LayerCall がまったく不要な部分も含まれます。
- 偽のサインアップを防ぐ方法
- サインアップ時に使い捨てメールアドレスをブロックする方法
- サインアップ時に VPN とプロキシのユーザーを検出する方法
- 無料トライアルの不正利用を防ぐ方法
- 実際の顧客を失わずに不正チェックを追加する方法
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。