Vectra AI MCP Server
Vectra AI MCP Server
Этот проект реализует MCP-сервер для платформы Vectra AI.
Что такое Vectra AI MCP?
MCP-сервер, который подключает ИИ-ассистентов к вашей платформе безопасности Vectra AI, обеспечивая интеллектуальный анализ данных об обнаружении угроз, аналитику безопасности и автоматизированные рабочие процессы реагирования на инциденты. Совместим с Claude, ChatGPT, Cursor, VS Code и другими ИИ-инструментами с поддержкой MCP.
Что можно делать с помощью Vectra AI MCP?
Расследовать угрозы на естественном языке
Принимать меры реагирования в 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Настройте учетные данные:
Вариант А: Один арендатор (файл .env)
# Copy the example environment file
cp .env.example .envЗатем отредактируйте файл .env, указав свои актуальные учетные данные платформы Vectra AI.
Необходимые переменные для обновления:
VECTRA_BASE_URL: URL вашего портала VectraVECTRA_CLIENT_ID: Ваш идентификатор клиента (client ID) из VectraVECTRA_CLIENT_SECRET: Ваш секретный ключ клиента (client secret) из Vectra
Вариант Б: Несколько арендаторов (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Это установит все зависимости, указанные в pyproject.toml, используя точные версии из uv.lock.
Запустите приложение:
Сервер поддерживает несколько транспортных протоколов:
# 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: Server-Sent Events через 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Настройка MCP для Claude Desktop
Добавьте 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-клиентов
После настройки вы сможете использовать возможности платформы Vectra AI непосредственно в Claude Desktop или других MCP-клиентах через этот MCP-сервер!
Для других MCP-клиентов, помимо Claude Desktop, обратитесь к ссылкам на документацию ниже:
MCP-клиент | Ссылка на документацию |
Общая настройка MCP | |
Cursor | |
VS Code | https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_add-an-mcp-server |
Для других MCP-клиентов обратитесь к их соответствующей документации. Общий шаблон схож — вам нужно будет указать команду и аргументы для запуска MCP-сервера с той же структурой конфигурации.
Настройка — Развертывание в Docker
Для развертывания в продакшене или упрощения настройки вы можете запустить Vectra AI MCP Server с помощью Docker. Мы предоставляем два варианта:
Вариант 1: Использование готовых образов (рекомендуется)
Самый простой способ начать — использовать наши готовые Docker-образы из GitHub Container Registry.
Предварительные требования
Docker Desktop или Docker Engine
Шаги для быстрого запуска
Настройте переменные окружения:
# Copy the example environment file
cp .env.example .envЗатем отредактируйте файл .env, указав свои актуальные учетные данные платформы Vectra AI.
Запустите с помощью готового образа:
Потоковый 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-транспорт (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: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: Последняя стабильная сборка из ветки mainmain: Последняя сборка из ветки main (аналогично latest)v*: Теги конкретных версий (например, v1.0.0)
💡 Совет: Готовые образы автоматически собираются и публикуются через GitHub Actions при каждом пуше кода в ветку main или при создании тегов релизов. Это гарантирует, что вы всегда получите последнюю протестированную версию без необходимости сборки локально.
Вариант 2: Сборка из исходного кода
Для разработки или внесения изменений вы можете собрать Docker-образ из исходного кода.
Предварительные требования
Установите Docker и Docker Compose
Docker Desktop (включает Docker Compose)
Или установите Docker Engine и Docker Compose отдельно в Linux
Шаги по сборке из исходного кода
Клонируйте/скачайте проект на свой локальный компьютер
Перейдите в директорию проекта:
cd your-project-directoryНастройте переменные окружения:
# Copy the example environment file
cp .env.example .envЗатем отредактируйте файл .env, указав свои актуальные учетные данные платформы Vectra AI.
Соберите и запустите с помощью 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-serverНастройка Docker для нескольких арендаторов
Чтобы запустить сервер в режиме нескольких арендаторов с 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:latestПеременные окружения Docker
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-сервер будет доступен по адресу:
Streamable HTTP:
http://localhost:8000/mcpSSE:
http://localhost:8000/sse
Конфигурация 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) — это развивающаяся и быстро меняющаяся технология. Будьте осторожны при использовании этого сервера и следуйте лучшим практикам безопасности, включая надлежащее управление учетными данными и меры сетевой безопасности.
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