Сервер Cribl MCP
Сервер протокола контекста модели (MCP), который обеспечивает взаимодействие ИИ с API Cribl.
Этот сервер позволяет клиентам ИИ обнаруживать и вызывать операции с данными из развертывания Cribl, используя стандартизированный инструментарий MCP.
Подробную документацию см. в каталоге
README.md(этот файл): содержит введение самого высокого уровня, краткие инструкции по началу работы, очень простые примеры и ссылки на каталог документов.docs/configuration.md: Особое внимание уделено переменным среды, необходимым для конфигурации, и объясняет режимы аутентификации. Это чисто о настройке.docs/usage.md: Сосредоточен на том, как запустить сервер (через npx или локальные команды разработки) и как настроить клиент MCP для подключения к нему. Он предоставляет концептуальные примеры вызова инструментов.docs/overview.md: Находится между README и конкретными документами конфигурации/использования. Он подробно описывает, что сервер предлагает в плане аутентификации и, что самое важное, предоставляет подробное справочное руководство по доступным инструментам и их конкретным параметрам/выходам, а также будущим инструментам.
Начиная
Вы можете либо установить и запустить локально, либо выполнить мгновенно через npx . npx избавит вас от необходимости устанавливать Git, зависимости или любые инструменты сборки. Оба сценария требуют, чтобы у вас был установлен node более поздней версии, чем 16:
Предпосылки
Для запуска этого сервера убедитесь в следующем:
Установлен Node.js (рекомендуется версия 16 или более поздняя)
Доступ в Интернет возможен (для загрузки пакета сервера MCP из npm)
Установить Node.js можно с https://nodejs.org .
Чтобы проверить настройки:
Быстрый старт с npx
Примечание: для запуска npx необходимо задать основные переменные среды (например, CRIBL_BASE_URL и данные аутентификации) в вашей среде или передать их непосредственно в командной строке для успешного подключения к серверу.
Дополнительные сведения о настройке расширенного использования npx , включая соответствующий JSON для вашего клиента MCP и необходимые переменные, см. на docs/usage.md
Местное развитие
Перейдите в папку высокого уровня, где вы будете хранить базу кода (клонирование создаст содержащую папку). Клонируйте репозиторий:
git clone https://github.com/pebbletek/cribl-mcp.git cd cribl-mcpУстановить зависимости:
npm installСкопируйте файл
.env.exampleи заполните необходимые значения:cp .env.example .envСм. usage.md > Локальная разработка для запуска, сборки и запуска сервера 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_getSources из Cribl (локальный)>Позвольте мне также проверить, какие конвейеры настроены в вашей среде Cribl Stream:
<Просмотреть результат cribl_getPipelines из Cribl (локально)>На основе информации, которую я извлек из вашей среды 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?Ответ:
«Позвольте мне более подробно рассмотреть функции, обрабатывающие трафик Пало-Альто:
<Просмотреть результат cribl_getPipelineConfig из Cribl (локально)>Ниже приведено подробное описание того, как данные о дорожном движении в Пало-Альто обрабатываются в вашей среде Cribl Stream:
Функции транспортного трубопровода Пало-Альто
1. Начальный фильтр (Eval):Фильтр: sourcetype!='pan:traffic'
Описание: Замыкает (пропускает) все события, которые НЕ имеют тип источника 'pan'.
Это устанавливается как конечная функция, то есть если условие истинно, обработка этого события останавливается.
2. Извлечение полей (извлечение регулярных выражений):
Извлекает несколько ключевых полей из необработанного события, используя сопоставление шаблонов регулярных выражений:
__log_subtype: определяет, является ли журнал начальной/конечной записью.
__src_zone и __dest_zone: Зоны безопасности источника и назначения
__transport: Транспортный протокол
__действие: Предпринятое действие (разрешить, запретить и т. д.)
__bytes_in: Получено байтов
3. Фильтрация событий (отбрасывание):
Фильтр: __log_subtype=='start'
Описание: Удаляет все события с подтипом журнала «старт».
Обоснование (из комментария): «Отбросьте события log_subtype=start, поскольку они часто имеют неправильное назначение приложения. Log_subtype=end содержат более точную информацию».
и т. д."
Подсказка:
please update the pipeline to include start events as well as end events.Ответ:
«Я обновлю транспортный конвейер Пало-Альто, включив в него события «старт» и «конец», изменив конфигурацию. Позвольте мне внести для вас это изменение:
<Просмотреть результат cribl_getPipelineConfig из Cribl (локально)>Теперь я обновлю конфигурацию конвейера, чтобы сохранить события «start» и «end», отключив функцию сброса и обновив комментарии:
<Просмотр результата cribl_setPipelineConfig из Cribl (локально)>Теперь перезапустим рабочую группу, чтобы применить эти изменения: <Просмотреть результат cribl_restartWorkerGroup из Cribl (local)>
Транспортный конвейер Palo Alto был успешно обновлен, чтобы включить как "стартовые", так и "конечные" события. Вот что я изменил:
Отключена функция сброса:
Функция, которая отфильтровывала события __log_subtype=='start', была отключена.
Это означает, что теперь будут обрабатываться как события «начала», так и «конца» сеанса.
Обновил комментарий:
Изменен комментарий с объяснения того, почему события «старт» были удалены, на указание того, что оба типа событий теперь сохраняются для полной видимости трафика.
Перезапустил рабочую группу:
Применил изменения, перезапустив рабочую группу Cribl Stream.
Обновленный конвейер теперь будет обрабатывать как события "старт", так и события "конец" с ваших межсетевых экранов Palo Alto, предоставляя вам полную видимость сеансов трафика от начала до завершения. Все остальные функции обработки остаются на месте, включая:
Извлечение полей для ключевых атрибутов трафика
Выборка для трафика с нулевым байтом и трафика доверенной зоны
Удаление ненадежных полей дат
Ваши данные о трафике в Пало-Альто теперь будут включать полный жизненный цикл сетевых подключений, сохраняя при этом преимущества эффективности правил выборки».
Лицензия
Массачусетский технологический институт