使用说明
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的推荐方法是为您的操作系统下载预编译的二进制文件。
-
转到发布页面: 导航到 GitHub发布页面.
-
下载二进制文件: 查找最新版本并下载适用于您的操作系统的二进制文件(例如。,
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。
- 描述:使用VirusTotal_Scan分析器扫描URL(例如。,
-
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。
- 描述:使用Urlscan.io分析器分析URL(例如。,
建筑
要从源代码构建服务器,请确保安装了Rust工具链(如“先决条件”部分所述)。
-
克隆存储库(如果您还没有):
git clone https://github.com/gbrigandi/mcp-server-cortex.git cd mcp-server-cortex如果您已经在克隆的存储库中工作,并且位于其根目录中,则可以跳过此步骤。
-
使用Cargo构建项目:
- 对于a 调试建立:可执行文件将位于
cargo buildtarget/debug/mcp-server-cortex. - 对于a 发布版本 (推荐用于性能和实际使用):可执行文件将位于
cargo build --releasetarget/release/mcp-server-cortex.
- 对于a 调试建立:
构建后,您可以运行服务器可执行文件。请参阅“配置”部分了解所需的环境变量,并参阅“示例:Claude桌面配置”了解MCP客户端如何启动服务器。
