Vectra AI MCP Server
Vectra AI MCP サーバー
このプロジェクトは、Vectra AI プラットフォーム向けの MCP サーバーを実装したものです。
Vectra AI MCP とは?
AI アシスタントを Vectra AI セキュリティプラットフォームに接続し、脅威検知データのインテリジェントな分析、セキュリティインサイト、自動化されたインシデント対応ワークフローを実現する MCP サーバーです。Claude、ChatGPT、Cursor、VS Code、およびその他の MCP 対応 AI ツールと互換性があります。
Vectra AI MCP でできること
自然言語による脅威の調査
AI エージェントから直接 Vectra での対応アクションの実行
プロンプトを使用したセキュリティデータの相関分析
分析のための高度な可視化の動的構築
自然言語からの調査レポート生成
セットアップ - ローカルホスト
前提条件
Python のインストール 必要なバージョンについては .python-version ファイルを確認してください
uv のインストール - Python パッケージマネージャー
# On macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# On Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# Or via pip
pip install uvセットアップ手順
プロジェクトのクローン/ダウンロードをローカルマシンに行います
プロジェクトディレクトリに移動します:
cd your-project-directory認証情報を設定します:
オプション A: シングルテナント (.env ファイル)
# Copy the example environment file
cp .env.example .env次に、.env ファイルを編集し、実際の Vectra AI プラットフォームの認証情報を入力します。
更新が必要な変数:
VECTRA_BASE_URL: Vectra ポータルの URLVECTRA_CLIENT_ID: Vectra から取得したクライアント IDVECTRA_CLIENT_SECRET: Vectra から取得したクライアントシークレット
オプション B: マルチテナント (YAML 設定)
複数の Vectra テナントがある場合は、代わりに YAML 設定ファイルを使用します:
cp tenants.yaml.example tenants.yaml次に、tenants.yaml を編集し、テナントの詳細を入力します:
tenants:
- name: prod
base_url: https://prod-tenant.uw2.portal.vectra.ai
client_id: "<prod-client-id>"
client_secret: "<prod-client-secret>"
- name: staging
base_url: https://staging-tenant.uw2.portal.vectra.ai
client_id: "<staging-client-id>"
client_secret: "<staging-client-secret>"各テナントには、テナント名がプレフィックスとして付いた独自のツールセットが割り当てられます(例: prod_list_detections、staging_list_detections)。利用可能なテナントを検出するための list_tenants メタツールも追加されます。
テナントごとの値は、VECTRA_TENANT_<NAME>_<FIELD> というパターン(例: VECTRA_TENANT_PROD_CLIENT_SECRET)を使用して環境変数で上書きできます。これは、シークレットをファイルに保存すべきではない Docker/Kubernetes 環境で役立ちます。
仮想環境を作成して有効化します:
uv venv
# Activate it:
# On macOS/Linux:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activate依存関係をインストールします:
uv syncこれにより、uv.lock の正確なバージョンを使用して pyproject.toml で指定されたすべての依存関係がインストールされます。
アプリケーションを実行します:
サーバーは複数のトランスポートプロトコルをサポートしています:
# Run with stdio transport (default, for Claude Desktop)
python server.py
python server.py --transport stdio
# Run with SSE transport (for HTTP-based MCP clients)
python server.py --transport sse --host 0.0.0.0 --port 8000
# Run with streamable-http transport (for production HTTP deployments)
python server.py --transport streamable-http --host 0.0.0.0 --port 8000
# Run with multi-tenant YAML config
python server.py --config tenants.yaml
python server.py -c tenants.yaml --transport sse
# Enable debug logging
python server.py --debugトランスポートオプション:
stdio: 標準入出力通信(デフォルト、Claude Desktop で使用)
sse: HTTP 経由の Server-Sent Events(Web ベースのクライアントに適しています)
streamable-http: ストリーミング可能な HTTP トランスポート(本番環境の HTTP デプロイメントに推奨)
環境変数: 環境変数を使用してサーバーを設定することもできます:
export VECTRA_MCP_TRANSPORT=streamable-http
export VECTRA_MCP_HOST=0.0.0.0
export VECTRA_MCP_PORT=8000
export VECTRA_MCP_DEBUG=true
python server.pyClaude Desktop 用の MCP 設定
Claude Desktop に MCP サーバーを追加します:
# On macOS:
# Open Claude Desktop configuration file
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
# On Windows:
# Open Claude Desktop configuration file
notepad %APPDATA%/Claude/claude_desktop_config.jsonmcpServers セクションに以下の設定を追加します(パスは環境に合わせて更新してください):
シングルテナント:
{
"mcpServers": {
"vectra-ai-mcp": {
"command": "/path/to/your/uv/binary",
"args": [
"--directory",
"/path/to/your/project/directory",
"run",
"server.py"
]
}
}
}マルチテナント:
{
"mcpServers": {
"vectra-ai-mcp": {
"command": "/path/to/your/uv/binary",
"args": [
"--directory",
"/path/to/your/project/directory",
"run",
"server.py",
"--config",
"tenants.yaml"
]
}
}
}デバッグ - uv のインストールパスを確認:
# Find where uv is installed
which uv
# or
where uvデバッグ - プロジェクトの絶対パスを取得:
# From your project directory, run:
pwdClaude Desktop を再起動して、新しい MCP サーバー設定を読み込みます。
その他の MCP クライアントのセットアップ
設定が完了すると、この MCP サーバーを通じて Claude Desktop やその他の MCP クライアント内で直接 Vectra AI プラットフォームの機能を使用できるようになります!
Claude Desktop 以外の MCP クライアントについては、以下のドキュメントリンクを参照してください:
MCP クライアント | ドキュメントリンク |
一般的な MCP 設定 | |
Cursor | |
VS Code | https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_add-an-mcp-server |
その他の MCP クライアントについては、それぞれのドキュメントを参照してください。一般的なパターンは同様で、同じ設定構造で MCP サーバーを実行するためのコマンドと引数を指定する必要があります。
セットアップ - Docker デプロイメント
本番環境へのデプロイやセットアップを簡略化するために、Docker を使用して Vectra AI MCP サーバーを実行できます。2 つのオプションを提供しています:
オプション 1: 事前構築済みイメージの使用 (推奨)
GitHub Container Registry から提供されている事前構築済みの Docker イメージを使用するのが最も簡単な方法です。
前提条件
Docker Desktop または Docker Engine
クイックスタート手順
環境変数を設定します:
# Copy the example environment file
cp .env.example .env次に、.env ファイルを編集し、実際の Vectra AI プラットフォームの認証情報を入力します。
事前構築済みイメージで実行します:
ストリーミング可能な HTTP トランスポート (本番環境に推奨)
docker run -d \
--name vectra-mcp-server-http \
--env-file .env \
-e VECTRA_MCP_TRANSPORT=streamable-http \
-e VECTRA_MCP_HOST=0.0.0.0 \
-e VECTRA_MCP_PORT=8000 \
-p 8000:8000 \
--restart unless-stopped \
ghcr.io/vectra-ai-research/vectra-ai-mcp-server:latestSSE トランスポート (Server-Sent Events)
docker run -d \
--name vectra-mcp-server-sse \
--env-file .env \
-e VECTRA_MCP_TRANSPORT=sse \
-e VECTRA_MCP_HOST=0.0.0.0 \
-e VECTRA_MCP_PORT=8000 \
-p 8000:8000 \
--restart unless-stopped \
ghcr.io/vectra-ai-research/vectra-ai-mcp-server:latestStdio トランスポート (ローカル MCP クライアント用)
docker run -d \
--name vectra-mcp-server-stdio \
--env-file .env \
-e VECTRA_MCP_TRANSPORT=stdio \
--restart unless-stopped \
ghcr.io/vectra-ai-research/vectra-ai-mcp-server:latestまたは Docker Compose を使用します (代替案):
docker-compose.yml ファイルを作成します:
version: '3.8'
services:
vectra-mcp-server:
image: ghcr.io/vectra-ai-research/vectra-ai-mcp-server:latest
container_name: vectra-mcp-server
env_file: .env
environment:
- VECTRA_MCP_TRANSPORT=streamable-http
- VECTRA_MCP_HOST=0.0.0.0
- VECTRA_MCP_PORT=8000
ports:
- "8000:8000"
restart: unless-stopped次に、以下を実行します:
docker-compose up -d利用可能なタグ:
latest: メインブランチからの最新の安定ビルドmain: メインブランチからの最新ビルド (latest と同じ)v*: 特定のバージョンタグ (例: v1.0.0)
💡 ヒント: 事前構築済みイメージは、コードがメインブランチにプッシュされたとき、またはリリースにタグが付けられたときに、GitHub Actions を通じて自動的にビルドおよび公開されます。これにより、ローカルでビルドすることなく、常に最新のテスト済みバージョンを取得できます。
オプション 2: ソースからビルド
開発やカスタマイズのために、ソースから Docker イメージをビルドできます。
前提条件
Docker と Docker Compose のインストール
Docker Desktop (Docker Compose を含む)
または Linux 上で Docker Engine と Docker Compose を個別にインストール
ソースからビルドする手順
プロジェクトのクローン/ダウンロードをローカルマシンに行います
プロジェクトディレクトリに移動します:
cd your-project-directory環境変数を設定します:
# Copy the example environment file
cp .env.example .env次に、.env ファイルを編集し、実際の Vectra AI プラットフォームの認証情報を入力します。
Docker でビルドして実行します:
# Build the image
docker build -t vectra-mcp-server .ローカルでビルドしたイメージを実行します:
トランスポートモードを選択し、ローカルでビルドしたイメージで実行します:
ストリーミング可能な HTTP トランスポート
docker run -d \
--name vectra-mcp-server-http \
--env-file .env \
-e VECTRA_MCP_TRANSPORT=streamable-http \
-e VECTRA_MCP_HOST=0.0.0.0 \
-e VECTRA_MCP_PORT=8000 \
-p 8000:8000 \
--restart unless-stopped \
vectra-mcp-serverSSE トランスポート
docker run -d \
--name vectra-mcp-server-sse \
--env-file .env \
-e VECTRA_MCP_TRANSPORT=sse \
-e VECTRA_MCP_HOST=0.0.0.0 \
-e VECTRA_MCP_PORT=8000 \
-p 8000:8000 \
--restart unless-stopped \
vectra-mcp-serverStdio トランスポート
docker run -d \
--name vectra-mcp-server-stdio \
--env-file .env \
-e VECTRA_MCP_TRANSPORT=stdio \
--restart unless-stopped \
vectra-mcp-serverDocker マルチテナント設定
Docker でマルチテナントモードでサーバーを実行するには:
tenants.yamlファイルを作成します (tenants.yaml.exampleを参照)。コンテナにマウントし、
VECTRA_CONFIG_FILEを設定します:
docker run -d \
--name vectra-mcp-server \
-e VECTRA_CONFIG_FILE=/app/tenants.yaml \
-e VECTRA_MCP_TRANSPORT=streamable-http \
-e VECTRA_MCP_HOST=0.0.0.0 \
-e VECTRA_MCP_PORT=8000 \
-v ./tenants.yaml:/app/tenants.yaml:ro \
-p 8000:8000 \
--restart unless-stopped \
ghcr.io/vectra-ai-research/vectra-ai-mcp-server:latestYAML ファイルに保存する代わりに、環境変数経由でテナントごとにシークレットを注入できます:
docker run -d \
--name vectra-mcp-server \
-e VECTRA_CONFIG_FILE=/app/tenants.yaml \
-e VECTRA_TENANT_PROD_CLIENT_SECRET=<secret> \
-e VECTRA_TENANT_STAGING_CLIENT_SECRET=<secret> \
-v ./tenants.yaml:/app/tenants.yaml:ro \
-p 8000:8000 \
ghcr.io/vectra-ai-research/vectra-ai-mcp-server:latestDocker 環境変数
Docker コンテナは、ローカルセットアップと同じすべての環境変数に加え、追加の MCP サーバー設定をサポートしています:
MCP サーバー設定
VECTRA_MCP_TRANSPORT: トランスポートプロトコル (stdio、sse、またはstreamable-http) - デフォルト:stdioVECTRA_MCP_HOST: HTTP トランスポートでバインドするホスト - デフォルト:0.0.0.0VECTRA_MCP_PORT: HTTP トランスポートのポート - デフォルト:8000VECTRA_MCP_DEBUG: デバッグログを有効にする - デフォルト:falseVECTRA_CONFIG_FILE: マルチテナントモード用の YAML 設定ファイルへのパス (オプション)
マルチテナント上書き変数
YAML 設定ファイルを使用する場合、テナントごとの設定を環境変数で上書きできます:
VECTRA_TENANT_<NAME>_BASE_URLVECTRA_TENANT_<NAME>_CLIENT_IDVECTRA_TENANT_<NAME>_CLIENT_SECRETVECTRA_TENANT_<NAME>_API_VERSIONVECTRA_TENANT_<NAME>_REQUEST_TIMEOUT
ここで <NAME> は大文字のテナント名です (例: VECTRA_TENANT_PROD_CLIENT_SECRET)。
HTTP サーバーへのアクセス
HTTP トランスポート (sse または streamable-http) で実行する場合、MCP サーバーは以下で利用可能です:
Streamable HTTP:
http://localhost:8000/mcpSSE:
http://localhost:8000/sse
Docker 用の MCP クライアント設定
Docker 化されたサーバーに接続する HTTP ベースの MCP クライアントの場合は、適切なエンドポイントを使用してください:
{
"mcpServers": {
"vectra-ai-mcp": {
"transport": {
"type": "http",
"url": "http://localhost:8000/"
}
}
}
}Docker ヘルスチェック
Docker コンテナには、サーバーが正常に動作していることを確認するヘルスチェックが含まれています:
stdioトランスポートの場合: 常に正常と報告されます (チェックする HTTP エンドポイントがないため)HTTP トランスポートの場合: HTTP エンドポイントの可用性をチェックします
注: MCP (Model Context Protocol) は、新興かつ急速に進化している技術です。このサーバーを使用する際は注意を払い、適切な認証情報管理やネットワークセキュリティ対策を含むセキュリティのベストプラクティスに従ってください。
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vectra-ai-research/vectra-ai-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server