KnowBe4 について
KnowBe4 は、KnowBe4 でセキュリティ意識向上プログラムを管理するチームや AI アシスタント向けの MCP サーバーです。ユーザー、グループ、トレーニング、フィッシングシミュレーション、リスクスコア、レポートに対応し、MCP Apps ホストでは読み取り専用のユーザーカードを表示します。
主な機能
- 01ユーザーアカウントとグループの管理
- 02トレーニングキャンペーンの管理
- 03フィッシングシミュレーションの管理
- 04ユーザーリスクスコアの確認
- 05セキュリティ意識レポートへのアクセス
- 06インタラクティブなユーザーカード表示
活用シーン
- 01ユーザーのリスクスコアとプロフィールの確認
- 02フィッシングシミュレーションキャンペーンの管理
- 03トレーニングキャンペーンと意識向上レポートの確認
MCP 対応
KnowBe4 のアカウント、グループ、フィッシング、レポート、トレーニング、ユーザー管理機能を MCP ツールとして公開します。ユーザー情報の取得結果は MCP Apps ホストで読み取り専用のインタラクティブカードとして表示できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e KNOWBE4_API_KEY -e KNOWBE4_REGION -e KNOWBE4_BASE_URL -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-technology/knowbe4-mcp:v1.1.4KNOWBE4_API_KEYシークレットKnowBe4 Reporting API token (Bearer token from KnowBe4 console)KNOWBE4_REGIONKnowBe4 region: 'us', 'eu', 'ca', 'uk', or 'de' — selects API base URLKNOWBE4_BASE_URLOverride the KnowBe4 API base URL — auto-derived from region if omittedMCP_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/wyre-technology/knowbe4-mcp:v1.1.4stdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
KnowBe4 MCP サーバー
KnowBe4 のセキュリティ意識向上トレーニング向け Model Context Protocol(MCP)サーバーです。AI アシスタントからフィッシングシミュレーション、トレーニングキャンペーン、ユーザーのリスクスコアリング、セキュリティ意識向上レポートを管理できます。
これは、Claude(または MCP 互換の AI)を KnowBe4 環境に接続する Model Context Protocol (MCP) サーバーです。
MSP Claude Plugins エコシステムの一部です — MSP 向けに開発された、MSP スタック用 AI 統合機能の拡大を続けるスイートです。
インストール
npm install @wyre-ai/knowbe4-mcp
設定
.env.example をコピーします。Stdio と AUTH_MODE=env では KnowBe4 の変数を読み込みます。Gateway モードでは読み込みません。
| 変数 | 必須 | 説明 |
|---|---|---|
KNOWBE4_API_KEY | Stdio および AUTH_MODE=env の場合 | KnowBe4 API キー |
KNOWBE4_REGION | いいえ | API リージョン:us(デフォルト)、eu、ca、uk、de |
KNOWBE4_BASE_URL | いいえ | カスタムベース URL(リージョンを上書きします) |
MCP_TRANSPORT | いいえ | stdio(デフォルト)または http |
AUTH_MODE | いいえ | env(イメージ外でのデフォルト)または gateway。コンテナイメージと Compose のデフォルトは gateway です。Gateway モードでは各 /mcp リクエストに X-KnowBe4-API-Key が必要です(X-KnowBe4-Region は任意)。KNOWBE4_* へのフォールバックは行いません。 |
CONDUIT_S2S_SECRET | HTTP では必須 | サービス間シークレット。この値が空、または既知のプレースホルダーの場合、HTTP サーバーはエラーをログに記録してゼロ以外の終了コードで終了します。これが設定されていない場合、Compose は起動しません。実際の値をコミットしないでください。openssl rand -hex 32 で生成できます。 |
MCP_ALLOW_INSECURE_DEV | いいえ | CONDUIT_S2S_SECRET なしで HTTP を起動する場合に限り、ローカル開発用に 1 を設定します。プロセスは警告をログに記録し、X-Gateway-S2S を強制せず、127.0.0.1 のみをバインドします。ループバック以外の MCP_HTTP_HOST が指定されていると、起動を拒否します。既知のプレースホルダーシークレットも引き続き拒否されます。 |
MCP_HTTP_HOST | いいえ | 実際の CONDUIT_S2S_SECRET が設定されている場合のバインドアドレスです。未設定の場合は 0.0.0.0 となります。これはコンテナイメージで設定されている値で、コンテナデプロイではコンテナ内のすべてのインターフェースで待ち受けます。シークレットがない場合、開発用のバイパスでは代わりに 127.0.0.1 をバインドします。 |
MCP_HTTP_PORT | いいえ | HTTP ポートです。デフォルトは 8080 です。 |
/health と /healthz は認証なしで利用でき、認証情報を読み込みません。stdio トランスポートでは CONDUIT_S2S_SECRET を使用しません。
HTTP 認証
MCP_TRANSPORT=http で CONDUIT_S2S_SECRET が設定されている場合、すべての /mcp リクエストに X-Gateway-S2S を含める必要があります。値は t=<unix seconds>,v1=<hex> です。ここで v1 は、CONDUIT_S2S_SECRET をキーとして、文字列 t=<unix seconds> そのものに対して計算した HMAC-SHA256 です(小文字の 16 進数 64 文字)。タイムスタンプはサーバーの時刻から 300 秒以内でなければなりません。ヘッダーがない、または無効な場合は 401 を返します。シークレットがログに記録されることはありません。
import { createHmac } from "node:crypto";
const t = Math.floor(Date.now() / 1000);
const v1 = createHmac("sha256", process.env.CONDUIT_S2S_SECRET)
.update(`t=${t}`)
.digest("hex");
const xGatewayS2s = `t=${t},v1=${v1}`;
AUTH_MODE=gateway では、/mcp に X-KnowBe4-API-Key も必要です(X-KnowBe4-Region は任意)。このヘッダーのみがリクエストの認証情報として使用されます。ヘッダーがないリクエストは 401 を返し、環境変数の KNOWBE4_API_KEY は読み込みません。
使い方
Claude Desktop で実行する
Claude Desktop の claude_desktop_config.json に追加します。
{
"mcpServers": {
"knowbe4-mcp": {
"command": "npx",
"args": ["@wyre-ai/knowbe4-mcp"],
"env": {
"KNOWBE4_API_KEY": "your-knowbe4-api-key"
}
}
}
}
Claude Code(CLI)で実行する
claude mcp add knowbe4-mcp \
-e KNOWBE4_API_KEY=your-value \
-- npx -y @wyre-ai/knowbe4-mcp
Docker
イメージはコンテナ内で 0.0.0.0(MCP_HTTP_HOST)をリッスンし、デフォルトで AUTH_MODE=gateway に設定されます。ポートをループバックに公開し、実際の S2S シークレットを渡してください。ゲートウェイモードでは、KnowBe4 API キーは各リクエストで X-KnowBe4-API-Key として渡され、環境変数からは読み込まれません。
docker build -t knowbe4-mcp .
docker run \
-e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
-p 127.0.0.1:8080:8080 \
knowbe4-mcp
Compose は CONDUIT_S2S_SECRET が未設定の場合に起動を拒否し、AUTH_MODE=gateway を設定します。また、KNOWBE4_API_KEY や env_file は設定せず、127.0.0.1:8080:8080 を公開します。
CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" docker compose up
シングルテナント HTTP(AUTH_MODE=env)でも S2S シークレットが必要です。その後、KNOWBE4_API_KEY が使用されます。
docker run \
-e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
-e AUTH_MODE=env \
-e KNOWBE4_API_KEY=your-value \
-e KNOWBE4_REGION=us \
-p 127.0.0.1:8080:8080 \
knowbe4-mcp
シークレットなしのローカル HTTP は、開発専用です。127.0.0.1 にバインドされ、警告がログに記録されます。MCP_HTTP_HOST にループバック以外のアドレスを設定すると、起動は終了します。
MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm start
利用可能なドメイン
アカウント
アカウント情報と設定
グループ
ユーザーグループの管理
フィッシング
フィッシングシミュレーションキャンペーン
レポート
セキュリティ意識向上レポート
トレーニング
トレーニングキャンペーンの管理
ユーザー
ユーザー管理とリスクスコアリング
インタラクティブなユーザーカード(MCP Apps)
knowbe4_users_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)でブランド設定できます。再ビルドは不要です。
開発
# Clone the repository
git clone https://github.com/WYRE-AI/knowbe4-mcp.git
cd knowbe4-mcp
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
コントリビューション
コントリビューションを歓迎します。存在する場合は CONTRIBUTING.md をご覧ください。または、変更について議論するために issue を作成してください。
ライセンス
Apache License, Version 2.0 のもとでライセンスされています。詳細は LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。