mcpField
A
Abnormal Security

Abnormal Security

ローカル
github.comセキュリティ02 週間前に更新

Abnormal Security について

Abnormal Securityは、メール脅威の検出、調査ケース、修復操作を扱うMCPサーバーです。ツールはドメイン別の決定木ナビゲーションで整理され、脅威の詳細はMCP Apps対応ホストで読み取り専用のインタラクティブカードとして表示できます。

主な機能

  1. 01脅威、メッセージ、修復、悪用、ケースの各領域を移動
  2. 02検出された脅威ケースの一覧と詳細確認
  3. 03メールヘッダー、リンク、添付ファイル、分析の確認
  4. 04メール修復の実行または状態確認
  5. 05読み取り専用カードで脅威の詳細を表示

活用シーン

  1. 01検出されたメール脅威の詳細確認
  2. 02不審なメール内容と分析の調査
  3. 03メール修復操作の管理
  4. 04進行中のセキュリティ調査ケースの追跡

MCP 対応

Abnormal Securityの脅威、メッセージ、修復、悪用、ケース操作をMCPツールとして提供します。脅威の詳細はインタラクティブな読み取り専用MCP Appsカードに表示でき、修復は別途、明示的にツールを呼び出します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"wyre-technology-abnormal": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ABNORMAL_API_TOKEN",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-technology/abnormal-mcp:v1.2.5"
],
"env": {
"ABNORMAL_API_TOKEN": "<ABNORMAL_API_TOKEN>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"AUTH_MODE": "<AUTH_MODE>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}
起動コマンドdocker run -i --rm -e ABNORMAL_API_TOKEN -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-technology/abnormal-mcp:v1.2.5
設定が必要な環境変数
ABNORMAL_API_TOKENシークレットAbnormal Security API token (Bearer credential)
MCP_TRANSPORTTransport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.
AUTH_MODEシークレットCredential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.
LOG_LEVELLog verbosity: debug, info, warn, error

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

パッケージ
ocighcr.io/wyre-technology/abnormal-mcp:v1.2.5

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

abnormal-mcp

Abnormal Security 用 MCP サーバー — AI を活用した脅威検出、ケース管理、メール修復。

ツール

このサーバーでは、決定木アーキテクチャを採用しています。まず abnormal_navigate を呼び出してドメインを選択し、その後、ドメイン固有のツールを使用してください。

ナビゲーション
ツール説明
abnormal_navigateドメイン(threats、messages、remediation、abuse、cases)に移動します
abnormal_backドメイン選択に戻ります
Threats ドメイン
ツール説明
abnormal_threats_list検出された脅威ケースの一覧を取得します(ページネーション対応)
abnormal_threats_getID を指定して、特定の脅威の詳細を取得します
Messages ドメイン
ツール説明
abnormal_messages_list脅威ケース内のメッセージ一覧を取得します
abnormal_messages_getメッセージの詳細な分析結果(ヘッダー、URL、添付ファイル、AI 分析)を取得します
Remediation ドメイン
ツール説明
abnormal_remediation_manageメッセージの修復アクションを実行、または状態を確認します
Abuse ドメイン
ツール説明
abnormal_abuse_listAbuse Mailbox を通じて報告されたフィッシングメールの一覧を取得します
Cases ドメイン
ツール説明
abnormal_cases_listアクティブなセキュリティ調査ケースの一覧を取得します
abnormal_cases_get特定のケースの詳細を取得します
インタラクティブな脅威カード(MCP Apps)
  • abnormal_threats_get は MCP Apps 対応ホスト(Claude Desktop/web)でインタラクティブな脅威カードとして表示されます。件名、送信者、攻撃の分類、修復状況、脅威に含まれるメッセージが表示されます。カードは読み取り専用です。修復は、意図的にモデルを介して実行するアクションのままです。他のホストでは、従来どおりプレーンな JSON が返されます。デフォルトではニュートラルなデザインで、window.__BRAND__ のインジェクションまたは MCP_BRAND_* 環境変数(MCP_BRAND_NAME、MCP_BRAND_LOGO_URL、MCP_BRAND_PRIMARY_COLOR、MCP_BRAND_ACCENT_COLOR、MCP_BRAND_BG、MCP_BRAND_TEXT)でブランド設定できます。再ビルドは不要です。

認証

Abnormal Security は Bearer トークン認証を使用します。.env.example をコピーし、以下の変数を設定してください。

変数必須説明
ABNORMAL_API_TOKENstdio および AUTH_MODE=env の場合Abnormal Security API トークンです。Abnormal ポータルの Settings > Integrations > API で生成してください。
MCP_TRANSPORTいいえstdio(デフォルト)または http
AUTH_MODEいいえenv(Docker 外でのデフォルト)または gateway。イメージと Compose サービスでは gateway が設定されます。Gateway モードでは、各 /mcp リクエストに Authorization: Bearer が必要で、ABNORMAL_API_TOKEN へのフォールバックは行われません。
CONDUIT_S2S_SECRETHTTP では必須サービス間シークレットです。openssl rand -hex 32 で生成してください。空の場合、または既知のプレースホルダー(changeme、placeholder、your-s2s-secret、replace-with-a-real-secret などの例示値)の場合、HTTP サーバーはエラーをログに記録してゼロ以外の終了コードで終了します。これが設定されていない場合、Compose は起動しません。実際の値をコミットしないでください。この値がログに記録されることはありません。
MCP_ALLOW_INSECURE_DEVいいえCONDUIT_S2S_SECRET なしで HTTP を起動する場合に限り、ローカル開発用として正確に 1 を設定してください。プロセスは警告をログに記録し、X-Gateway-S2S の検証を行わず、127.0.0.1 のみで待ち受けます。ループバック以外の MCP_HTTP_HOST(0.0.0.0 を含む)は無視され、その上書きがログに記録されます。既知のプレースホルダーシークレットは引き続き拒否されます。
MCP_HTTP_HOSTいいえMCP_TRANSPORT=http の場合のバインドアドレスです。未設定の場合は 127.0.0.1 がデフォルトです。シークレットが設定されている場合、この値が使用されます。コンテナイメージでは 0.0.0.0 が設定されています。シークレットがない場合、insecure-dev バイパスによって 127.0.0.1 が強制されます。
MCP_HTTP_PORTいいえHTTP ポートです。デフォルトは 8080 です。

/health は認証不要のままで、認証情報を読み取りません。stdio トランスポートでは CONDUIT_S2S_SECRET を使用しません。

X-Gateway-S2S 署名

MCP_TRANSPORT=http で実際の CONDUIT_S2S_SECRET を設定している場合、すべての /mcp リクエストに X-Gateway-S2S を含める必要があります。ヘッダーの値は t=<unix seconds>,v1=<hex> です。ここで、hex は CONDUIT_S2S_SECRET をキーとして、文字列 t=<unix seconds> をそのまま HMAC-SHA256 で署名した値(小文字の 16 進数 64 文字)です。タイムスタンプはサーバーの時刻から 300 秒以内でなければなりません。ヘッダーがない場合、または無効な場合は、Abnormal トークンが読み取られる前に 401 を返します。

TS=$(date +%s)
SIG=$(printf 't=%s' "$TS" | openssl dgst -sha256 -hmac "$CONDUIT_S2S_SECRET" -hex | awk '{print $NF}')
curl -sS http://127.0.0.1:8080/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H "X-Gateway-S2S: t=${TS},v1=${SIG}" \
  -H "Authorization: Bearer $ABNORMAL_API_TOKEN" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

AUTH_MODE=gateway では Authorization ヘッダーが必須であり、認証情報の唯一の取得元です。AUTH_MODE=env でも有効な X-Gateway-S2S ヘッダーが必要です。そのうえで、リクエストに Authorization が含まれていない場合は、環境変数の ABNORMAL_API_TOKEN を使用します。

スタンドアロン(env モード)
export ABNORMAL_API_TOKEN=your-api-token
node dist/index.js
ゲートウェイモード

MCP ゲートウェイの背後にデプロイする場合は、AUTH_MODE=gateway を設定します。ゲートウェイは各 /mcp リクエストに X-Gateway-S2S で署名し、Authorization: Bearer {token} を挿入します。この認証情報ヘッダーがないリクエストは 401 で拒否されます。

実行

stdio(Claude Desktop 用)
npm install
npm run build
node dist/index.js
HTTP Streamable(ホスト型/ゲートウェイへのデプロイ用)

CONDUIT_S2S_SECRET に実際のシークレットが設定されていない場合、HTTP は起動しません。

CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" MCP_TRANSPORT=http AUTH_MODE=gateway node dist/index.js

シークレットを設定しないローカル HTTP は開発専用です。127.0.0.1 のみでバインドし、警告をログに記録します。

MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm run start:http
Docker

コンテナ内でイメージは 0.0.0.0(MCP_HTTP_HOST)でリッスンし、デフォルトで AUTH_MODE=gateway を使用します。ポートをループバックで公開し、S2S シークレットを渡してください。ゲートウェイモードでは、API トークンは各リクエストの Authorization として渡されます。イメージは ABNORMAL_API_TOKEN を読み取りません。

docker build -t abnormal-mcp .
docker run \
  -e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
  -p 127.0.0.1:8080:8080 \
  abnormal-mcp

Compose は CONDUIT_S2S_SECRET が設定されていない場合、起動を拒否します。また、AUTH_MODE=gateway を設定し、ABNORMAL_API_TOKEN を挿入せず、127.0.0.1:8080:8080 を公開します。

CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" docker compose up

シングルテナント HTTP(AUTH_MODE=env)でも S2S シークレットが必要です。そのうえで ABNORMAL_API_TOKEN を使用します。

docker run \
  -e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
  -e AUTH_MODE=env \
  -e ABNORMAL_API_TOKEN=your-api-token \
  -p 127.0.0.1:8080:8080 \
  abnormal-mcp

開発

npm install
npm run dev          # watch mode
npm test             # run tests
npm run typecheck    # TypeScript type check
npm run build:ui     # rebuild the MCP Apps card bundle (only needed when ui/ changes)

ライセンス

Apache-2.0

コメント

MCP は初めてですか?

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

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