Cribl MCP 服务器
模型上下文协议 (MCP) 服务器,支持 AI 与 Cribl API 交互。
该服务器允许 AI 客户端使用标准化 MCP 工具从 Cribl 部署中发现和调用数据操作。
详细文档请参阅
README.md(此文件):提供最高级别的介绍、快速入门说明、非常基本的示例以及指向文档目录的链接。docs/configuration.md:重点介绍配置所需的环境变量,并解释身份验证模式。它纯粹是关于设置的。docs/usage.md:重点介绍如何运行服务器(通过 npx 或本地开发命令)以及如何配置 MCP 客户端以连接到服务器。它提供了调用工具的概念性示例。docs/overview.md:位于 README 文件和具体的配置/使用文档之间。它详细介绍了服务器在身份验证方面提供的功能,最重要的是,它提供了可用工具及其特定参数/输出以及未来工具的详细参考指南。
入门
您可以在本地安装并运行,也可以通过npx立即执行npx可以节省您安装 Git、依赖项或任何构建工具的时间。这两种方案都要求您安装 Node 16 及以上版本:
先决条件
要运行此服务器,请确保以下事项:
Node.js已安装(建议使用 16 或更高版本)
可以访问互联网(从 npm 获取 MCP 服务器包)
您可以从https://nodejs.org安装 Node.js。
要验证您的设置:
npx快速入门
**注意:**运行npx需要在您的环境中设置必要的环境变量(如CRIBL_BASE_URL和身份验证详细信息)或直接在命令行上传递服务器才能成功连接。
请参阅docs/usage.md了解高级npx使用配置,包括 MCP 客户端的相关 JSON 和所需变量。
本地开发
浏览到要存储代码库的上层文件夹(克隆将创建包含该文件夹的文件夹)。克隆代码库:
git clone https://github.com/pebbletek/cribl-mcp.git cd cribl-mcp安装依赖项:
npm install复制
.env.example文件并填充所需的值:cp .env.example .env请参阅 usage.md > Local Development 以了解运行、构建和启动 mcp 服务器
有关环境变量和身份验证的详细信息,请参阅docs/configuration.md ,有关运行服务器的详细信息,请参阅docs/usage.md 。
Related MCP server: Lodestar MCP Server
可用工具
该服务器提供与 Cribl 交互的工具,包括:
列出工作组/车队
获取/设置管道配置
获取源配置
重启工作组
查询系统指标(带过滤)
有关详细列表和使用说明,请参阅docs/usage.md 。
用法示例(提示)
通过 MCP 客户端(例如Claude Desktop )连接后,您可以使用自然语言提示与 Cribl 实例进行交互,这些提示会利用可用的工具。以下是一些示例:
提示:
what sources are we ingesting?
(您需要允许 MCP 客户端访问该工具)响应将是这样的:
“为了回答您关于摄取源的问题,让我检查一下您的 Cribl Stream 环境中可用的数据源。
<查看来自 Cribl (本地) 的 cribl_getSources 的结果>我还请检查一下您的 Cribl Stream 环境中配置了哪些管道:
<查看来自 Cribl (本地) 的 cribl_getPipelines 的结果>根据我从您的 Cribl Stream 环境中检索到的信息,以下是您正在提取的来源:
活动数据源
您的 Cribl Stream 实例已配置多个数据源,其中值得注意的有以下几个:HTTP/HTTPS 源:
HTTP 源(端口 10080)
Cribl HTTP(端口 10200)
Splunk HEC(端口 8088)...<等等>
管道配置
您的环境还配置了多个用于处理特定数据类型的管道:Cisco ASA 事件 - 过滤并采样 Cisco ASA 安全日志
Cisco eStreamer 数据 - 处理 Cisco eStreamer 数据
帕洛阿尔托交通事件 - 过滤并采样帕洛阿尔托交通日志
Windows 事件日志 - 处理 Windows 安全事件日志
这些管道表明您正在从 Cisco ASA 防火墙、Cisco eStreamer(可能来自 Firepower/FTD 设备)、Palo Alto Networks 防火墙和 Windows 安全事件中提取网络安全日志。
您想要有关任何特定源或管道配置的更多详细信息吗?
提示:
what functions are processing the palo alto traffic?回复:
“让我更详细地检查一下处理 Palo Alto 流量的功能:
<查看来自 Cribl (本地) 的 cribl_getPipelineConfig 的结果>以下是 Cribl Stream 环境中如何处理 Palo Alto 流量数据的详细分类:
Palo Alto 流量管道功能
1.初始过滤器(Eval):过滤器:sourcetype!='pan:traffic'
描述:短路(跳过)所有不属于源类型“pan”的事件
这被设置为最终函数,意味着如果条件为真,则该事件的处理停止
2.字段提取(正则表达式提取):
使用正则表达式模式匹配从原始事件中提取几个关键字段:
__log_subtype:标识日志是否为开始/结束记录
__src_zone 和 __dest_zone:源和目标安全区域
__transport:传输协议
__action:采取的行动(允许、拒绝等)
__bytes_in:接收的字节数
3. 过滤事件(删除):
过滤器:__log_subtype=='start'
描述:删除所有日志子类型为“start”的事件
理由(来自评论):“删除 log_subtype=start 的事件,因为它们通常具有不正确的应用程序分配。Log_subtype=end 包含更好的信息。”
ETC。”
提示:
please update the pipeline to include start events as well as end events.回复:
我将通过修改配置来更新 Palo Alto 流量管道,使其同时包含“开始”和“结束”事件。让我为您进行以下更改:
<查看来自 Cribl (本地) 的 cribl_getPipelineConfig 的结果>现在我将通过禁用删除功能并更新注释来更新管道配置以保留“开始”和“结束”事件:
<查看来自 Cribl (本地) 的 cribl_setPipelineConfig 的结果>现在让我们重新启动工作组以应用这些更改: <查看来自 Cribl (本地) 的 cribl_restartWorkerGroup 的结果>
Palo Alto 流量管道已成功更新,包含“开始”和“结束”事件。以下是我修改的内容:
禁用拖放功能:
过滤掉 __log_subtype=='start' 事件的函数已被禁用
这意味着“开始”和“结束”会话事件现在都将被处理
更新了评论:
将评论从解释为什么“开始”事件被删除更改为指出现在保留两种事件类型以实现完整的流量可见性
重新启动工作组:
通过重新启动 Cribl Stream 工作组来应用更改
更新后的管道现在将同时处理来自 Palo Alto 防火墙的“开始”和“结束”事件,让您能够全面了解流量会话从发起到结束的整个过程。所有其他处理功能保持不变,包括:
关键流量属性字段提取
零字节流量和信任区域流量的采样
删除不可靠的日期字段
您的 Palo Alto 流量数据现在将包括网络连接的完整生命周期,同时仍保持采样规则的效率优势。”
执照
麻省理工学院