cortex-mcp
Un servidor MCP (Model Context Protocol) para Cortex de StrangeBee/TheHive Project. Cortex automatiza el análisis de observables (IP, URL, hashes, dominios, correos electrónicos, archivos) mediante analizadores y ejecuta acciones de respuesta a través de respondedores. Este servidor MCP expone toda la canalización de análisis y administración de Cortex a los LLM.
Características
31 herramientas MCP que cubren toda la superficie de la API de Cortex
4 recursos MCP para explorar el estado de Cortex
4 prompts MCP con flujos de trabajo guiados (configuración, investigación, triaje)
Ciclo de vida completo de analizadores/respondedores: explorar definiciones, habilitar, configurar, deshabilitar
Detección automática de tipos de datos de observables (IP, dominio, hash, URL, correo electrónico)
Análisis masivo en todos los analizadores aplicables con agregación de taxonomía
Limpieza de trabajos con soporte para ejecución de prueba (dry-run)
Gestión de claves API de usuario (crear, renovar, recuperar)
CRUD de organizaciones con gestión de estado
Soporte para doble clave API: operaciones a nivel de organización + administración de superadministrador
Related MCP server: misp-mcp
Requisitos previos
Node.js 20 o superior
Una instancia de Cortex en ejecución (se recomienda v3.x)
Una clave API de Cortex con los permisos adecuados
Instalación
git clone https://github.com/solomonneas/cortex-mcp.git
cd cortex-mcp
npm install
npm run buildConfiguración
Variable | Requerido | Predeterminado | Descripción |
| Sí | - | URL base de Cortex (ej. |
| Sí | - | Clave API para operaciones normales (nivel de administrador de org) |
| No | - | Clave API de superadministrador para gestión de org/usuario/definiciones |
| No |
| Establecer en |
| No |
| Tiempo de espera de la solicitud en segundos |
Uso
Claude Desktop
Añadir a ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o %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-mcpAñada --scope user para que esté disponible desde cualquier directorio en lugar de solo el proyecto actual.
OpenClaw
Si está ejecutando desde una descarga de código fuente en lugar del binario instalado por npm, apunte command/args al archivo compilado 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"
}
}'O, con la instalación global de 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"
}
}'Luego reinicie la puerta de enlace de OpenClaw para que se detecte el nuevo servidor:
systemctl --user restart openclaw-gateway
openclaw mcp list # confirm "cortex" is registeredHermes Agent
Hermes Agent lee la configuración de MCP desde ~/.hermes/config.yaml bajo la clave mcp_servers. Añada una entrada:
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"O, al ejecutar desde una descarga de código fuente en lugar de la instalación global de 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"Luego recargue MCP desde dentro de una sesión de Hermes:
/reload-mcpCodex CLI
Codex CLI registra servidores MCP mediante 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-mcpO, al ejecutar desde una descarga de código fuente:
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.jsCodex escribe la entrada en ~/.codex/config.toml bajo [mcp_servers.cortex]. Verifique con:
codex mcp listIndependiente
export CORTEX_URL=http://cortex.example.com:9001
export CORTEX_API_KEY=your-org-admin-key
npm startHerramientas MCP (31)
Estado
Herramienta | Descripción |
| Obtener el estado de salud, la versión y la configuración de la instancia de Cortex |
Herramientas de analizador
Herramienta | Descripción |
| Listar todos los analizadores habilitados, opcionalmente filtrados por tipo de datos |
| Obtener detalles sobre un analizador específico por ID |
| Enviar un observable a un analizador específico para su análisis |
| Ejecutar un analizador por nombre en lugar de ID (envoltorio de conveniencia) |
| Enviar un archivo (desde ruta o base64) a un analizador para su análisis |
Herramientas de definición de analizador
Herramienta | Descripción |
| Explorar más de 260 definiciones de analizadores disponibles con filtrado (por tipo de datos, gratuito/sin configuración, búsqueda) |
| Habilitar una definición de analizador en la organización actual con configuración |
| Deshabilitar (eliminar) un analizador habilitado |
Herramientas de trabajo
Herramienta | Descripción |
| Obtener el estado y los detalles de un trabajo de análisis |
| Obtener el informe completo de un trabajo de análisis completado |
| Esperar a que un trabajo se complete y devolver el informe |
| Listar trabajos de análisis recientes con filtros opcionales |
| Obtener artefactos (IOC extraídos) de un trabajo completado |
| Eliminar un trabajo específico |
| Eliminar trabajos de forma masiva por estado o antigüedad (con ejecución de prueba) |
Herramientas de respondedor
Herramienta | Descripción |
| Listar todos los respondedores habilitados, opcionalmente filtrados por tipo de datos |
| Ejecutar una acción de respondedor contra una entidad de TheHive |
Herramientas de definición de respondedor
Herramienta | Descripción |
| Explorar más de 137 definiciones de respondedores disponibles con filtrado |
| Habilitar una definición de respondedor con configuración |
| Deshabilitar (eliminar) un respondedor habilitado |
Operaciones masivas
Herramienta | Descripción |
| Ejecutar TODOS los analizadores aplicables con tipo de datos detectado automáticamente y resultados de taxonomía agregados |
Gestión de organizaciones (superadministrador)
Herramienta | Descripción |
| Listar todas las organizaciones |
| Obtener detalles de la organización |
| Crear una nueva organización |
| Actualizar la descripción o el estado de la organización |
Gestión de usuarios (superadministrador)
Herramienta | Descripción |
| Listar todos los usuarios en todas las organizaciones |
| Obtener detalles del usuario |
| Crear un nuevo usuario en una organización |
| Generar una nueva clave API para un usuario (invalida la anterior) |
| Recuperar la clave API actual de un usuario |
Recursos MCP (4)
URI | Descripción |
| Analizadores habilitados con capacidades |
| Más de 260 definiciones de analizadores disponibles con requisitos de configuración |
| Más de 137 definiciones de respondedores disponibles con requisitos de configuración |
| Últimos 50 trabajos de análisis |
Prompts MCP (4)
Prompt | Descripción |
| Flujo de trabajo guiado para analizar un observable a través de Cortex |
| Flujo de trabajo de investigación profunda para un IOC sospechoso |
| Asistente de configuración guiado para instancias nuevas de Cortex (habilitar analizadores gratuitos, configurar claves API) |
| Flujo de trabajo estructurado de triaje de alertas con análisis de múltiples observables y evaluación de riesgos |
Ejemplos
Configurar analizadores desde cero
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.Detección automática de tipo de observable
Use cortex_analyze_observable with data "185.220.101.42"
(no dataType needed - auto-detects as IP)Limpiar trabajos antiguos fallidos
Use cortex_cleanup_jobs with status "Failure", dryRun true to preview,
then dryRun false to delete.Analizar un archivo
Use cortex_run_analyzer_file with analyzerId "Yara_3_0",
filePath "/tmp/suspicious.exe" to scan with YARA rules.Gestionar claves API
Use cortex_renew_user_key with userId "analyst1" to rotate their API key.Triaje de una alerta de seguridad
Use the triage-alert prompt with alertDescription "Suspicious outbound traffic
detected" and observables "185.220.101.42, evil.example.com, 44d88612fea8a8f36de82e1278abb02f"Tipos de datos admitidos
Tipo | Ejemplos | Detectado automáticamente |
|
| ✅ |
|
| ✅ |
|
| ✅ |
| MD5, SHA1, SHA256, SHA512 | ✅ |
|
| ✅ |
|
| Como dominio |
|
| Manual |
|
| Manual |
| Cargas de archivos binarios | Manual |
| CVE, tipos personalizados | Manual |
Pruebas
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.tsEstructura del proyecto
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 scriptDespliegue
Proxmox LXC
bash -c "$(wget -qLO - https://raw.githubusercontent.com/solomonneas/cortex-mcp/main/scripts/proxmox_install.sh)"Licencia
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceAn MCP server that extracts Indicators of Compromise (IoCs) from unstructured text and checks their reputation across multiple threat intelligence services. It enables real-time analysis of IPs, domains, hashes, and URLs, providing enriched context for security workflows within LLMs.519MIT
- AlicenseAqualityAmaintenanceAn MCP server that enables LLMs to interact with MISP for threat intelligence sharing, IOC lookups, and event management. It provides tools for investigating indicators, discovering correlations, and exporting intelligence in formats like STIX and Suricata.36312MIT
- FlicenseNot gradedqualityDmaintenanceA security-focused MCP server that enables automated log retrieval and threat analysis using LangGraph orchestration and RAG. It allows users to detect suspicious activity and generate structured security insights by integrating LLM reasoning with log data and runbook documentation.
- AlicenseNot gradedqualityDmaintenanceMCP server that provides condensed and normalized data from OpenCTI to LLMs, enabling lookup of observables, adversaries, and reports with enriched context.16MIT
Related MCP Connectors
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/lidless-labs/cortex-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server