
此服务器充当桥梁,将一个 Cortex 实例的强大分析能力作为工具提供给 Model Context Protocol (MCP) 客户端使用,例如 Claude 这样的大型语言模型。它允许这些客户端利用 Cortex 分析器进行威胁情报任务。
Cortex 是一个强大、免费且开源的可观察性分析和主动响应引擎。它允许您使用各种“分析器”——连接外部服务或执行本地分析的模块化代码片段来分析可观察对象(如 IP 地址、URL、域名、文件等)。
使用 Cortex(以及这个 MCP 服务器)的好处:
此 MCP 服务器使这些好处对兼容 MCP 的客户端可用,使它们能够请求分析并接收结构化的结果。
AbuseIPDB_1_0,Abuse_Finder_3_0,VirusTotal_Scan_3_1,Urlscan_io_Scan_0_1_0)必须在您的 Cortex 实例中启用并正确配置。推荐的安装方式是下载适用于您操作系统的预编译二进制文件。
前往发布页面: 导航到 GitHub 发布页面。
下载二进制文件:
查找最新发布的版本,并下载适合您操作系统的二进制文件(例如,mcp-server-cortex-linux-amd64,mcp-server-cortex-macos-amd64,mcp-server-cortex-windows-amd64.exe)。
放置并准备二进制文件:
/usr/local/bin,或者在 Windows 上为 C:\Program Files\MCP Servers\)。chmod +x /path/to/your/mcp-server-cortex
PATH 中。另外,您可以从源代码构建服务器(参见下文的构建部分)。
服务器通过以下环境变量进行配置:
CORTEX_ENDPOINT:指向您的 Cortex API 的完整 URL。
http://localhost:9000/apiCORTEX_API_KEY:用于与 Cortex 实例进行身份验证的 API 密钥。RUST_LOG(可选):控制服务器的日志级别。
info(一般信息)mcp_server_cortex=debug,cortex_client=info(详细的服务器日志和来自 cortex 客户端库的信息)为了使此 MCP 服务器提供的工具正常工作,对应的分析器必须在您的 Cortex 实例中启用并正确配置。服务器依赖于这些 Cortex 分析器来执行实际的分析任务。
当前工具默认使用以下分析器(尽管这些通常可以通过工具参数覆盖):
analyze_ip_with_abuseipdb:使用类似 AbuseIPDB_1_0 的分析器。
analyze_with_abusefinder:使用类似 Abuse_Finder_3_0 的分析器。
scan_url_with_virustotal:使用类似 VirusTotal_Scan_3_1 的分析器。
analyze_url_with_urlscan_io:使用类似 Urlscan_io_Scan_0_1_0 的分析器。
关键点:
如果分析器未配置、未启用或配置错误(例如,无效的 API 密钥),则从 MCP 客户端调用相应工具时可能会失败或从 Cortex 返回错误。
对于像 Claude Desktop 这样的 MCP 客户端,通常通过指定启动 MCP 服务器的命令以及该服务器所需的任何环境变量来进行配置。
构建或下载服务器二进制文件:
确保您拥有 mcp-server-cortex 可执行文件。如果您是从源代码构建的,则会在 target/debug/mcp_server_cortex 或 target/release/mcp_server_cortex 中找到它。
配置您的 LLM 客户端(例如,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": {
// ... 其他服务器配置 ...
"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",
}
}
// ... 其他服务器配置 ...
}
}
服务器提供了以下工具,可以由 MCP 客户端调用:
analyze_ip_with_abuseipdb
ip(字符串,必需):要分析的 IP 地址。analyzer_name(字符串,可选):Cortex 中 AbuseIPDB 分析器实例的具体名称。默认为 AbuseIPDB_1_0。max_retries(整数,可选):轮询分析器作业完成的最大次数。默认为 5。analyze_with_abusefinder
data(字符串,必需):要分析的数据(例如,“1.1.1.1”,“example.com”,“http://evil.com/malware”,“test@example.com”)。data_type(字符串,必需):数据的类型。必须是以下之一:ip,domain,fqdn,url,mail。analyzer_name(字符串,可选):Cortex 中 AbuseFinder 分析器实例的具体名称。默认为 Abuse_Finder_3_0。max_retries(整数,可选):轮询分析器作业完成的最大次数。默认为 5。scan_url_with_virustotal
VirusTotal_Scan_3_1)通过 Cortex 扫描 URL。如果成功,返回作业报告。url(字符串,必需):要扫描的 URL。analyzer_name(字符串,可选):Cortex 中 VirusTotal_Scan 分析器实例的具体名称。默认为 VirusTotal_Scan_3_1。max_retries(整数,可选):轮询分析器作业完成的最大次数。默认为 5。analyze_url_with_urlscan_io
Urlscan_io_Scan_0_1_0)通过 Cortex 分析 URL。如果成功,返回作业报告。url(字符串,必需):要分析的 URL。analyzer_name(字符串,可选):Cortex 中 Urlscan.io 分析器实例的具体名称。默认为 Urlscan_io_Scan_0_1_0。max_retries(整数,可选):轮询分析器作业完成的最大次数。默认为 5。要从源代码构建服务器,请确保已安装 Rust 工具链(如预备条件部分所述)。
克隆仓库(如果尚未克隆):
git clone https://github.com/gbrigandi/mcp-server-cortex.git
cd mcp-server-cortex
如果您已经在克隆的仓库中并且处于根目录,则可以跳过此步骤。
使用 Cargo 构建项目:
cargo build
可执行文件将位于 target/debug/mcp-server-cortex。cargo build --release
可执行文件将位于 target/release/mcp-server-cortex。构建完成后,您可以运行服务器可执行文件。请参阅“配置”部分以了解所需环境变量,以及“示例:Claude Desktop 配置”部分以了解 MCP 客户端如何启动服务器。