Skip to main content
Glama

cortex-mcp

TypeScript Node.js MCP License: MIT

MCP-сервер (Model Context Protocol) для Cortex от StrangeBee/TheHive Project. Cortex автоматизирует анализ наблюдаемых объектов (IP-адреса, URL-адреса, хеши, домены, адреса электронной почты, файлы) с помощью анализаторов и выполняет ответные действия через респондеры. Этот MCP-сервер предоставляет LLM полный доступ к конвейеру анализа и администрирования Cortex.

Возможности

  • 31 инструмент MCP, охватывающий всю поверхность API Cortex

  • 4 ресурса MCP для просмотра состояния Cortex

  • 4 промпта MCP с пошаговыми рабочими процессами (настройка, расследование, триаж)

  • Полный жизненный цикл анализаторов/респондеров: просмотр определений, включение, настройка, отключение

  • Автоматическое определение типов данных наблюдаемых объектов (IP, домен, хеш, URL, email)

  • Пакетный анализ с использованием всех применимых анализаторов с агрегацией таксономии

  • Очистка заданий с поддержкой пробного запуска (dry-run)

  • Управление ключами API пользователей (создание, обновление, получение)

  • CRUD-операции с организациями с управлением статусами

  • Поддержка двух ключей API: операции на уровне организации + администрирование суперпользователем

Предварительные требования

  • Node.js 20 или новее

  • Запущенный экземпляр Cortex (рекомендуется v3.x)

  • Ключ API Cortex с соответствующими правами доступа

Установка

git clone https://github.com/solomonneas/cortex-mcp.git
cd cortex-mcp
npm install
npm run build

Конфигурация

Переменная

Обязательно

По умолчанию

Описание

CORTEX_URL

Да

-

Базовый URL Cortex (например, http://cortex.example.com:9001)

CORTEX_API_KEY

Да

-

Ключ API для обычных операций (уровень администратора организации)

CORTEX_SUPERADMIN_KEY

Нет

-

Ключ API суперпользователя для управления организациями/пользователями/определениями

CORTEX_VERIFY_SSL

Нет

true

Установите false для пропуска проверки SSL

CORTEX_TIMEOUT

Нет

30

Тайм-аут запроса в секундах

Использование

Claude Desktop

Добавьте в ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) или %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "cortex": {
      "command": "cortex-mcp",
      "env": {
        "CORTEX_URL": "http://cortex.example.com:9001",
        "CORTEX_API_KEY": "your-org-admin-key",
        "CORTEX_SUPERADMIN_KEY": "your-superadmin-key"
      }
    }
  }
}

Claude Code

claude mcp add cortex \
  --env CORTEX_URL=http://cortex.example.com:9001 \
  --env CORTEX_API_KEY=your-org-admin-key \
  --env CORTEX_SUPERADMIN_KEY=your-superadmin-key \
  -- cortex-mcp

Добавьте --scope user, чтобы сделать его доступным из любой директории, а не только из текущего проекта.

OpenClaw

Если вы запускаете сервер из исходного кода, а не из установленного через npm бинарного файла, укажите command/args на собранный dist/index.js:

openclaw mcp set cortex '{
  "command": "node",
  "args": ["/absolute/path/to/cortex-mcp/dist/index.js"],
  "env": {
    "CORTEX_URL": "http://cortex.example.com:9001",
    "CORTEX_API_KEY": "your-org-admin-key",
    "CORTEX_SUPERADMIN_KEY": "your-superadmin-key"
  }
}'

Или, при глобальной установке через npm:

openclaw mcp set cortex '{
  "command": "cortex-mcp",
  "env": {
    "CORTEX_URL": "http://cortex.example.com:9001",
    "CORTEX_API_KEY": "your-org-admin-key",
    "CORTEX_SUPERADMIN_KEY": "your-superadmin-key"
  }
}'

Затем перезапустите шлюз OpenClaw, чтобы новый сервер был подхвачен:

systemctl --user restart openclaw-gateway
openclaw mcp list   # confirm "cortex" is registered

Hermes Agent

Hermes Agent считывает конфигурацию MCP из ~/.hermes/config.yaml в ключе mcp_servers. Добавьте запись:

mcp_servers:
  cortex:
    command: "cortex-mcp"
    env:
      CORTEX_URL: "http://cortex.example.com:9001"
      CORTEX_API_KEY: "your-org-admin-key"
      CORTEX_SUPERADMIN_KEY: "your-superadmin-key"

Или при запуске из исходного кода, а не из глобальной установки npm:

mcp_servers:
  cortex:
    command: "node"
    args: ["/absolute/path/to/cortex-mcp/dist/index.js"]
    env:
      CORTEX_URL: "http://cortex.example.com:9001"
      CORTEX_API_KEY: "your-org-admin-key"
      CORTEX_SUPERADMIN_KEY: "your-superadmin-key"

Затем перезагрузите MCP внутри сессии Hermes:

/reload-mcp

Codex CLI

Codex CLI регистрирует MCP-серверы через codex mcp add:

codex mcp add cortex \
  --env CORTEX_URL=http://cortex.example.com:9001 \
  --env CORTEX_API_KEY=your-org-admin-key \
  --env CORTEX_SUPERADMIN_KEY=your-superadmin-key \
  -- cortex-mcp

Или при запуске из исходного кода:

codex mcp add cortex \
  --env CORTEX_URL=http://cortex.example.com:9001 \
  --env CORTEX_API_KEY=your-org-admin-key \
  --env CORTEX_SUPERADMIN_KEY=your-superadmin-key \
  -- node /absolute/path/to/cortex-mcp/dist/index.js

Codex записывает запись в ~/.codex/config.toml в разделе [mcp_servers.cortex]. Проверьте с помощью:

codex mcp list

Автономный режим

export CORTEX_URL=http://cortex.example.com:9001
export CORTEX_API_KEY=your-org-admin-key
npm start

Инструменты MCP (31)

Статус

Инструмент

Описание

cortex_get_status

Получить состояние работоспособности, версию и конфигурацию экземпляра Cortex

Инструменты анализаторов

Инструмент

Описание

cortex_list_analyzers

Список всех включенных анализаторов, опционально с фильтрацией по типу данных

cortex_get_analyzer

Получить подробную информацию о конкретном анализаторе по ID

cortex_run_analyzer

Отправить наблюдаемый объект на анализ конкретному анализатору

cortex_run_analyzer_by_name

Запустить анализатор по имени, а не по ID (удобная обертка)

cortex_run_analyzer_file

Отправить файл (по пути или в формате base64) на анализ анализатору

Инструменты определений анализаторов

Инструмент

Описание

cortex_list_analyzer_definitions

Просмотр всех 260+ доступных определений анализаторов с фильтрацией (по типу данных, бесплатные/без настройки, поиск)

cortex_enable_analyzer

Включить определение анализатора в текущей организации с настройкой

cortex_disable_analyzer

Отключить (удалить) включенный анализатор

Инструменты заданий

Инструмент

Описание

cortex_get_job

Получить статус и детали задания анализа

cortex_get_job_report

Получить полный отчет о завершенном задании анализа

cortex_wait_and_get_report

Дождаться завершения задания и вернуть отчет

cortex_list_jobs

Список недавних заданий анализа с опциональными фильтрами

cortex_get_job_artifacts

Получить артефакты (извлеченные IOC) из завершенного задания

cortex_delete_job

Удалить конкретное задание

cortex_cleanup_jobs

Массовое удаление заданий по статусу или возрасту (с пробным запуском)

Инструменты респондеров

Инструмент

Описание

cortex_list_responders

Список всех включенных респондеров, опционально с фильтрацией по типу данных

cortex_run_responder

Выполнить действие респондера для сущности TheHive

Инструменты определений респондеров

Инструмент

Описание

cortex_list_responder_definitions

Просмотр всех 137+ доступных определений респондеров с фильтрацией

cortex_enable_responder

Включить определение респондера с настройкой

cortex_disable_responder

Отключить (удалить) включенный респондер

Массовые операции

Инструмент

Описание

cortex_analyze_observable

Запустить ВСЕ применимые анализаторы с автоматически определенным типом данных и агрегированными результатами таксономии

Управление организацией (суперпользователь)

Инструмент

Описание

cortex_list_organizations

Список всех организаций

cortex_get_organization

Получить детали организации

cortex_create_organization

Создать новую организацию

cortex_update_organization

Обновить описание или статус организации

Управление пользователями (суперпользователь)

Инструмент

Описание

cortex_list_users

Список всех пользователей во всех организациях

cortex_get_user

Получить детали пользователя

cortex_create_user

Создать нового пользователя в организации

cortex_renew_user_key

Сгенерировать новый ключ API для пользователя (предыдущий аннулируется)

cortex_get_user_key

Получить текущий ключ API пользователя

Ресурсы MCP (4)

URI

Описание

cortex://analyzers

Включенные анализаторы с их возможностями

cortex://analyzer-definitions

Все 260+ доступных определений анализаторов с требованиями к конфигурации

cortex://responder-definitions

Все 137+ доступных определений респондеров с требованиями к конфигурации

cortex://jobs/recent

Последние 50 заданий анализа

Промпты MCP (4)

Промпт

Описание

analyze-observable

Пошаговый рабочий процесс для анализа наблюдаемого объекта через Cortex

investigate-ioc

Рабочий процесс глубокого расследования подозрительного IOC

setup-cortex

Мастер настройки для новых экземпляров Cortex (включение бесплатных анализаторов, настройка ключей API)

triage-alert

Структурированный рабочий процесс триажа оповещений с анализом нескольких объектов и оценкой рисков

Примеры

Настройка анализаторов с нуля

1. Use cortex_list_analyzer_definitions with freeOnly=true to find analyzers
   that need no API keys.
2. Use cortex_enable_analyzer to enable "Abuse_Finder_3_0" with empty config.
3. Use cortex_analyze_observable with data "8.8.8.8" to analyze the IP.

Автоматическое определение типа наблюдаемого объекта

Use cortex_analyze_observable with data "185.220.101.42"
(no dataType needed - auto-detects as IP)

Очистка старых неудачных заданий

Use cortex_cleanup_jobs with status "Failure", dryRun true to preview,
then dryRun false to delete.

Анализ файла

Use cortex_run_analyzer_file with analyzerId "Yara_3_0",
filePath "/tmp/suspicious.exe" to scan with YARA rules.

Управление ключами API

Use cortex_renew_user_key with userId "analyst1" to rotate their API key.

Триаж оповещения безопасности

Use the triage-alert prompt with alertDescription "Suspicious outbound traffic
detected" and observables "185.220.101.42, evil.example.com, 44d88612fea8a8f36de82e1278abb02f"

Поддерживаемые типы данных

Тип

Примеры

Автоопределение

ip

8.8.8.8, 2001:db8::1

domain

example.com

url

https://malware.example.com/payload

hash

MD5, SHA1, SHA256, SHA512

mail

user@example.com

fqdn

mail.example.com

Как домен

filename

malware.exe

Вручную

registry

HKLM\Software\Malware

Вручную

file

Загрузка бинарных файлов

Вручную

other

CVE, пользовательские типы

Вручную

Тестирование

npm test              # Unit tests (36 tests)
npm run test:watch    # Watch mode
npm run lint          # Type check

# Integration tests (requires live Cortex instance)
CORTEX_URL=http://cortex:9001 \
CORTEX_API_KEY=your-key \
CORTEX_SUPERADMIN_KEY=your-superadmin-key \
npx vitest run tests/integration.test.ts

Структура проекта

cortex-mcp/
  src/
    index.ts                  # MCP server entry point
    config.ts                 # Environment config + validation
    client.ts                 # Cortex REST API client (full surface)
    types.ts                  # Cortex API type definitions
    resources.ts              # MCP resources (4)
    prompts.ts                # MCP prompts (2)
    tools/
      analyzers.ts            # Analyzer tools (list, get, run, run-by-name)
      analyzer-definitions.ts # Definition browsing, enable, disable
      jobs.ts                 # Job management + cleanup
      responders.ts           # Responder tools (list, run)
      responder-definitions.ts # Definition browsing, enable, disable
      bulk.ts                 # Bulk analysis with auto-detect
      status.ts               # Health/version check
      organizations.ts        # Org CRUD (superadmin)
      users.ts                # User CRUD + key management (superadmin)
  tests/
    client.test.ts            # API client unit tests
    tools.test.ts             # Tool handler unit tests
    integration.test.ts       # Live instance integration tests (21 tests)
  scripts/
    proxmox_install.sh        # Proxmox LXC deployment script

Развертывание

Proxmox LXC

bash -c "$(wget -qLO - https://raw.githubusercontent.com/solomonneas/cortex-mcp/main/scripts/proxmox_install.sh)"

Лицензия

MIT

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - A 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/solomonneas/cortex-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server