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然后使用您实际的 Vectra AI 平台凭据编辑 .env 文件。
需要更新的变量:
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 的服务器发送事件(适用于基于 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 配置
将 MCP 服务器添加到 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将以下配置添加到 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"
]
}
}
}调试 - 查找您的 uv 安装路径:
# Find where uv is installed
which uv
# or
where uv调试 - 获取项目的绝对路径:
# From your project directory, run:
pwd重启 Claude 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 服务器。我们提供两种选项:
选项 1:使用预构建镜像(推荐)
入门的最简单方法是使用我们从 GitHub Container Registry 提供的预构建 Docker 镜像。
前置要求
Docker Desktop 或 Docker Engine
快速入门步骤
配置环境变量:
# Copy the example environment file
cp .env.example .env然后使用您实际的 Vectra AI 平台凭据编辑 .env 文件。
使用预构建镜像运行:
可流式传输的 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 传输(服务器发送事件)
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然后使用您实际的 Vectra AI 平台凭据编辑 .env 文件。
使用 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: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: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 服务器将在以下地址可用:
可流式传输的 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(模型上下文协议)是一项新兴且快速发展的技术。使用此服务器时请务必谨慎,并遵循安全最佳实践,包括适当的凭据管理和网络安全措施。
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