Allows for the submission of observables like IPs and hashes to VirusTotal through Cortex's analysis pipeline for security enrichment.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@cortex-mcpAnalyze the IP 185.220.101.42 and give me a summary of the findings"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
cortex-mcp
An MCP (Model Context Protocol) server for Cortex - the observable analysis and active response engine by StrangeBee/TheHive Project.
Cortex automates the analysis of observables (IPs, URLs, hashes, domains, emails, files) using analyzers and can execute response actions via responders. This MCP server exposes Cortex's full analysis pipeline to LLMs, enabling AI-driven observable enrichment and automated response orchestration.
Features
12 MCP tools covering analyzers, jobs, responders, and bulk operations
2 MCP resources for browsing Cortex state
2 MCP prompts with guided investigation workflows
Full TLP/PAP support for data classification
Bulk analysis across all applicable analyzers with taxonomy aggregation
Structured error handling with meaningful messages
Prerequisites
Node.js 20 or later
A running Cortex instance (v3.x recommended)
A Cortex API key with appropriate permissions
Installation
Configuration
Set these environment variables before running the server:
Variable | Required | Default | Description |
| Yes | - | Cortex base URL (e.g., |
| Yes | - | API key for authentication |
| No |
| Set to |
Example .env file:
Usage
With Claude Desktop
Add to your Claude Desktop MCP configuration (claude_desktop_config.json):
Standalone
Development
MCP Tools
Analyzer Tools
Tool | Description |
| List all enabled analyzers, optionally filtered by data type |
| Get details about a specific analyzer by ID |
| Submit an observable to a specific analyzer for analysis |
| Run an analyzer by name instead of ID (convenience wrapper) |
Job Tools
Tool | Description |
| Get the status and details of an analysis job |
| Get the full report of a completed analysis job |
| Wait for a job to complete and return the report |
| List recent analysis jobs with optional filters |
| Get artifacts (extracted IOCs) from a completed job |
Responder Tools
Tool | Description |
| List all enabled responders, optionally filtered by data type |
| Execute a responder action against a TheHive entity |
Bulk Operations
Tool | Description |
| Run ALL applicable analyzers and return aggregated results with taxonomy summary |
MCP Resources
URI | Description |
| List of all enabled analyzers with capabilities |
| Last 50 analysis jobs |
MCP Prompts
Prompt | Description |
| Guided workflow for analyzing an observable through Cortex |
| Deep investigation workflow for a suspicious IOC |
Examples
Analyze an IP address
The server will submit the IP to all analyzers that support the ip data type (VirusTotal, AbuseIPDB, etc.), wait for results, and return an aggregated report with taxonomy counts:
Run a specific analyzer
Check job status
Execute a responder
Supported Data Types
Type | Examples |
|
|
|
|
|
|
|
|
| MD5, SHA1, SHA256 hashes |
|
|
|
|
|
|
| Regular expression patterns |
| Any other observable type |
Testing
Project Structure
License
MIT