Vectra AI MCP Server

Connects AI assistants to the Vectra AI security platform

README.md

Vectra AI MCP Server

This project implements an MCP server for the Vectra AI Platform.

What is Vectra AI MCP?

An MCP server that connects AI assistants to your Vectra AI security platform, enabling intelligent analysis of threat detection data, security insights, and automated incident response workflows. Compatible with Claude, ChatGPT, Cursor, VS Code and other MCP-enabled AI tools.

What can you do with Vectra AI MCP?

  • Investigate threats in natural language
  • Take response actions in Vectra directly from your AI agent
  • Correlate and analyze security data using prompts
  • Dynamically build advanced visulizations for analysis
  • Generate investigation reports from natural language

Setup - Host Locally

Prerequisites

  1. Install Python Check .python-version file for the required version

  2. Install uv - Python package manager

# 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

Setup Steps

  1. Clone/Download the project to your local machine
  2. Navigate to the project directory:
cd your-project-directory
  1. Configure environment variables:
# Copy the example environment file
cp .env.example .env

Then edit the .env file with your actual Vectra AI Platform credentials. Required variables to update:

  • VECTRA_BASE_URL: Your Vectra portal URL
  • VECTRA_CLIENT_ID: Your client ID from Vectra
  • VECTRA_CLIENT_SECRET: Your client secret from Vectra
  1. Create and activate a virtual environment:
uv venv

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

# On Windows:
.venv\Scripts\activate
  1. Install dependencies:
uv sync

This will install all dependencies specified in pyproject.toml using the exact versions from uv.lock.

  1. Run the application:

The server supports multiple transport protocols:

# 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

# Enable debug logging
python server.py --debug

Transport Options:

  • stdio: Standard input/output communication (default, used by Claude Desktop)
  • sse: Server-Sent Events over HTTP (good for web-based clients)
  • streamable-http: Streamable HTTP transport (recommended for production HTTP deployments)

Environment Variables: You can also configure the server using environment variables:

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

MCP Configuration for Claude Desktop

  1. Add MCP Server to Claude Desktop:
# 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

Add the following configuration to the mcpServers section (update the paths to match your setup):

{
  "mcpServers": {
    "vectra-ai-mcp": {
      "command": "/path/to/your/uv/binary",
      "args": [
        "--directory",
        "/path/to/your/project/directory",
        "run",
        "server.py"
      ]
    }
  }
}

Example with actual paths:

{
  "mcpServers": {
    "vectra-ai-mcp": {
      "command": "/Users/yourusername/.local/bin/uv",
      "args": [
        "--directory",
        "/Users/yourusername/path/to/vectra-mcp-project",
        "run",
        "server.py"
      ]
    }
  }
}
  1. Debug - Find your uv installation path:
# Find where uv is installed
which uv
# or
where uv
  1. Debug - Get your project's absolute path:
# From your project directory, run:
pwd
  1. Restart Claude Desktop to load the new MCP server configuration.

Other MCP Client Setup

Once configured, you should be able to use Vectra AI Platform capabilities directly within Claude Desktop or other MCP clients through this MCP server!

For other MCP clients besides Claude Desktop, refer to the documentation links below:

MCP Client Documentation Link
General MCP Setup https://modelcontextprotocol.io/quickstart/user
Cursor https://docs.cursor.com/en/context/mcp#using-mcp-json
VS Code [https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_add-an-mcp-server](http

Environment Variables

VECTRA_BASE_URLrequiredYour Vectra portal URL
VECTRA_CLIENT_IDrequiredYour client ID from Vectra
VECTRA_CLIENT_SECRETrequiredYour client secret from Vectra

Try it

Investigate the latest high-severity threats detected in the Vectra AI platform.
Take a response action to isolate the host associated with the recent security alert.
Generate an investigation report for the current threat landscape in our network.
Correlate the recent security data to identify potential lateral movement patterns.

Frequently Asked Questions

What are the key features of Vectra AI?

Investigate threats in natural language. Take response actions in Vectra directly from your AI agent. Correlate and analyze security data using prompts. Dynamically build advanced visualizations for analysis. Generate investigation reports from natural language.

What can I use Vectra AI for?

Security analysts performing rapid threat investigation using natural language queries.. Automating incident response workflows by triggering actions directly from AI chat.. Generating automated security reports for stakeholders based on real-time platform data.. Correlating disparate security alerts to identify complex attack vectors..

How do I install Vectra AI?

Install Vectra AI by running: uv sync

What MCP clients work with Vectra AI?

Vectra AI works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Vectra AI docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Open Conare