Lacework Mcp Server について
Lacework Alerts MCP Serverは、Lacework API v2のアラート操作をAIエージェントやLLM連携に提供します。アラートの調査や更新に対応し、ローカル実行とリモート実行を選べます。リモートでは呼び出しごとに認証情報を渡せます。
主な機能
- 01アラートの一覧表示と絞り込み
- 02詳細情報とタイムラインの取得
- 03アラートのエンティティと文脈の確認
- 04コメントの追加とアラートのクローズ
活用シーン
- 01指定期間内のアラートの確認
- 02アラートのイベントと関連エンティティの調査
- 03タイムラインへのコメント追加やアラートのクローズ
MCP 対応
Lacework API v2のアラート操作を行うMCPツールを提供します。stdioによるローカル実行のほか、SSEまたはStreamable HTTPでリモート実行できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Lacework Alerts MCP Server
FastMCP で構築された MCP(Model Context Protocol)サーバーです。Lacework API v2 のアラート操作をツールとして提供し、AI エージェントや LLM との連携に利用できます。
クイックスタート(新しいマシンでのセットアップ)
# 1. Clone the repo
git clone <repo-url>
cd lacework_mcp_server
# 2. Create a virtual environment (Python 3.10+)
python3 -m venv .venv
source .venv/bin/activate
# 3. Install dependencies
pip install -e .
# or manually:
# pip install fastmcp httpx
# 4. Configure Lacework credentials (pick one)
# Option A – Config file
cat > ~/.lacework.json <<'EOF'
{
"account": "yourcompany.lacework.net",
"keyId": "YOUR_ACCESS_KEY_ID",
"secret": "YOUR_SECRET_KEY"
}
EOF
# Option B – Environment variables
export LACEWORK_ACCOUNT="yourcompany"
export LACEWORK_KEY_ID="YOUR_ACCESS_KEY_ID"
export LACEWORK_SECRET="YOUR_SECRET_KEY"
# Environment variables take precedence over the config file.
# 5. Run the server
python lacework_mcp_server.py
ツール
| ツール | 説明 |
|---|---|
list_alerts | 任意の時間範囲内のアラートを一覧表示します(2h、last 2 hours などの相対時間に対応) |
search_alerts | フィルター(重大度、ステータス、アラートタイプ)と柔軟な時間指定(30m、last 2 hours、2024-06-01)を使ってアラートを検索します |
get_alert_details | 特定のアラートの詳細情報を取得します(Details、Investigation、Events、RelatedAlerts、Integrations、Timeline、ObservationTimeline) |
get_alert_timeline | ショートカット — アラートのタイムラインを取得します |
get_alert_investigation | ショートカット — アラートの調査詳細を取得します |
get_alert_entities | アラートに関連付けられたエンティティ(マシン、IP)を一覧表示します |
get_alert_entity_details | 特定のエンティティの詳細なコンテキスト(VirusTotal、ネットワークアクティビティなど)を取得します |
post_alert_comment | アラートのタイムラインにコメントを投稿します |
close_alert | 理由コードを指定してアラートをクローズします |
実行方法
スタンドアロン(stdio — ローカル)
source .venv/bin/activate
python lacework_mcp_server.py
リモート(SSE / Streamable HTTP)
AI エージェントが HTTP 経由で接続し、リクエストごとに認証情報を渡せるよう、リモートホストでサーバーを実行します。
# SSE transport (default host 0.0.0.0, port 8000)
python lacework_mcp_server.py --transport sse --port 8000
# Streamable HTTP transport
python lacework_mcp_server.py --transport streamable-http --host 0.0.0.0 --port 9000
リモートで実行する場合、呼び出し元はサーバー側の設定に頼らず、ツールパラメーターとして Lacework の認証情報を渡します。
{
"name": "search_alerts",
"arguments": {
"start_time": "last 2 hours",
"severity": "Critical",
"lacework_account": "mycompany",
"lacework_key_id": "MY_KEY_ID",
"lacework_secret": "MY_SECRET"
}
}
3 つの認証情報フィールド(lacework_account、lacework_key_id、lacework_secret)は、すべてのツールで省略可能です。省略した場合、サーバーはローカル設定(環境変数 / ~/.lacework.json)にフォールバックします。異なる Lacework アカウントのクライアントはキャッシュされるため、呼び出し間でトークンが再利用されます。
Claude Desktop / VS Code での使用
MCP の設定に追加します(例:~/.claude/claude_desktop_config.json または .vscode/mcp.json)。
ローカル(~/.lacework.json がある場合):
{
"mcpServers": {
"lacework": {
"command": "/path/to/lacework_mcp_server/.venv/bin/python",
"args": [
"/path/to/lacework_mcp_server/lacework_mcp_server.py"
]
}
}
}
ローカル(~/.lacework.json がない場合 — 環境変数で認証情報を渡す):
{
"mcpServers": {
"lacework": {
"command": "/path/to/lacework_mcp_server/.venv/bin/python",
"args": [
"/path/to/lacework_mcp_server/lacework_mcp_server.py"
],
"env": {
"LACEWORK_ACCOUNT": "yourcompany",
"LACEWORK_KEY_ID": "YOUR_KEY_ID",
"LACEWORK_SECRET": "YOUR_SECRET"
}
}
}
}
リモート(SSE 経由で別の場所でサーバーを実行):
{
"mcpServers": {
"lacework": {
"url": "http://your-server-host:8000/sse"
}
}
}
リモートサーバーの場合、認証情報は呼び出しごとにツールパラメーター(
lacework_account、lacework_key_id、lacework_secret)として渡されます。
API リファレンス
Lacework API v2 のドキュメントに基づいています。
- 認証:自動トークン更新を伴う
POST /api/v2/access/tokensを使用します - アラート:
/api/v2/Alertsエンドポイント経由で完全な CRUD 操作を行えます - レート制限:機能ごとに 1 時間あたり 480 リクエスト
- 時間範囲:1 リクエストあたり最大 7 日間。デフォルトは過去 24 時間です
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。