mcpField
A
alertlogic-mcp

alertlogic-mcp

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

alertlogic-mcp について

alertlogic-mcp は Alert Logic MDR API を構造化ツールとして提供し、セキュリティ運用チームやインシデント対応担当者を支援します。インシデント調査、SQL ログ検索、SOAR、資産、脆弱性、複数アカウント運用を扱い、読み取り専用と破壊的操作を制御できます。

主な機能

  1. 01セキュリティインシデントの調査と更新
  2. 02SQL によるログ検索
  3. 03SOAR プレイブックの実行と監視
  4. 04資産トポロジーと脆弱性の照会
  5. 05ユーザー、認証情報、アクセス権の管理
  6. 06複数アカウントの MSSP 操作

活用シーン

  1. 01インシデントを取得して生ログの証拠を確認
  2. 02脅威ハンティング向けに SQL でログ検索
  3. 03対応プレイブックを実行して進捗を追跡
  4. 04管理対象アカウント間でインシデントやデプロイを確認

MCP 対応

Alert Logic MDR API の機能を構造化ツールとして MCP クライアントに公開し、stdio、streamable-HTTP、SSE の各トランスポートに対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"rijul170-alertlogic": {
"command": "uvx",
"args": [
"alertlogic-mcp"
]
}
}
}
起動コマンドuvx alertlogic-mcp

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

パッケージ
pypialertlogic-mcp0.1.0

ツール

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

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

詳細

Alert Logic MCP サーバー

Alert Logic MDR プラットフォームの全機能を AI アシスタントで利用できます。

Tests PyPI MCP Registry

Model Context Protocol サーバーです。Alert Logic API の全機能を構造化されたツールとして公開し、MCP 対応クライアント(Claude Desktop、Claude Code、Cursor など)から直接呼び出せます。これにより、MSSP 規模の AI を活用したセキュリティ運用、インシデント対応、脅威ハンティングが可能になります。

Python MCP Protocol Tools License GitHub Stars

インシデント対応担当者向け: Alert Logic MDR のインシデントを検索し、生ログの証拠を詳しく調査し、SOAR プレイブックを実行して、SQL でログを検索できます。すべて Claude を通じて操作でき、MSSP 規模のマルチアカウント運用向けに設計されています。


目次


概要

この MCP サーバーは Alert Logic MDR プラットフォーム API をラップし、MCP 対応の AI クライアントから直接呼び出せる 473 以上の構造化ツールとして公開します。インシデント対応、SQL ベースのログ検索、SOAR プレイブックの自動化、アセット管理、脆弱性分析、ユーザーおよび認証情報の管理、請求など、Alert Logic API の全機能を網羅し、46 のドメインモジュールに整理しています。認証、リトライ、ページネーション、トークン管理、JSON の整形はサーバー側で処理されます。AI クライアントはツール名を指定して呼び出すだけです。


機能

  • インシデント対応 — インシデントの一覧表示、取得、詳細情報の取得(未加工のログ証拠)、完了、再開、メモの追加、フィードバックの追加ができます。フレンドリー ID による検索にも対応しています。
  • SQL ログ検索 — Alert Logic のログ検索クエリを SQL で送信し、ステータスをポーリングし、結果を取得して、セッションを解放できます。
  • SOAR プレイブック自動化 — SOAR プレイブックの一覧表示、取得、実行、監視ができます。問い合わせ、トリガー、実行状態も管理できます。
  • アセットトポロジー — アセットの全インベントリを照会し、アセットを宣言および削除し、プロパティを設定して、任意のデプロイメントのトポロジーグラフを取得できます。
  • 脆弱性管理 — 深刻度別にエクスポージャーを一覧表示し、アセットごとの脆弱性を取得し、脆弱性ナレッジベースを検索して、修復項目を管理できます。
  • ユーザーとアクセスキーの管理 — アカウント全体のユーザー、ロール、アクセスキー、MFA 設定、パスワードリセットを完全な CRUD で管理できます。
  • マルチアカウント MSSP サポート — ツールごとの account_id 上書きと、アカウントをまたいだ一括操作(一括デプロイメント、一括ヘルスチェック、パートナーインシデント)に対応しています。
  • 組み込み SOC プレイブック — 事前作成済みの IR ガイド、脅威ハントのワークフロー、MITRE ATT&CK のマッピング、ツールのリファレンスガイドをコンテキスト内で直接表示する 6 つのツールを備えています。
  • チケットとウォッチリスト — チケットの作成、更新、クローズと、アラート用ウォッチリストの管理ができます。
  • クラウドと Azure のエクスプローラー — AWS および Azure 環境全体のクラウドリソーストポロジーを参照できます。
  • 分析エンジン — 複数の AE サブシステムにわたる AE コンテンツ、ルール、分析、タグ、チューニング、公開にアクセスできます。
  • インフラストラクチャ運用 — 環境、スキャンスケジュール、スキャン結果、ネットワーク制御、取り込みソース、ログ連携を管理できます。

アーキテクチャ

+--------------------+      stdio / streamable-HTTP (MCP)     +--------------------------------+
|   MCP Client       | <-------------------------------------> |   AlertLogic MCP Server        |
| (Claude Desktop,   |                                        |   (this repo, main.py)         |
|  Claude Code, …)   |                                        |                                |
+--------------------+                                        |  46 modules (~473 tools):      |
                                                              |  incidents, soc, soar,         |
                                                              |  assets, vuln, users, …        |
                                                              |         |                      |
                                                              |   base.py (HTTP, AIMS auth,    |
                                                              |   token cache, retries)        |
                                                              +----------+---------------------+
                                                                         |
                                                                         v  HTTPS + AIMS Bearer token
                                                              +-----------------------------+
                                                              |   AlertLogic MDR Platform   |
                                                              |   api.cloudinsight....com   |
                                                              +-----------------------------+

トランスポート:サーバーは、MCP_TRANSPORT で選択できる 3 種類の MCP トランスポートに対応しています。

  • stdio(デフォルト)— MCP クライアントによって必要に応じて起動されます。ネットワークポートは開きません。
  • streamable-http — 永続的な HTTP サーバーです。Claude Code やリモートクライアントに適しています。
  • sse — SSE 対応クライアント向けの Server-Sent Events トランスポートです。

認証:Alert Logic は AIMS Bearer トークン認証を使用します。サーバーは初回使用時に access_key_id:secret_key 形式の API キーを短期間有効な Bearer トークンに交換してキャッシュし、トークンの有効期限が切れると自動的に再認証します。手動でのトークンローテーションは不要です。

base.py は、HTTP メソッドヘルパー(_get、_post、_put、_delete)、サービスごとの URL ルーティング(Account-Topology サービス、グローバルサービス、_at プレフィックス付きルート)、エラー変換、AIMS トークンキャッシュを一元管理します。


前提条件

  • Python 3.10 以降
  • uv(推奨)または pip
  • API アクセスが有効な Alert Logic アカウント
  • Alert Logic API キー(アクセスキー ID とシークレットキー。「設定」を参照)

インストール

# 1. Clone the repository
git clone https://github.com/rijul170/alertlogic-mcp.git
cd alertlogic-mcp

# 2. Create a virtual environment and install dependencies
python -m venv .venv
source .venv/bin/activate          # Windows: .venv\Scripts\activate
pip install -r requirements.txt

# Or with uv (faster):
uv venv
uv pip install -r requirements.txt

# 3. Configure credentials
cp .env.example .env
$EDITOR .env                        # fill in the required variables (see below)

設定

設定はすべて環境変数で行い、起動時に .env から読み込まれます。

必須の変数
変数説明
ALERTLOGIC_API_KEYaccess_key_id:secret_key 形式の API キー(作成方法は以下を参照)
ALERTLOGIC_BASE_URLAPI ベース URL — https://api.cloudinsight.alertlogic.com(米国)または https://api.cloudinsight.alertlogic.co.uk(英国)
ALERTLOGIC_ACCOUNT_IDAlert Logic アカウント ID(コンソール URL とアカウント設定で確認できます)
任意の変数
変数デフォルト説明
MCP_TRANSPORTstdioトランスポート:stdio、sse、または streamable-http
MCP_HOST127.0.0.1バインドするホスト(HTTP トランスポートのみ)
MCP_PORT8000バインドするポート(HTTP トランスポートのみ)
ALERTLOGIC_MCP_READONLY(off)true に設定すると、読み取りツールのみが登録されます。書き込みツールと破壊的なツールは AI クライアントに公開されません
ALERTLOGIC_MCP_ALLOW_DESTRUCTIVE(off)破壊的なツール(削除、SOAR プレイブックの実行、スキャンの開始など)は、デフォルトで無効になっています。true に設定するとすべて有効になり、ツール名をカンマ区切りで指定すると選択して有効にできます
任意のサービス URL の上書き

デフォルトでは Alert Logic の標準エンドポイントが使用されます。カスタムデプロイメントを使用する場合にのみ上書きしてください。

ALERTLOGIC_GLOBAL_BASE_URL=https://api.global-services.global.alertlogic.com
ALERTLOGIC_AETUNER_BASE_URL=https://aetuner.mdr.global.alertlogic.com
ALERTLOGIC_CONNECTORS_BASE_URL=https://connectors.mdr.global.alertlogic.com
ALERTLOGIC_RESPONDER_BASE_URL=https://api.responder.alertlogic.com
API キーの作成
  1. Alert Logic コンソールにサインインします。
  2. Manage → Users に移動し、自分のユーザーを選択してから、Access Keys → Create を開きます。
  3. Access Key ID と Secret Key をコピーします。
  4. access_key_id:secret_key(コロンを含む)の形式で結合し、ALERTLOGIC_API_KEY に設定します。

Claude Code との統合(HTTP モード)

HTTP モードでサーバーを起動します。

MCP_TRANSPORT=streamable-http python main.py

次に、Claude Code のプロジェクトまたはユーザーの MCP 設定(.claude/settings.json または ~/.claude/settings.json)に登録します。

{
  "mcpServers": {
    "alertlogic-mcp": {
      "type": "http",
      "url": "http://localhost:8000/mcp"
    }
  }
}

または、CLI から登録します。

claude mcp add --transport http alertlogic-mcp http://localhost:8000/mcp

Claude Desktop との統合(stdio モード)

claude_desktop_config.json を編集します。

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%AppData%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "alertlogic-mcp": {
      "command": "/absolute/path/to/.venv/bin/python",
      "args": ["/absolute/path/to/alertlogic-mcp/main.py"]
    }
  }
}

絶対パスを使用してください。Claude Desktop ではチルダ(~)は展開されません。command にはシステムの Python ではなく、venv の Python を指定してください。

Claude Desktop を再起動します。ツールピッカーに Alert Logic のツールが表示されます。


モジュールの概要

46 個のモジュール、約 473 個のツールがドメイン別に整理されています。

インシデント対応
モジュールツール主な操作
incidents_mcp11一覧表示、取得、フレンドリー ID による検索、完了、再開、メモの追加、フィードバックの追加、パートナーインシデントの一覧表示
soc14SQL ログ検索の送信・ポーリング・解放、エクスポージャーの一覧表示、ヘルスサマリーの取得
soc_playbooks6組み込みの IR ガイド、脅威ハンティングのワークフロー、MITRE マッピング、ツールガイド(下記参照)
アセット管理
モジュールツール主な操作
assets15アセットのクエリ、トポロジーの取得、アセットの宣言・一括宣言・削除、プロパティの設定
assets_manager5より高度なアセット管理とグループ化
cloud_explorer12デプロイメント別に AWS クラウドリソースのトポロジーを閲覧
azure_explorer13デプロイメント別に Azure リソースのトポロジーを閲覧
SOAR
モジュールツール主な操作
soar33プレイブックとアクションの一覧表示・取得、実行の作成・取得・クエリ、問い合わせとトリガーの管理
脆弱性とコンプライアンス
モジュールツール主な操作
vulnerability10重要度別にエクスポージャーを一覧表示、アセットごとのエクスポージャーを取得
vulnerabilities_kb9脆弱性ナレッジベースを検索(CVE の詳細、CVSS、修復)
compliance4修復項目の一覧表示、修復の完了・破棄・破棄解除
ユーザーと認証
モジュールツール主な操作
users30ユーザー、ロール、アクセスキー、MFA、パスワードリセットの完全な CRUD
auth6AIMS トークンの管理、管理対象アカウントの一覧表示、アカウント ID の列挙
credentials10IAM ロールと Azure AD 認証情報の CRUD、スキャン用認証情報の管理、復号済み情報の取得
themis3認証情報の妥当性確認と検証
インフラストラクチャとデプロイメント
モジュールツール主な操作
deployments5デプロイメントの一覧表示、取得、作成、更新、削除
environments10Alert Logic の環境と環境設定の管理
network_controls15除外設定の CRUD、アセットのチェック、タグ/ホストのホワイトリスト管理
scan_scheduler13デプロイメントごとのスキャンスケジュールの作成、更新、管理
scan_result4スキャン結果の取得と分析
分析エンジン
モジュールツール主な操作
aecontent11AE コンテンツ(検出コンテンツライブラリ)の管理
aefr23AE フラットルールの管理
aerta13AE リアルタイム分析の管理
aetag23AE タグと相関ルールの管理
aepublish1AE 分析の更新を公開
aemanual2AE 分析の手動操作
kalm5AE のナレッジと分析のライフサイクル管理
チケット管理とウォッチリスト
モジュールツール主な操作
tickets8チケットの作成、取得、更新、一覧表示、クローズ
watchlist_module7アラート用ウォッチリストの管理(項目の追加、削除、検索)
運用とプラットフォーム
モジュールツール数主な操作
account_management7アカウントの詳細、名前による検索、親子関係、トポロジー
policies2ポリシーの一覧表示と確認
billing12サブスクリプション、エンタイトルメント、請求データの一覧表示と確認
common22Herald 通知、サブスクリプション、Webhook/メールコネクター、エンドポイント
ingest_module6ログ取り込みソースと取り込み設定の管理
logging_integration17ログソースの CRUD、ソースタイプ、収集の管理
otis7オンデマンドの脅威インテリジェンス検索
notify2通知の配信
search_stylist2ログ検索クエリの整形と提案
informant2Informant サービスへのクエリ
strawboss10Strawboss のジョブとスケジュールの管理
tacoma12Tacoma サービスの操作
album10証拠とアーティファクトの管理
usage_module4アカウントの使用状況統計とレポート
bulk_ops2アカウント横断の一括操作(一括デプロイ、一括ヘルスチェック)
suggestions10AI 支援による検索と調査の提案
seceng—セキュリティエンジニアリング:Cargo のスケジュール/実行、AETuner の分析/調整

SOC クイックスタート

接続したら、Claude で次のプロンプトを試してください。

Show me all open critical incidents from the last 24 hours
Get the elaborations (raw log evidence) for incident INC-12345
Search logs for SSH login failures from 10.0.0.5 in the last hour using SQL
Add a note to incident INC-12345: Confirmed malicious, escalating to customer
List all deployments and their health status across all accounts
Show me the top 10 critical vulnerabilities for host web-prod-01
Run the SOC IR playbook to walk me through incident response steps

組み込み SOC プレイブック

soc_playbooks モジュールは、厳選されたコンテキストに応じた運用ガイドを提供する6つのツールを備えています。外部ドキュメントを参照する必要はありません。

ツール内容
soc_ir_startエンドツーエンドのインシデント対応ワークフロー:トリアージチェックリスト、範囲特定の手順、封じ込め基準、証拠収集、文書化の要件
soc_threat_hunt仮説主導の脅威ハンティングプレイブック:IOC ベースのハント、TTP ベースのハント、一般的な攻撃パターン向けのログクエリテンプレート
soc_mitre_attack_guideMITRE ATT&CK の戦術/手法リファレンス。Alert Logic の検出タイプと推奨検索クエリに対応付けられています
soc_alertlogic_tool_guide調査タスク(トリアージ、範囲特定、証拠、封じ込め)別に整理した Alert Logic MCP ツールのクイックリファレンス
soc_log_query_templates一般的な SOC シナリオ向けのすぐに実行できる SQL ログクエリテンプレート:認証失敗、ラテラルムーブメント、C2 ビーコニング、データの持ち出しなど
soc_summary経営層向けインシデントサマリーテンプレートと、各フィールドへの情報入力ガイダンス

これらのツールは、ライブデータをクエリする前に関連するコンテキストを読み込めるよう、調査の開始時に呼び出すことを想定しています。


MSSP のマルチアカウント利用

このサーバーは、単一の API キーで複数の子アカウントを管理する MSSP 環境向けに設計されています。

パートナーインシデントの一覧表示 — incidents_list_partner は、管理対象のすべてのアカウントにまたがるインシデントを、アカウントの所有者ラベル付きで 1 回の呼び出しで返します。

ツールごとのアカウント指定 — ほとんどのツールは省略可能な account_id パラメーターを受け取ります。子アカウントの ID を渡すと、.env の設定を変更せずに、任意のクエリをそのアカウントに限定できます。

Get all open incidents for account <child-account-id>

一括操作 — bulk_list_deployments は、管理対象のすべてのアカウントに対してデプロイメントのクエリを実行し、集約した結果を返します。bulk_health_check も同様に、ヘルスステータスを取得します。

アカウントトポロジー — aims_get_account_topology と aims_list_accounts_by_relationship は、親アカウントと子アカウントの階層をマッピングします。操作の実行前に対象範囲を絞り込む際に便利です。

テナントの分離:複数のアカウントをまたいで作業する場合は、書き込み操作(封じ込め、メモの追加、チケットの作成)を実行する前に、必ず対象アカウントを確認してください。このサーバーは、Alert Logic API が提供する範囲を超えて、テナント間の操作を制限しません。


セキュリティに関する注意事項

  • 読み取り専用モード:ALERTLOGIC_MCP_READONLY=true を設定すると、起動時に読み取りツールのみが登録されます。AI クライアントからどのような要求があっても、書き込みツールや破壊的な操作を行うツールは公開されません。

  • 破壊的な操作の制限:書き込みが有効な場合でも、破壊的なツール(ユーザー/アセットの削除、SOAR プレイブックの実行、スキャンの開始、キーの失効など)はデフォルトで無効です。ALERTLOGIC_MCP_ALLOW_DESTRUCTIVE を使って明示的に有効化してください。推奨される方法は、true ではなく、特定のツール名をカンマ区切りのリストで指定することです。

    # Enable only incident completion workflow deletes
    ALERTLOGIC_MCP_ALLOW_DESTRUCTIVE=user_delete,playbook_execute
    
  • すべてのツールには MCP の readOnlyHint/destructiveHint アノテーションが付与されているため、準拠クライアントは独自の確認ポリシーを適用できます。

  • .env は絶対にコミットしないでください。 .gitignore によって除外されており、追跡対象となるのはプレースホルダーを含む .env.example のみです。

  • ALERTLOGIC_API_KEY はパスワードと同様に扱ってください。漏えい(チャットログ、画面共有、デバイスの紛失など)が疑われる場合は、直ちにローテーションしてください。

  • AIMS トークンの取り扱い:サーバーは初回使用時に API キーを短期間有効な Bearer トークンと交換し、メモリ内にキャッシュします。トークンは有効期限が切れると自動的に更新されます。初回の AIMS 認証呼び出し後、未加工の secret_key がログに記録されたり送信されたりすることはありません。

  • stdio モードでは、サーバーはネットワークポートを開きません。streamable-http または sse モードでは、リモートアクセスが特に必要な場合を除き、127.0.0.1(デフォルト)にバインドしてください。リモートアクセスが必要な場合は、適切なネットワーク制御を追加してください。

  • base.py は、リクエスト本文、レスポンス本文、認証情報をログに記録しません。フォークしてログ機能を追加する場合は、トークンやシークレットの値が含まれないよう注意してください。

  • このリポジトリには、いかなる種類の認証情報も含まれていません。


テスト

スタンドアロンのスモークテストスクリプトを使うと、MCP クライアントを介さずに、代表的なツールをひと通りテストできます。

python smoke_test.py

これにより、サーバーを MCP クライアントに接続する前に、認証情報の有効性、ネットワーク到達性、基本設定を確認できます。


トラブルシューティング

「認証に失敗しました」/401 エラー
  • ALERTLOGIC_API_KEY が、コロン区切りを含む完全な access_key_id:secret_key 文字列であることを確認してください。
  • ALERTLOGIC_BASE_URL がデータセンターに一致していることを確認してください(米国は api.cloudinsight.alertlogic.com、英国は api.cloudinsight.alertlogic.co.uk)。
  • Alert Logic コンソール(Manage → Users → Access Keys)で、アクセスキーがまだ有効であることを確認してください。
  • ALERTLOGIC_ACCOUNT_ID が正しいことを確認してください。一致しない場合、アカウントスコープのエンドポイントで 401 エラーが発生することがあります。
Claude Desktop にツールが表示されない
  • claude_desktop_config.json では絶対パスを使用してください。チルダ(~)と相対パスは展開されません。
  • command にはシステムの Python ではなく、仮想環境の Python(.venv/bin/python)を指定してください。
  • このサーバーからの stderr 出力がないか、Claude Desktop のログを確認してください。macOS のログは ~/Library/Logs/Claude/ にあります。
  • 設定ファイルを編集した後は、Claude Desktop を完全に終了してから再起動してください。
「ModuleNotFoundError: mcp」または依存関係の不足

仮想環境の外で python main.py を実行しています。先に仮想環境を有効にする(source .venv/bin/activate)か、仮想環境の Python を直接呼び出してください(/path/to/.venv/bin/python main.py)。

HTTP モード:ポート 8000 への接続が拒否される

接続を試みる前に、MCP_TRANSPORT=streamable-http python main.py でサーバーを起動したことを確認してください。サーバーがポートにバインドするのは、stdio 以外のトランスポートが選択されている場合のみです。

結果が空、またはエラーが通知されない

すべてのツール呼び出しで結果が空になる、またはエラーが通知されずに失敗する場合、SSO やプロキシ層が外部への API 呼び出しをブロックしていることがよくあります。プロキシを経由しないネットワーク、または別のクライアントから実行して確認してください。また、環境に応じて ALERTLOGIC_BASE_URL と ALERTLOGIC_ACCOUNT_ID の両方が正しいことも確認してください。


コントリビューション

PR とイシューを歓迎します。

  1. リポジトリをフォークし、機能ブランチを作成して変更をコミットし、PR を作成してください。
  2. Alert Logic のエンドポイントを追加するには、modules/ の該当するモジュールファイルに @server.tool 定義を追加してください。
  3. 新しいモジュールを追加する場合は、setup(server) 関数を含む modules/<name>.py を作成し、main.py の MODULES リストに追加してください。
  4. ツールの docstring は正確でわかりやすい内容にしてください。LLM は docstring を見て、ツールを呼び出すかどうか、またどのように呼び出すかを判断します。
  5. 基本的な機能を確認するため、提出前に python smoke_test.py を実行してください。

関連する MCP サーバー

次の 3 つのサーバーは、セキュリティスタックの相補的なレイヤー(ネットワーク/ログ(Alert Logic)、エンドポイント保護(Sophos)、EDR/脅威インテリジェンス(CrowdStrike))をカバーします。フルスタックの AI 活用 SOC 運用には、これらを組み合わせて使用してください。

サーバープラットフォーム主な機能
falcon-mcpCrowdStrike FalconEDR テレメトリ、RTR、脅威インテリジェンス、MSSP Flight Control、1,296 個のツール
sophos-central-mcpSophos Centralエンドポイント隔離、Live Discover SQL、XDR、メール/ファイアウォール/DNS、334 個のツール
alertlogic-mcpAlert Logic MDRインシデント対応、SQL ログ検索、SOAR、脆弱性管理、473 個のツール

ライセンス

MIT License。全文は LICENSE をご覧ください。

コメント

MCP は初めてですか?

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

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