mcpField
R
RocketCyber

RocketCyber

ローカル
github.comセキュリティ0今日更新

RocketCyber について

RocketCyber Managed SOCのデータを読み取り専用で利用するMCPサーバーです。インシデントや監視対象エンドポイントなどを確認するクライアント向けで、stdioとHTTP Streamableに対応しています。

主な機能

  1. 01RocketCyberデータ用の読み取り専用ツール10種
  2. 02アカウント、インシデント、Agentのリソース
  3. 03イベント、デバイス、状態の照会
  4. 04stdioとHTTP Streamableに対応
  5. 05接続確認ツール

活用シーン

  1. 01セキュリティインシデントとイベントの確認
  2. 02監視対象Agentとファイアウォールの確認
  3. 03DefenderとOffice 365の状態確認

MCP 対応

10個の読み取り専用MCPツールと3個のリソースでRocketCyber APIのデータを公開します。stdioとHTTP Streamableに対応しています。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"wyre-ai-rocketcyber": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ROCKETCYBER_API_KEY",
"-e",
"ROCKETCYBER_CUSTOMER_ID",
"-e",
"ROCKETCYBER_API_URL",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-ai/rocketcyber-mcp:v1.6.3"
],
"env": {
"ROCKETCYBER_API_KEY": "<ROCKETCYBER_API_KEY>",
"ROCKETCYBER_CUSTOMER_ID": "<ROCKETCYBER_CUSTOMER_ID>",
"ROCKETCYBER_API_URL": "<ROCKETCYBER_API_URL>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"AUTH_MODE": "<AUTH_MODE>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}
起動コマンドdocker run -i --rm -e ROCKETCYBER_API_KEY -e ROCKETCYBER_CUSTOMER_ID -e ROCKETCYBER_API_URL -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-ai/rocketcyber-mcp:v1.6.3
設定が必要な環境変数
ROCKETCYBER_API_KEYシークレットRocketCyber API key for authenticating to the Managed SOC API
ROCKETCYBER_CUSTOMER_IDRocketCyber customer (tenant) identifier
ROCKETCYBER_API_URLRocketCyber API base URL — override only if using a non-default region
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/rocketcyber-mcp:v1.6.3

ツール

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

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

詳細

rocketcyber-mcp

RocketCyber マネージド SOC プラットフォーム向けの MCP(Model Context Protocol)サーバーです。10 個のツールと 3 個のリソースを通じて、RocketCyber のセキュリティデータに読み取り専用でアクセスできます。

機能

  • RocketCyber API のすべてのリソースをカバーする 10 個の読み取り専用ツール。それぞれに readOnlyHint: true の注釈が付いているため、MCP クライアント(Microsoft 365 Copilot など)は呼び出しごとの確認プロンプトを省略できます
  • データにすばやくアクセスできる 3 個の MCP リソース
  • 2 種類のトランスポートに対応:stdio(デフォルト)と HTTP Streamable
  • 最初のツール呼び出し時に SDK を遅延初期化
  • すべての出力を stderr に送る Winston ロガー
  • 認証情報を検証する接続テストツール

ワンクリックデプロイ

重要

クリックする前に: このサーバーは @wyre-ai/node-rocketcyber に依存しており、 GitHub Packages npm レジストリでホストされています。GitHub Packages には匿名アクセスがなく、 パッケージが公開されていても、npm install のたびにトークンが必要です。クラウドビルダーは npm install を実行するため、トークンを渡す必要があります。渡さないと、ビルドは npm error 401 Unauthorized ... npm.pkg.github.com で失敗します。

  1. read:packages スコープを持つ GitHub Personal Access Token を作成します (クラシックトークン)。 どの GitHub アカウントでも利用でき、公開パッケージの読み取りに WYRE-AI 組織のメンバーである必要はありません。
  2. デプロイの手順で求められたら、ビルド変数として追加します:
    • Cloudflare Workers → NODE_AUTH_TOKEN という名前のビルド変数に PAT を設定します (Workers → Settings → Build → Variables and Secrets)。
    • DigitalOcean App Platform → Build Time スコープの暗号化環境変数 GITHUB_TOKEN に PAT を設定します(Dockerfile はインストール時にこれを読み込みます)。

DO にデプロイ

Cloudflare Workers にデプロイ

インストール

このプロジェクトは、GitHub Packages npm レジストリで公開されている @wyre-ai/node-rocketcyber に依存しています。このパッケージは公開されていますが、インストールにはトークンが必要です。 一度認証してから、インストールしてください:

# Authenticate npm to GitHub Packages (token needs the read:packages scope)
export NODE_AUTH_TOKEN=$(gh auth token)   # or a PAT with read:packages

npm install
npm run build

リポジトリの .npmrc は、すでに @wyre-ai スコープを GitHub Packages に向け、 トークンを NODE_AUTH_TOKEN から読み込むように設定されているため、追加の設定は不要です。

設定

.env.example をコピーし、以下の変数を設定します。

環境変数必須デフォルト説明
ROCKETCYBER_API_KEYstdio および AUTH_MODE=env で必須-RocketCyber API キー
ROCKETCYBER_REGIONいいえusAPI リージョン:us または eu
MCP_TRANSPORTいいえstdioトランスポートの種類:stdio または http
AUTH_MODEいいえenv(イメージと Compose では gateway に設定)gateway では、各 /mcp リクエストに X-RocketCyber-API-Key が必要で、ROCKETCYBER_* へのフォールバックは行いません。env では、S2S 認証に成功した後にのみこれらの変数を使用します。
CONDUIT_S2S_SECRETHTTP では必須-サービス間シークレット。この値が空、または既知のプレースホルダー(changeme、secret、replace-me、your-s2s-secret およびその他のサンプル値)の場合、HTTP サーバーはエラーを記録してゼロ以外の終了コードで終了します。openssl rand -hex 32 で生成してください。設定されていない場合、Compose は起動しません。この値がログに記録されることはありません。
MCP_ALLOW_INSECURE_DEVいいえ-CONDUIT_S2S_SECRET なしで HTTP を起動する場合に限り、ローカル開発用として 1 に設定します。プロセスは警告を記録し、X-Gateway-S2S を必須とせず、127.0.0.1 のみでバインドします。MCP_HTTP_HOST にループバック以外のアドレスを設定しても上書きされます。既知のプレースホルダーシークレットが設定されている場合は、引き続き起動を拒否します。
MCP_HTTP_PORTいいえ8080HTTP ポート(http トランスポート使用時)
MCP_HTTP_HOSTいいえ実際のシークレットが設定されている場合は 0.0.0.0CONDUIT_S2S_SECRET が設定されている場合のバインドアドレス。未設定の場合は 0.0.0.0 のままです。シークレットがない場合、開発用のバイパスではこの値を無視して 127.0.0.1 にバインドします。コンテナイメージでは 0.0.0.0 に設定されています。
LOG_LEVELいいえinfoログレベル:error、warn、info、debug
LOG_FORMATいいえsimpleログ形式:json または simple

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

HTTP 認証

MCP_TRANSPORT=http かつ実際の CONDUIT_S2S_SECRET が設定されている場合、すべての /mcp リクエストに X-Gateway-S2S を含める必要があります。チェックは src/mcp/s2s-verify.ts の verifyS2sHeader で行います。ヘッダー値は t=<unix seconds>,v1=<hex> の形式で、hex は CONDUIT_S2S_SECRET をキーとして、リテラル文字列 t=<unix seconds> に対して計算した HMAC-SHA256(小文字の 16 進数 64 文字)です。タイムスタンプはサーバー時刻との差が 300 秒以内でなければなりません。ヘッダーがない場合、または無効な場合は、ベンダーの認証情報を読み取る前に HTTP 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 "X-RocketCyber-API-Key: $ROCKETCYBER_API_KEY" \
  -H "X-RocketCyber-Region: us" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

AUTH_MODE=gateway では、/mcp に X-RocketCyber-API-Key も必要です(X-RocketCyber-Region は任意です)。このヘッダーのみがリクエストの認証情報ソースとなります。API キーがない場合、または空白の場合は HTTP 401 を返し、ROCKETCYBER_API_KEY へのフォールバックは行いません。AUTH_MODE=env でも署名済みの X-Gateway-S2S ヘッダーが必要で、その後、環境変数の ROCKETCYBER_API_KEY を使用します。

使い方

Claude Desktop(stdio)

Claude Desktop の設定(claude_desktop_config.json)に追加します。

{
  "mcpServers": {
    "rocketcyber": {
      "command": "node",
      "args": ["/path/to/rocketcyber-mcp/dist/entry.js"],
      "env": {
        "ROCKETCYBER_API_KEY": "your-api-key"
      }
    }
  }
}
HTTP トランスポート

CONDUIT_S2S_SECRET が実際のシークレット(既知のプレースホルダーではない値)になるまで、HTTP は起動しません。ポートはループバックで公開してください。

# Single-tenant HTTP. Uses ROCKETCYBER_API_KEY after X-Gateway-S2S verifies.
CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
  ROCKETCYBER_API_KEY=your-api-key \
  MCP_TRANSPORT=http \
  npm start

# Local HTTP only, without a service-to-service secret. Always binds 127.0.0.1.
MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm start
Docker

イメージはコンテナ内で 0.0.0.0(MCP_HTTP_HOST)をリッスンし、デフォルトで AUTH_MODE=gateway に設定されています。ポートはループバックで公開し、実際の S2S シークレットを渡してください。ゲートウェイモードでは、RocketCyber の認証情報は各リクエストのヘッダーで渡され、環境変数からは読み込まれません。

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

CONDUIT_S2S_SECRET が設定されていない場合、Compose は起動を拒否します。ゲートウェイサービスでは AUTH_MODE=gateway を設定し、ROCKETCYBER_API_KEY を注入せず、127.0.0.1:8080:8080 でポートを公開します。

CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" GITHUB_TOKEN="$GITHUB_TOKEN" docker compose up

シングルテナント HTTP(AUTH_MODE=env)でも S2S シークレットが必要で、その後 ROCKETCYBER_API_KEY を使用します。これは、上記のゲートウェイ Compose サービスとは別の構成です。

docker run \
  -e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
  -e AUTH_MODE=env \
  -e ROCKETCYBER_API_KEY=your-api-key \
  -e ROCKETCYBER_REGION=us \
  -p 127.0.0.1:8080:8080 \
  rocketcyber-mcp

ツール

以下のすべてのツールはデータの読み取りのみを行います(RocketCyber API への書き込みを行うツールはありません)。そのため、tools/list のレスポンスではそれぞれに annotations: { readOnlyHint: true } が設定されています。readOnlyHint を尊重する MCP クライアント(Microsoft 365 Copilot / Copilot Studio など)は、各ツール呼び出しの前に通常表示される確認プロンプトを省略するためにこれを使用します。

ツール説明readOnlyHint
rocketcyber_test_connectionRocketCyber API への接続をテストしますtrue
rocketcyber_get_accountアカウント情報を取得しますtrue
rocketcyber_list_agents監視対象のエージェント/エンドポイントを一覧表示しますtrue
rocketcyber_list_incidentsセキュリティインシデントを一覧表示しますtrue
rocketcyber_list_eventsセキュリティイベントを一覧表示しますtrue
rocketcyber_get_event_summaryイベントの概要/統計情報を取得しますtrue
rocketcyber_list_firewallsファイアウォールデバイスを一覧表示しますtrue
rocketcyber_list_apps管理対象アプリを一覧表示しますtrue
rocketcyber_get_defenderWindows Defender のステータスを取得しますtrue
rocketcyber_get_officeOffice 365 のステータスを取得しますtrue

リソース

URI説明
rocketcyber://accountアカウント情報
rocketcyber://incidentsセキュリティインシデント
rocketcyber://agents監視対象のエージェント/エンドポイント

開発

# Install dependencies
npm install

# Run in development mode
npm run dev

# Build
npm run build

# Start production server
npm start

ライセンス

Apache-2.0

コメント

MCP は初めてですか?

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

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