关于 MCP Server for Cortex
MCP Server for Cortex 将 Cortex 的可观测对象分析能力提供给 MCP 客户端。安全团队可调用已配置的 Cortex 分析器,分析 IP、URL、域名和文件并获取结构化结果。
主要功能
- 01对可观测对象运行 Cortex 分析器
- 02分析 IP 和 URL
- 03返回结构化分析结果
- 04使用 Cortex API 密钥认证
适用场景
- 01在威胁调查中丰富 IP 信息
- 02使用已配置的分析器检查 URL
- 03通过 Cortex 分析域名或文件
MCP 相关
它提供 MCP 工具,让兼容客户端向 Cortex 实例请求分析并接收结构化结果。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Cortex MCP 服务

此服务充当桥梁,将 Cortex 实例强大的分析能力作为工具开放给 Model Context Protocol(MCP)客户端使用,例如 Claude 这类大模型。它使这些客户端能够利用 Cortex 分析器执行威胁情报任务。
什么是 Cortex?
Cortex 是一款强大的免费开源可观测数据分析与主动响应引擎。它允许你使用各种“分析器”分析可观测数据(例如 IP、URL、域名、文件等);分析器是连接外部服务或执行本地分析的模块化代码。
使用 Cortex(及此 MCP 服务)的优势:
- 集中分析:从单一位置运行各种分析。
- 可扩展性:轻松添加用于不同威胁情报源和工具的新分析器。
- 自动化:自动执行可观测数据丰富化流程。
- 集成:旨在与 TheHive(安全事件响应平台,SIRP)紧密协作,也可独立使用。
- 安全性:通过基于 API 密钥的访问保护你的 Cortex 实例。
此 MCP 服务让 MCP 兼容客户端能够利用这些优势,发起分析并接收结构化结果。
前置条件
- Rust 工具链:确保已安装 Rust(访问 rustup.rs)。
- Cortex 实例:需要一个正在运行的 Cortex 实例。
- 服务需要能够通过网络访问此 Cortex 实例。
- 需要具有列出分析器和运行任务权限的 Cortex API 密钥。
- 已配置的分析器:你计划使用的特定分析器(例如
AbuseIPDB_1_0、Abuse_Finder_3_0、VirusTotal_Scan_3_1、Urlscan_io_Scan_0_1_0)必须在 Cortex 实例中启用并正确配置。
安装
推荐通过下载适用于你操作系统的预编译二进制文件来安装 Cortex MCP 服务。
-
前往 Releases 页面: 前往 GitHub Releases 页面。
-
下载二进制文件: 找到最新版本,并下载适用于你操作系统的二进制文件(例如
mcp-server-cortex-linux-amd64、mcp-server-cortex-macos-amd64、mcp-server-cortex-windows-amd64.exe)。 -
放置并准备二进制文件:
- 将下载的二进制文件移动到系统中的合适位置(例如 Linux/macOS 上的
/usr/local/bin,或 Windows 上的专用文件夹,如C:\Program Files\MCP Servers\)。 - 对于 Linux/macOS:使二进制文件可执行:
chmod +x /path/to/your/mcp-server-cortex - 如果你希望运行时无需指定完整路径,请确保包含该二进制文件的目录位于系统的
PATH中。
- 将下载的二进制文件移动到系统中的合适位置(例如 Linux/macOS 上的
或者,你也可以从源代码构建此服务(参见下方的构建部分)。
配置
此服务使用以下环境变量进行配置:
CORTEX_ENDPOINT:Cortex API 的完整 URL。- 示例:
http://localhost:9000/api
- 示例:
CORTEX_API_KEY:用于通过 Cortex 实例身份验证的 API 密钥。RUST_LOG(可选):控制服务的日志级别。- 示例:
info(用于常规信息) - 示例:
mcp_server_cortex=debug,cortex_client=info(用于查看详细的服务日志和 cortex 客户端库信息)
- 示例:
Cortex Analyzer 配置
要使此 MCP 服务提供的工具正常运行,必须在 Cortex 实例中启用并正确配置相应的分析器。该服务依赖这些 Cortex 分析器来执行实际的分析任务。
这些工具目前默认使用以下分析器(不过通常可以通过工具参数覆盖):
analyze_ip_with_abuseipdb:使用类似AbuseIPDB_1_0的分析器。- 此分析器通常需要 AbuseIPDB 的 API 密钥。请确保已在 Cortex 中配置该密钥。
analyze_with_abusefinder:使用类似Abuse_Finder_3_0的分析器。- AbuseFinder 可能有自己的配置要求或在 Cortex 中的依赖项。
scan_url_with_virustotal:使用类似VirusTotal_Scan_3_1的分析器。- 此分析器需要 VirusTotal API 密钥。请确保已在 Cortex 中配置该密钥。
analyze_url_with_urlscan_io:使用类似Urlscan_io_Scan_0_1_0的分析器。- 此分析器需要 urlscan.io 的 API 密钥。请确保已在 Cortex 中配置该密钥。
要点:
- 启用分析器:确保在 Cortex 实例的“Organization” -> “Analyzers”部分启用了要使用的分析器。
- 配置分析器:每个分析器在 Cortex 中都有自己的配置页面,你需要在其中输入 API 密钥、设置阈值或定义其他运行参数。请参阅各个 Cortex 分析器的文档。
- 在 Cortex 中测试:建议先直接在 Cortex UI 中测试分析器,确认其按预期运行后,再通过此 MCP 服务使用它们。
如果分析器未配置、未启用或配置错误(例如,API 密钥无效),MCP 客户端发出的相应工具调用可能会失败,或返回 Cortex 错误。
示例:Claude Desktop 配置
对于 Claude Desktop 之类的 MCP 客户端,通常需要指定启动 MCP 服务的命令,以及该服务所需的环境变量来进行配置。
-
构建或下载服务二进制文件: 确保你有
mcp-server-cortex可执行文件。如果你从源代码构建了它,它会位于target/debug/mcp_server_cortex或target/release/mcp_server_cortex。 -
配置你的大模型客户端(例如 Claude Desktop):
-
配置大模型客户端的方法因客户端而异。
-
对于支持 MCP 的客户端,通常需要将客户端指向
mcp-server-cortex可执行文件的路径。 -
Claude Desktop
claude_desktop_config.json配置示例: 你需要修改 Claude Desktop 配置文件(通常是claude_desktop_config.json),为此服务添加一个条目。例如,如果你的
mcp-server-cortex二进制文件位于/opt/mcp-servers/mcp-server-cortex,配置可能如下所示:{ "mcpServers": { // ... other server configurations ... "cortex": { "command": "/opt/mcp-servers/mcp-server-cortex", "args": [], "env": { "CORTEX_ENDPOINT": "http://your-cortex-instance:9000/api", "CORTEX_API_KEY": "your_cortex_api_key_here", } } // ... other server configurations ... } }
-
可用工具
MCP 客户端可以调用服务器提供的以下工具:
-
analyze_ip_with_abuseipdb- 描述:通过 Cortex 使用 AbuseIPDB 分析器(或类似配置的 IP 信誉分析器)分析 IP 地址。成功时返回任务报告。
- 参数:
ip(字符串,必填):要分析的 IP 地址。analyzer_name(字符串,可选):Cortex 中 AbuseIPDB 分析器实例的具体名称。默认为AbuseIPDB_1_0。max_retries(整数,可选):轮询分析器任务直至完成的最大次数。默认为 5。
-
analyze_with_abusefinder- 描述:通过 Cortex 使用 AbuseFinder 分析器分析各种类型的数据(IP、域名、FQDN、URL 或电子邮件)。成功时返回任务报告。
- 参数:
data(字符串,必填):要分析的数据(例如:"1.1.1.1"、"example.com"、"http://evil.com/malware"、"[email protected]")。data_type(字符串,必填):数据类型。必须是以下值之一:ip、domain、fqdn、url、mail。analyzer_name(字符串,可选):Cortex 中 AbuseFinder 分析器实例的具体名称。默认为Abuse_Finder_3_0。max_retries(整数,可选):轮询分析器任务直至完成的最大次数。默认为 5。
-
scan_url_with_virustotal- 描述:通过 Cortex 使用 VirusTotal_Scan 分析器(例如
VirusTotal_Scan_3_1)扫描 URL。成功时返回任务报告。 - 参数:
url(字符串,必填):要扫描的 URL。analyzer_name(字符串,可选):Cortex 中 VirusTotal_Scan 分析器实例的具体名称。默认为VirusTotal_Scan_3_1。max_retries(整数,可选):轮询分析器任务直至完成的最大次数。默认为 5。
- 描述:通过 Cortex 使用 VirusTotal_Scan 分析器(例如
-
analyze_url_with_urlscan_io- 描述:通过 Cortex 使用 Urlscan.io 分析器(例如
Urlscan_io_Scan_0_1_0)分析 URL。成功时返回任务报告。 - 参数:
url(字符串,必填):要分析的 URL。analyzer_name(字符串,可选):Cortex 中 Urlscan.io 分析器实例的具体名称。默认为Urlscan_io_Scan_0_1_0。max_retries(整数,可选):轮询分析器任务直至完成的最大次数。默认为 5。
- 描述:通过 Cortex 使用 Urlscan.io 分析器(例如
构建
要从源代码构建服务器,请确保已安装 Rust 工具链(如“先决条件”部分所述)。
-
克隆仓库(如果尚未克隆):
git clone https://github.com/gbrigandi/mcp-server-cortex.git cd mcp-server-cortex如果你已经在克隆的仓库中,并且位于其根目录下,可以跳过此步骤。
-
使用 Cargo 构建项目:
- 调试构建:
可执行文件位于cargo buildtarget/debug/mcp-server-cortex。 - 发布构建(推荐用于提升性能和实际使用):
可执行文件位于cargo build --releasetarget/release/mcp-server-cortex。
- 调试构建:
构建完成后,可以运行服务器可执行文件。所需的环境变量请参阅“配置”部分;MCP 客户端如何启动服务器,请参阅“示例:Claude Desktop 配置”。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。