项目简介

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 或更高版本) 环境。有两种主要方式运行:

  1. 使用 '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
  2. 本地开发环境安装 如果您需要进行本地开发或更精细的控制:

    • 克隆仓库:'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与计算