项目简介
Cribl MCP 服务器是一个实现了 Model Context Protocol (MCP) 的后端服务。它允许支持 MCP 协议的 AI 客户端(如某些 LLM 客户端)连接到您的 Cribl Stream/Edge/Search 环境。通过这个服务器,AI 可以发现并调用一系列工具,以标准化的方式查询 Cribl 配置、获取系统信息、甚至修改配置并进行部署。
主要功能点
该服务器提供了一系列工具,使 AI 能够与 Cribl 环境进行交互:
- Worker Group/Fleet 管理:列出可用的 Worker Group 或 Fleet。
- Pipeline 配置:获取或设置指定 Worker Group 中 Pipeline 的详细配置。
- Source 配置:获取指定 Worker Group 中的 Source 配置。
- 重启 Worker Group:触发指定 Worker Group 的重启。
- 查询系统指标:获取带有过滤功能的 Cribl 系统指标数据。
- 版本控制:检测 Cribl 实例的版本控制(Git)状态,包括是否启用、远程仓库、分支、最新提交及工作区状态。
- 提交配置更改:将暂存的配置更改提交到版本控制,并提供提交信息。
- 部署配置版本:将版本控制中指定的提交(版本)部署到 Worker Group。
安装步骤
运行此服务器需要 Node.js (推荐 v16 或更高版本) 环境。有两种主要方式运行:
-
使用 'npx' 快速启动 (推荐) 确保已安装 Node.js。直接在命令行中通过 'npx' 执行。运行前需要配置必要的环境变量(见下一节)。 例如:
# 在同一行设置环境变量并运行 npx 命令 CRIBL_BASE_URL=https://your.cribl.cloud.instance CRIBL_AUTH_TYPE=cloud CRIBL_CLIENT_ID=abc123 CRIBL_CLIENT_SECRET=secret npx @pebbletek/cribl-mcp或者先设置环境变量再运行 'npx':
export CRIBL_BASE_URL=https://your.cribl.cloud.instance export CRIBL_AUTH_TYPE=cloud export CRIBL_CLIENT_ID=abc123 export CRIBL_CLIENT_SECRET=secret npx @pebbletek/cribl-mcp -
本地开发环境安装 如果您需要进行本地开发或更精细的控制:
- 克隆仓库:'git clone https://github.com/pebbletek/cribl-mcp.git && cd cribl-mcp'
- 安装依赖:'npm install'
- 复制 '.env.example' 文件为 '.env',并编辑 '.env' 文件填充您的 Cribl 连接信息。
- 根据文档指示构建和运行服务器。
服务器配置
MCP 服务器本身通过环境变量配置与 Cribl API 的连接。MCP 客户端在连接时,需要知道如何启动这个 MCP 服务器进程。
配置您的 MCP 客户端时,您需要指定启动此服务器的命令。典型的命令是使用 'npx' 执行,例如:
- 命令 (Command): 'npx'
- 参数 (Args): '@pebbletek/cribl-mcp'
请注意:所有与 Cribl API 连接相关的配置(如 'CRIBL_BASE_URL', 'CRIBL_AUTH_TYPE', 认证凭据 'CRIBL_CLIENT_ID'/'CRIBL_CLIENT_SECRET' 或 'CRIBL_USERNAME'/'CRIBL_PASSWORD' 等)不是通过 MCP 客户端的参数传递,而是需要在启动 MCP 服务器进程的环境中预先设置好。确保在运行 'npx @pebbletek/cribl-mcp' 命令的用户或系统中,这些环境变量是可见并已正确配置的。
基本使用方法
一旦您的 MCP 客户端连接到 Cribl MCP 服务器并识别了其提供的工具能力,您就可以通过自然语言与 AI 进行交互,让 AI 调用这些工具来查询或管理您的 Cribl 环境。
例如,您可以尝试以下类型的提示(具体支持程度取决于您的 AI 客户端):
- "我的 Cribl 环境中有哪些 Worker Groups?" (AI 可能会调用 'cribl_listWorkerGroups')
- "请获取名为 'my_pipeline' 的 Pipeline 配置。" (AI 可能会调用 'cribl_getPipelineConfig',可能需要您指定 Worker Group 名称)
- "把 'palo alto traffic' 这个 Pipeline 中的过滤掉 'start' 事件的函数禁用掉。" (AI 可能会结合 'cribl_getPipelineConfig', 分析配置, 调用 'cribl_setPipelineConfig' 进行修改,最后可能调用 'cribl_restartWorkerGroup')
AI 会利用服务器提供的工具执行相应的操作,并将结果或操作反馈呈现给您。
信息
分类
AI与计算