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

그런 다음 실제 Vectra AI 플랫폼 자격 증명으로 .env 파일을 편집합니다. 업데이트해야 할 필수 변수:

  • 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_detections, staging_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를 통한 서버 전송 이벤트 (웹 기반 클라이언트에 적합)

  • 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 서버를 실행할 수 있습니다. 두 가지 옵션을 제공합니다:

옵션 1: 사전 빌드된 이미지 사용 (권장)

시작하는 가장 쉬운 방법은 GitHub Container Registry에서 사전 빌드된 Docker 이미지를 사용하는 것입니다.

사전 요구 사항

빠른 시작 단계

  1. 환경 변수 구성:

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

그런 다음 실제 Vectra AI 플랫폼 자격 증명으로 .env 파일을 편집합니다.

  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 전송 (서버 전송 이벤트)

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

그런 다음 실제 Vectra AI 플랫폼 자격 증명으로 .env 파일을 편집합니다.

  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: 전송 프로토콜 (stdio, sse 또는 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