安全分析MCP服务器

Vectra AI On-Premise MCP服务器是一个连接AI助手与本地安全平台的工具,支持威胁检测数据的智能分析、安全洞察和自动化事件响应工作流。

  • by vectra-ai-research
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 vectra-ai-research/vectra-ai-mcp-server-qux

使用说明

Vectra AI本地MCP服务器

该项目实现了 MCP服务器 为了 Vectra人工智能本地平台.

什么是Vectra AI本地MCP?

MCP服务器,将AI助手连接到Vectra AI On-Premise安全平台,实现威胁检测数据、安全见解和自动事件响应工作流的智能分析。与Claude、ChatGPT、Cursor、VS Code和其他启用MCP的AI工具兼容。

你能用Vectra AI本地MCP做什么?

  • 调查自然语言中的威胁
  • 搜索和分析帐户、主机和检测
  • 管理调查任务和笔记
  • 使用提示关联和分析安全数据
  • 动态构建高级可视化分析
  • 从自然语言生成调查报告

设置-本地主机

先决条件

  1. 安装Python 检查.python版本文件以获取所需版本

  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. 配置环境变量:
# Create a .env file with your Vectra On-Premise credentials
cat > .env << EOF
VECTRA_BASE_URL=https://your-vectra-instance.com
VECTRA_API_KEY=your_api_key_here
VECTRA_API_VERSION=v2.5
VECTRA_VERIFY_SSL=true
EOF

然后使用您实际的Vectra AI本地平台凭据编辑.env文件。 需要更新的变量:

  • VECTRA_BASE_URL:您的Vectra内部门户URL
  • VECTRA_API_KEY:您的API密钥来自Vectra On-Premise

可选变量:

  • VECTRA_VERIFY_SSL:设置为 false 禁用SSL证书验证(对自签名证书或内部部署有用)
  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

# Enable debug logging
python server.py --debug

运输选项:

  • 标准:标准输入/输出通信(默认,由Claude Desktop使用)
  • SSE:服务器通过HTTP发送事件(适用于基于web的客户端)
  • 可流式传输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桌面的MCP配置

  1. 将MCP服务器添加到Claude桌面:
# 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-onpremise-mcp": {
      "command": "/path/to/your/uv/binary",
      "args": [
        "--directory",
        "/path/to/your/project/directory",
        "run",
        "server.py"
      ]
    }
  }
}

实际路径示例:

{
  "mcpServers": {
    "vectra-ai-onpremise-mcp": {
      "command": "/Users/yourusername/.local/bin/uv",
      "args": [
        "--directory",
        "/Users/yourusername/path/to/vectra-mcp-project",
        "run",
        "server.py"
      ]
    }
  }
}
  1. 调试-找到您的紫外线安装路径:
# Find where uv is installed
which uv
# or
where uv
  1. Debug-获取项目的绝对路径:
# From your project directory, run:
pwd
  1. 重新启动克劳德桌面 加载新的MCP服务器配置。

其他MCP客户端设置

配置后,您应该能够通过此MCP服务器直接在Claude Desktop或其他MCP客户端中使用Vectra AI本地平台功能!

对于除Claude Desktop之外的其他MCP客户端,请参阅下面的文档链接:

MCP客户端 文档链接
MCP常规设置 https://modelcontextprotocol.io/quickstart/user
光标 https://docs.cursor.com/en/context/mcp#using-mcp json
VS Code https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_add-mcp服务器

对于其他MCP客户端,请参阅其各自的文档。一般模式是相似的——您需要指定命令和参数,以使用相同的配置结构运行MCP服务器。

设置-Docker部署

对于生产部署或更简单的设置,您可以使用Docker运行Vectra AI本地MCP服务器。我们提供两种选择:

选项1:使用预构建图像(推荐)

最简单的入门方法是使用GitHub容器注册表中的预构建Docker映像。

先决条件

快速入门步骤

  1. 配置环境变量:
# Create a .env file with your Vectra On-Premise credentials
cat > .env << EOF
VECTRA_BASE_URL=https://your-vectra-instance.com
VECTRA_API_KEY=your_api_key_here
VECTRA_API_VERSION=v2.5
VECTRA_VERIFY_SSL=true
EOF

然后编辑 .env 文件中包含您的实际Vectra AI本地平台凭据。

  1. 使用预构建映像运行:

流式HTTP传输(推荐用于生产环境)

docker run -d \
  --name vectra-onpremise-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-qux:latest

SSE传输(服务器发送事件)

docker run -d \
  --name vectra-onpremise-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-qux:latest

标准传输(适用于本地MCP客户端)

docker run -d \
  --name vectra-onpremise-mcp-server-stdio \
  --env-file .env \
  -e VECTRA_MCP_TRANSPORT=stdio \
  --restart unless-stopped \
  ghcr.io/vectra-ai-research/vectra-ai-mcp-server-qux:latest
  1. 或者使用Docker Compose(替代方案):

创建一个 docker-compose.yml 文件:

version: '3.8'
services:
  vectra-onpremise-mcp-server:
    image: ghcr.io/vectra-ai-research/vectra-ai-mcp-server-qux:latest
    container_name: vectra-onpremise-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:主分支的最新版本(与最新版本相同)
  • v*:特定版本标签(例如v1.0.0)

💡 小贴士:每当代码被推送到主分支或发布被标记时,预构建的映像都会通过GitHub Actions自动构建和发布。这确保您始终获得最新的测试版本,而无需在本地构建。

选项2:从源代码构建

对于开发或定制,您可以从源代码构建Docker镜像。

先决条件

  1. 安装Docker和Docker Compose
    • Docker桌面 (包括Docker Compose)
    • 或者在Linux上分别安装Docker Engine和Docker Compose

从源代码构建步骤

  1. 克隆/下载项目 到您的本地计算机
  2. 导航到项目目录:
cd your-project-directory
  1. 配置环境变量:
# Create a .env file with your Vectra On-Premise credentials
cat > .env << EOF
VECTRA_BASE_URL=https://your-vectra-instance.com
VECTRA_API_KEY=your_api_key_here
VECTRA_API_VERSION=v2.5
VECTRA_VERIFY_SSL=true
EOF

然后编辑 .env 文件中包含您的实际Vectra AI本地平台凭据。

  1. 使用Docker构建和运行:
# Build the image
docker build -t vectra-onpremise-mcp-server .
  1. 运行本地生成的映像:

选择您的运输方式,并使用本地构建的映像运行:

可流式HTTP传输

docker run -d \
  --name vectra-onpremise-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-onpremise-mcp-server

苏格兰和南方能源公司运输

docker run -d \
  --name vectra-onpremise-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-onpremise-mcp-server

标准运输

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

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

访问HTTP服务器

使用HTTP传输运行时(sse 或 streamable-http),MCP服务器将在以下位置可用:

  • 可流式传输的HTTP: http://localhost:8000/mcp
  • 上海证券交易所: http://localhost:8000/sse

Docker的MCP客户端配置

对于连接到Docker化服务器的基于HTTP的MCP客户端,请使用适当的端点:

{
  "mcpServers": {
    "vectra-ai-onpremise-mcp": {
      "transport": {
        "type": "http",
        "url": "http://localhost:8000/"
      }
    }
  }
}

Docker健康检查

Docker容器包含健康检查,将验证服务器是否正常运行:

  • 对于 stdio 传输:始终报告健康(无需检查HTTP端点)
  • 对于HTTP传输:检查HTTP端点可用性

备注MCP(模型上下文协议)是一种新兴且快速发展的技术。使用此服务器时请谨慎,并遵循安全最佳实践,包括适当的凭据管理和网络安全措施。