Cortex MCP服务器
该服务器充当桥梁,展示了 皮质 实例作为模型上下文协议(MCP)客户端(如Claude等大型语言模型)可使用的工具。它允许这些客户端利用Cortex分析器执行威胁情报任务。
什么是Cortex?
Cortex是一个强大、免费、开源的可观察分析和主动响应引擎。它允许您使用各种“分析器”(连接到外部服务或执行本地分析的模块化代码)来分析可观察性(如IP、URL、域、文件等)。
使用Cortex(和此MCP服务器)的好处:
- 集中分析:从一个点运行各种分析。
- 可扩展性:轻松为不同的威胁情报馈送和工具添加新的分析器。
- 自动化:使丰富可观测数据的过程自动化。
- 整合:设计用于与安全事件响应平台(SIRP)TheCive密切合作,但也可以单独使用。
- 安全:基于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实例中启用并正确配置。
安装
安装MCP Server for Cortex的推荐方法是为您的操作系统下载预编译的二进制文件。
- 转到发布页面:
导航到 .
- 下载二进制文件:
查找最新版本并下载适用于您的操作系统的二进制文件(例如。, mcp-server-cortex-linux-amd64, mcp-server-cortex-macos-amd64, mcp-server-cortex-windows-amd64.exe).
- 放置并准备二进制文件:
- 将下载的二进制文件移动到系统上的适当位置(例如。, /usr/local/bin 在Linux/macOS上,或一个专用文件夹,如 C:\Program Files\MCP Servers\ 在Windows上)。 - 适用于Linux/macOS:使二进制文件可执行:
chmod +x /path/to/your/mcp-server-cortex- 确保包含二进制文件的目录在您的系统中 PATH 如果你想在不指定完整路径的情况下运行它。
或者,您可以从源代码构建服务器(请参阅 建筑 下节)。
配置
使用以下环境变量配置服务器:
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分析器配置
为了使此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实例的“组织”->“分析器”部分启用。
- 配置分析仪:每个分析仪在Cortex中都有自己的配置页面,您需要在其中输入API键、设置阈值或定义其他操作参数。请参阅每个特定Cortex分析仪的文档。
- 皮质测试:在尝试通过此MCP服务器使用分析器之前,最好先在Cortex UI中直接测试分析器,以确保它们按预期工作。
如果分析仪未配置、未启用或配置错误(例如API密钥无效),则MCP客户端的相应工具调用可能会失败或从Cortex返回错误。
示例:Claude桌面配置
对于像Claude Desktop这样的MCP客户端,您通常通过指定启动MCP服务器的命令和该服务器的任何必要环境变量来配置它们。
- 生成或下载服务器二进制文件:
确保你有 mcp-server-cortex 可执行。如果你是从源代码构建的,它将在 target/debug/mcp_server_cortex 或 target/release/mcp_server_cortex.
- 配置您的LLM客户端(例如,Claude Desktop):
- 配置LLM客户端的方法将根据客户端本身而有所不同。
- 对于支持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 (string,可选):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", "test@example.com"). - data_type (string,必填):数据的类型。必须是以下之一: ip, domain, fqdn, url, mail. - analyzer_name (string,可选):Cortex中AbuseFinder分析器实例的具体名称。默认为 Abuse_Finder_3_0. - max_retries (整数,可选):分析器作业要完成的最大轮询次数。默认为5。
scan_url_with_virustotal
- 描述:使用VirusTotal_Scan分析器扫描URL(例如。, VirusTotal_Scan_3_1)通过Cortex。如果成功,则返回作业报告。 - 参数: - url (字符串,必填):要扫描的URL。 - analyzer_name (字符串,可选):Cortex中VirusTotal_Scan分析器实例的具体名称。默认为 VirusTotal_Scan_3_1. - max_retries (整数,可选):分析器作业要完成的最大轮询次数。默认为5。
analyze_url_with_urlscan_io
- 描述:使用Urlscan.io分析器分析URL(例如。, Urlscan_io_Scan_0_1_0)通过Cortex。如果成功,则返回作业报告。 - 参数: - url (字符串,必填):要分析的URL。 - analyzer_name (string,可选):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构建项目:
- 对于a 调试建立:
cargo build可执行文件将位于 target/debug/mcp-server-cortex. - 对于a 发布版本 (推荐用于性能和实际使用):
cargo build --release可执行文件将位于 target/release/mcp-server-cortex.
构建后,您可以运行服务器可执行文件。请参阅“配置”部分了解所需的环境变量,并参阅“示例:Claude桌面配置”了解MCP客户端如何启动服务器。
