mcpField
A
Abnormal Security

Abnormal Security

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

Abnormal Security について

abnormal-mcpはMCPクライアントをAbnormal Securityに接続し、メール脅威の検出、調査、修復を行います。領域別のツールで脅威、メール分析、ケースを取得でき、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-ai-abnormal": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ABNORMAL_API_TOKEN",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-ai/abnormal-mcp:v1.2.7"
],
"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-ai/abnormal-mcp:v1.2.7
設定が必要な環境変数
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-ai/abnormal-mcp:v1.2.7

ツール

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

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

詳細

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 つのサーバーを複数のクライアントで再利用できます。