mcpField
K
Kaidn

Kaidn

ローカル
kaidn.ioセキュリティ08 週間前に更新

Kaidn について

Kaidn は、Kaidn API を通じて不正スコアやイベントを調査する MCP サーバーです。判定の根拠となる生データ、エンティティ情報、レビューキューを提供し、デフォルトは読み取り専用で、クォータ制限も備えています。

主な機能

  1. 01生データに基づく判定理由の説明
  2. 02スコア付きイベントの検索と絞り込み
  3. 03スコア順のレビューキュー整理
  4. 04メール、IP、デバイスの調査
  5. 05任意でのリスト更新と結果ラベル付け

活用シーン

  1. 01イベントがブロックされた理由の説明
  2. 02審査待ちの不正イベントの確認
  3. 03IP やデバイスから関連活動を追跡
  4. 04メール、IP、電話番号のリスク確認

MCP 対応

stdio または Streamable HTTP で、Kaidn の不正スコア API ツールを MCP クライアントに提供します。変更系ツールは明示的な有効化が必要で、クォータ上限が API 利用を制限します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"io-kaidn-kaidn": {
"command": "npx",
"args": [
"-y",
"@kaidn/mcp"
],
"env": {
"KAIDN_API_KEY": "<KAIDN_API_KEY>",
"KAIDN_API_URL": "<KAIDN_API_URL>",
"KAIDN_MCP_ALLOW_WRITES": "<KAIDN_MCP_ALLOW_WRITES>",
"KAIDN_MCP_MAX_QUOTA_CALLS": "<KAIDN_MCP_MAX_QUOTA_CALLS>"
}
}
}
}
起動コマンドnpx -y @kaidn/mcp
設定が必要な環境変数
KAIDN_API_KEYシークレットYour secret Kaidn API key, from https://kaidn.io
KAIDN_API_URLOverride the Kaidn API base URL
KAIDN_MCP_ALLOW_WRITESSet to 1 to register the mutating tools (add_to_list, label_outcome)
KAIDN_MCP_MAX_QUOTA_CALLSCeiling on quota-consuming calls per process

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@kaidn/mcp0.4.0

ツール

10

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
emailstringはい確認するメールアドレス

詳細

Kaidn

npm version MCP registry license MIT docs

Kaidn MCP

Kaidn の不正検知スコアリング API 用 Model Context Protocol サーバーです。

平易な英語で不正を調査できます — 「この登録がブロックされた理由は?」、「このデバイスはほかに何にアクセスした?」、「今朝のレビューキューには何が入っている?」

  • スコアだけでなく、根拠も示します。 すべての理由に、その根拠となる生の数値が含まれているため、モデルは判定を推測するのではなく、説明できます。
  • デフォルトでは読み取り専用です。 オプトインしない限り、テナントのデータは変更されません。
  • クォータで保護されています。 エージェントがループしても、10 分で 1 か月分の利用枠を使い切ることはありません。
  • どのクライアントでも利用できます。 MCP はオープンプロトコルです。ローカルでは stdio、リモートやホスト型エージェントでは Streamable HTTP を使用できます。
要件

Node.js 18 以降、およびKaidn ダッシュボードの API キーが必要です。


はじめに

まず、使用するクライアントで Kaidn MCP サーバーをインストールします。標準設定は、ほとんどのツールで利用できます。

{
  "mcpServers": {
    "kaidn": {
      "command": "npx",
      "args": ["@kaidn/mcp@latest"],
      "env": { "KAIDN_API_KEY": "your_key" }
    }
  }
}
Claude Code
claude mcp add kaidn --env KAIDN_API_KEY=your_key -- npx @kaidn/mcp@latest
Claude Desktop

標準設定を claude_desktop_config.json に追加し、Claude を再起動します。 Settings → Developer → Edit Config からファイルを開けます。

Cursor

Settings → MCP → Add new MCP Server を選択するか、標準設定をプロジェクトの .cursor/mcp.json(すべてのプロジェクトで使用する場合は ~/.cursor/mcp.json)に追加します。

VS Code
code --add-mcp '{"name":"kaidn","command":"npx","args":["@kaidn/mcp@latest"],"env":{"KAIDN_API_KEY":"your_key"}}'
Windsurf

標準設定を ~/.codeium/windsurf/mcp_config.json に追加します。

Cline

MCP Servers アイコン → Configure MCP Servers から、cline_mcp_settings.json に標準設定を追加します。

Zed

settings.json の context_servers に、標準設定と同じ command、args、env を使って追加します。

その他

どの MCP クライアントでも、command、args、env ブロックを指定します。上記の標準設定を使用してください。プロセスを起動するのではなく、ネットワーク経由でしかサーバーに接続できないクライアントの場合は、Streamable HTTP をご覧ください。


Configuration

オプション環境変数デフォルト用途
KAIDN_API_KEY必須シークレットキーです。環境変数でのみ指定できます。フラグやツールの引数では指定できません。
KAIDN_API_URLhttps://api.kaidn.ioAPI のベース URL
--allow-writesKAIDN_MCP_ALLOW_WRITES=1オフ変更を加えるツールを登録します
KAIDN_MCP_MAX_QUOTA_CALLS100プロセスごとのクォータ上限
--httpKAIDN_MCP_TRANSPORT=httpstdioStreamable HTTP で提供します
--host <addr>KAIDN_MCP_HOST127.0.0.1HTTP のバインドアドレス
--port <n>KAIDN_MCP_PORT8765HTTP ポート
KAIDN_MCP_HTTP_TOKEN未設定HTTP で Authorization: Bearer を必須にします
--help使い方を表示します
--versionバージョンを表示します

優先順位: CLI フラグは環境変数より優先されます。

API キーを環境変数でのみ指定するのは意図的です。フラグで渡したキーは、プロセス一覧やシェルの履歴に漏洩します。


トランスポート

トランスポート用途エンドポイント
stdio (デフォルト)サブプロセスを起動するローカルクライアント—
Streamable HTTPリモートエージェント、コンテナ、マシン外のあらゆるものPOST /mcp

HTTP+SSE は意図的に含めていません。2025-03-26 仕様で非推奨となり、2026 年 6 月に終了するためです。

Streamable HTTP
npx @kaidn/mcp@latest --http --port 8765

ステートレスです。リクエストごとに新しいサーバーが起動し、呼び出し元どうしで共有されるものはありません。そのため、予期しない問題なくロードバランサーの背後に配置できます。GET /health は認証不要なので、オーケストレーターはトークンを保持せずに稼働状況を確認できます。


Docker

docker build -t kaidn-mcp .
# stdio — behaves like the npx invocation
docker run -i --rm -e KAIDN_API_KEY=your_key kaidn-mcp

# HTTP — for remote agents
docker run --rm -p 8765:8765 \
  -e KAIDN_API_KEY=your_key \
  -e KAIDN_MCP_TRANSPORT=http \
  -e KAIDN_MCP_HOST=0.0.0.0 \
  -e KAIDN_MCP_HTTP_TOKEN=your_token \
  kaidn-mcp

マルチステージビルドを使用し、権限のない node ユーザーとして実行し、ヘルスチェックを備えています。


セキュリティ

サーバーは API キーを保持します。 サーバーに接続できる人は誰でもクォータを消費できるため、デフォルト設定は慎重にしてあり、ガードは警告を出すのではなく、フェイルクローズで動作します。

  • 127.0.0.1 にバインドし、より広いインターフェースでの起動を拒否します。 ただし、KAIDN_MCP_HTTP_TOKEN が設定されている場合を除きます。アカウントを気付かれないまま公開するのではなく、理由を説明して停止します。
  • デフォルトでは読み取り専用です。 add_to_list と label_outcome は --allow-writes を指定した場合にのみ利用できます。
  • set_config と forget_subject は、どのモードでも公開されません。 前者は今後のすべてのイベントの判定をひそかに変更し、後者は取り消し不能な GDPR に基づく消去です。どちらも人間が確認できるダッシュボードで行うべき操作です。
  • プロセスごとにクォータ上限があります。 残りの予算は、コストが発生するレスポンスごとに報告されます。上限を超える予約は一部だけ消費するのではなく、完全に拒否されます。
  • キーがツールの境界を越えることはありません。 パラメーター、出力、エラーのいずれにも含まれません。

ツール

すべてのツールの動作を決める要素は 2 つです。クォータを消費するか、そして何かを変更するかです。

読み取り専用 — デフォルトで利用可能
ツールコスト動作
get_stats無料ローリングウィンドウにおける判定、スコア、理由の集計です。まずはこちらから。
list_events無料スコア付きイベントを新しい順に表示します。判定または種類で絞り込み、フィンガープリントまたはユーザー ID で検索できます
explain_event無料1 件のイベントで実行されたすべてのチェックと、生の証拠を表示します
triage_queue無料review のすべての項目をスコアの高い順に表示します
get_config無料このテナントの有効な重みとしきい値を表示します
investigate_entity1 行¹1 つのエンティティについて、エンリッチメント、ネットワークレピュテーション、関連イベントを表示します
check_email1 行使い捨てドメイン、配信可能性、不正利用スコア、悪用履歴を確認します
check_ip1 行プロキシ、VPN、Tor、データセンターの ASN、位置情報、悪用履歴を確認します
check_phone1 行有効性、回線種別、通信事業者、不正利用スコアを確認します
score_event1 行新しいイベントをスコアリングします(イベントも記録します)

¹ エンティティが device_id の場合は無料です。エンリッチメントのコストが発生するのはメールアドレスまたは IP の場合のみです。

変更を加えるツール — --allow-writes が必要
ツール動作
add_to_listエンティティを許可リストまたはブロックリストに追加します
label_outcome不正利用/チャージバック/正当な利用の確定結果を報告します

使用例

ツールは連鎖して使えるように設計されています。以下は、そのために構築されたワークフローです。

朝のトリアージ

あなた: 夜の間に何が起きて、何に対応する必要がありますか?

モデルはget_statsを呼び出して過去24時間の状況を把握し、次にtriage_queueでreviewにあるイベントを確認し、さらに最も問題のあるイベントについてexplain_eventを呼び出します。読み込む必要のあるダッシュボードではなく、根拠付きの優先順位リストが得られます。

「この顧客がブロックされたのはなぜですか?」

あなた: イベントevt_8f21cです。顧客から、誤ってブロックされたと連絡がありました。

explain_eventは、検出されたすべてのチェックとその生の証拠を返します。一致したデータセンターのASN、同じデバイスを共有するアカウント数、速度のカウントなどです。顧客への回答や、ルールが誤っていて調整が必要だと判断するのに十分な情報が得られます。

1つのシグナルから調査を広げる

あなた: 194.x.x.xは単発の事象ですか、それとも組織的な動きの一部ですか?

investigate_entityは、そのIPのエンリッチメント情報とネットワーク評価に加えて、そのIPが含まれる最近のすべてのイベントを返します。同じデバイスIDが繰り返し出現しているなら、偶然ではなく組織的な動きです。

ルールを変更する前に確認する

あなた: 速度の重みを下げた場合、何がブロックされなくなりますか?

get_configで現在の重みを確認し、verdict: "block"を指定したlist_eventsで、現在検出されているものを表示します。モデルは、重みを下げようとしているチェックに依存する項目を特定できます。


エラー処理

失敗は例外ではなく、読みやすいメッセージを含むツールエラーとして返されるため、モデルはそれに対処できます。

表示される内容意味対処方法
KAIDN_API_KEY is not setキーなしでサーバーが起動しましたクライアントのenvブロックに設定します
Kaidn error: 401 …キーが拒否されましたダッシュボードでキーを再発行するか、コピーし直します
Kaidn error: 429 …レート制限に達しました呼び出しを減らします。キーごとの制限は1分単位です
Session quota ceiling reached (100/100 …)ガード機能がコストの高い実行を停止しましたKAIDN_MCP_MAX_QUOTA_CALLSを慎重に引き上げるか、再起動します
No event <id> in the most recent 200 eventsイベントがスキャン対象期間より古いですoffsetを使ってlist_eventsで前のページに戻ります
Supply exactly one of email, ip or device_id調査対象が曖昧です一度に1つのエンティティについて問い合わせます
Refusing to bind <host> without authentication認証なしでループバック以外のHTTPにバインドしようとしていますKAIDN_MCP_HTTP_TOKENを設定するか、127.0.0.1にバインドします

エラーにAPIキーが含まれることはありません。


トラブルシューティング

クライアントにツールが表示されません。 クライアントのMCPログで起動時の行を確認してください。標準エラー出力にkaidn-mcp: ready (stdio, …)と表示されていれば、サーバーは起動しており、問題はクライアント側にあります。何も表示されない場合は、通常、npxでパッケージを解決できなかったか、Nodeのバージョンが18未満です。

起動後、すぐに終了します。 ほとんどの場合、KAIDN_API_KEYが設定されていません。標準エラー出力にメッセージが表示されますが、標準エラー出力を隠すクライアントもあるため、ターミナルで実行して確認してください。

add_to_listとlabel_outcomeが見つかりません。 設計どおりの動作です。これらのツールには--allow-writesが必要です。

set_configとforget_subjectが見つかりません。 こちらも設計どおりの動作で、どのモードでも利用できません。SECURITY.mdを参照してください。

HTTPモードを起動できません。 ベアラートークンを設定せずに、ループバック以外にバインドしています。プロセスがAPIキーを保持しているため、ガード機能が動作しています。

すべての処理が遅いです。 エンリッチメントチェックでは、ライブの上流サービスへの呼び出しが行われます。get_stats、list_events、explain_event、triage_queueは無料で高速です。履歴を確認する場合は、これらを優先してください。

クライアントとは別にサーバーを確認する:

node dist/index.js --help                 # no key required
KAIDN_API_KEY=your_key npm start          # should print a ready line

サポート


ソースから実行する

git clone https://github.com/Kaidn-io/kaidn-mcp.git
cd kaidn-mcp
npm install
npm run build
npm test
claude mcp add kaidn --env KAIDN_API_KEY=your_key -- node /absolute/path/to/kaidn-mcp/dist/index.js

クライアントを使わずに起動を確認するには:

KAIDN_API_KEY=your_key npm start

標準エラー出力に kaidn-mcp: ready (stdio, read-only, quota ceiling 100) と表示され、 その後は標準入力を待ちます。これが MCP トランスポートなので、何も表示されないのは正常です。


エビデンスが重要な理由

Kaidn のエンジンはルール優先で、説明可能です。それぞれの理由には、その根拠となる未加工の数値が含まれています。単なるスコアではモデルが推論する材料になりませんが、エビデンスが付いた checks[] があれば、説明する材料になります。これが、explain_event が役立つものになるか、単なる飾りになるかの違いです。

ルールが判断し、モデルが語ります。


プロジェクト

  • CONTRIBUTING.md — ここに含める内容と、変更によって損なってはならない保証
  • SECURITY.md — 報告方法、脅威モデル、既知の制限事項
  • PRIVACY.md — 通過するデータ、保存されるデータ、保存されないデータ
  • CODE_OF_CONDUCT.md

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。