Skip to main content
Glama
vectra-ai-research

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 での対応アクションの実行

  • プロンプトを使用したセキュリティデータの相関分析

  • 分析のための高度な可視化の動的構築

  • 自然言語からの調査レポート生成

セットアップ - ローカルホスト

前提条件

  1. Python のインストール 必要なバージョンについては .python-version ファイルを確認してください

  2. 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

セットアップ手順

  1. プロジェクトのクローン/ダウンロードをローカルマシンに行います

  2. プロジェクトディレクトリに移動します:

cd your-project-directory
  1. 認証情報を設定します:

オプション A: シングルテナント (.env ファイル)

# Copy the example environment file
cp .env.example .env

次に、.env ファイルを編集し、実際の Vectra AI プラットフォームの認証情報を入力します。 更新が必要な変数:

  • VECTRA_BASE_URL: Vectra ポータルの URL

  • VECTRA_CLIENT_ID: Vectra から取得したクライアント ID

  • VECTRA_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_detectionsstaging_list_detections)。利用可能なテナントを検出するための list_tenants メタツールも追加されます。 テナントごとの値は、VECTRA_TENANT_<NAME>_<FIELD> というパターン(例: VECTRA_TENANT_PROD_CLIENT_SECRET)を使用して環境変数で上書きできます。これは、シークレットをファイルに保存すべきではない Docker/Kubernetes 環境で役立ちます。

  1. 仮想環境を作成して有効化します:

uv venv

# Activate it:
# On macOS/Linux:
source .venv/bin/activate

# On Windows:
.venv\Scripts\activate
  1. 依存関係をインストールします:

uv sync

これにより、uv.lock の正確なバージョンを使用して pyproject.toml で指定されたすべての依存関係がインストールされます。

  1. アプリケーションを実行します:

サーバーは複数のトランスポートプロトコルをサポートしています:

# 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.py

Claude Desktop 用の MCP 設定

  1. 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.json

mcpServers セクションに以下の設定を追加します(パスは環境に合わせて更新してください):

シングルテナント:

{
  "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"
      ]
    }
  }
}
  1. デバッグ - uv のインストールパスを確認:

# Find where uv is installed
which uv
# or
where uv
  1. デバッグ - プロジェクトの絶対パスを取得:

# From your project directory, run:
pwd
  1. Claude Desktop を再起動して、新しい MCP サーバー設定を読み込みます。

その他の MCP クライアントのセットアップ

設定が完了すると、この MCP サーバーを通じて Claude Desktop やその他の MCP クライアント内で直接 Vectra AI プラットフォームの機能を使用できるようになります!

Claude Desktop 以外の MCP クライアントについては、以下のドキュメントリンクを参照してください:

その他の MCP クライアントについては、それぞれのドキュメントを参照してください。一般的なパターンは同様で、同じ設定構造で MCP サーバーを実行するためのコマンドと引数を指定する必要があります。

セットアップ - Docker デプロイメント

本番環境へのデプロイやセットアップを簡略化するために、Docker を使用して Vectra AI MCP サーバーを実行できます。2 つのオプションを提供しています:

オプション 1: 事前構築済みイメージの使用 (推奨)

GitHub Container Registry から提供されている事前構築済みの Docker イメージを使用するのが最も簡単な方法です。

前提条件

クイックスタート手順

  1. 環境変数を設定します:

# Copy the example environment file
cp .env.example .env

次に、.env ファイルを編集し、実際の Vectra AI プラットフォームの認証情報を入力します。

  1. 事前構築済みイメージで実行します:

ストリーミング可能な 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:latest

SSE トランスポート (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:latest

Stdio トランスポート (ローカル 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
  1. または 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 イメージをビルドできます。

前提条件

  1. Docker と Docker Compose のインストール

    • Docker Desktop (Docker Compose を含む)

    • または Linux 上で Docker Engine と Docker Compose を個別にインストール

ソースからビルドする手順

  1. プロジェクトのクローン/ダウンロードをローカルマシンに行います

  2. プロジェクトディレクトリに移動します:

cd your-project-directory
  1. 環境変数を設定します:

# Copy the example environment file
cp .env.example .env

次に、.env ファイルを編集し、実際の Vectra AI プラットフォームの認証情報を入力します。

  1. Docker でビルドして実行します:

# Build the image
docker build -t vectra-mcp-server .
  1. ローカルでビルドしたイメージを実行します:

トランスポートモードを選択し、ローカルでビルドしたイメージで実行します:

ストリーミング可能な 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-server

SSE トランスポート

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-server

Stdio トランスポート

docker run -d \
  --name vectra-mcp-server-stdio \
  --env-file .env \
  -e VECTRA_MCP_TRANSPORT=stdio \
  --restart unless-stopped \
  vectra-mcp-server

Docker マルチテナント設定

Docker でマルチテナントモードでサーバーを実行するには:

  1. tenants.yaml ファイルを作成します (tenants.yaml.example を参照)。

  2. コンテナにマウントし、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:latest

YAML ファイルに保存する代わりに、環境変数経由でテナントごとにシークレットを注入できます:

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:latest

Docker 環境変数

Docker コンテナは、ローカルセットアップと同じすべての環境変数に加え、追加の MCP サーバー設定をサポートしています:

MCP サーバー設定

  • VECTRA_MCP_TRANSPORT: トランスポートプロトコル (stdiosse、または streamable-http) - デフォルト: stdio

  • VECTRA_MCP_HOST: HTTP トランスポートでバインドするホスト - デフォルト: 0.0.0.0

  • VECTRA_MCP_PORT: HTTP トランスポートのポート - デフォルト: 8000

  • VECTRA_MCP_DEBUG: デバッグログを有効にする - デフォルト: false

  • VECTRA_CONFIG_FILE: マルチテナントモード用の YAML 設定ファイルへのパス (オプション)

マルチテナント上書き変数

YAML 設定ファイルを使用する場合、テナントごとの設定を環境変数で上書きできます:

  • VECTRA_TENANT_<NAME>_BASE_URL

  • VECTRA_TENANT_<NAME>_CLIENT_ID

  • VECTRA_TENANT_<NAME>_CLIENT_SECRET

  • VECTRA_TENANT_<NAME>_API_VERSION

  • VECTRA_TENANT_<NAME>_REQUEST_TIMEOUT

ここで <NAME> は大文字のテナント名です (例: VECTRA_TENANT_PROD_CLIENT_SECRET)。

HTTP サーバーへのアクセス

HTTP トランスポート (sse または streamable-http) で実行する場合、MCP サーバーは以下で利用可能です:

  • Streamable HTTP: http://localhost:8000/mcp

  • SSE: 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) は、新興かつ急速に進化している技術です。このサーバーを使用する際は注意を払い、適切な認証情報管理やネットワークセキュリティ対策を含むセキュリティのベストプラクティスに従ってください。

Install Server
A
security – no known vulnerabilities
A
license - permissive license
B
quality - B tier

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