Простой сервер Loki MCP
Loki MCP Server — это интерфейс Model Context Protocol (MCP) для запроса журналов Grafana Loki с помощью logcli . Сервер позволяет помощникам ИИ получать доступ к данным журналов Loki и анализировать их напрямую.
Функции
Запрос журналов Loki с полной поддержкой LogQL
Получить значения меток и метаданные
Поддержка аутентификации и настройки через переменные среды или файлы конфигурации
Предоставляет отформатированные результаты в различных форматах вывода (по умолчанию, необработанные, строки JSON)
Автоматический возврат к HTTP API, если
logcliнедоступен в среде
Related MCP server: Cloud Logging API Server
Предпосылки
Node.js v16 или выше
Машинопись
(Необязательно) Grafana Loki logcli установлен и доступен в вашем PATH. Если
logcliнедоступен, сервер автоматически будет использовать Loki HTTP API вместо этогоДоступ к экземпляру сервера Loki
Установка
Установка через Smithery
Чтобы автоматически установить Simple Loki MCP Server для Claude Desktop через Smithery :
для МКП
нпм
Клонируйте репозиторий:
Установить зависимости:
Создайте проект:
Доступные инструменты MCP
запрос-локи
Запрос журналов из Loki с возможностью фильтрации.
Параметры:
query(обязательно): строка запроса Loki (LogQL)from: начальная временная метка (например, "2023-01-01T12:00:00Z")to: конечная временная метка (например, «2023-01-01T13:00:00Z»)limit: Максимальное количество возвращаемых журналовbatch: Размер пакета для результатов запросаoutput: Формат вывода («по умолчанию», «сырой» или «jsonl»)quiet: Подавить метаданные запросаforward: Отображать результаты в хронологическом порядке
получить-метки-значения
Получить все значения для определенной метки.
Параметры:
label(обязательно): Имя метки для получения значений
получить-метки
Получить все доступные метки.
Параметры не требуются.
Конфигурация
Вы можете настроить доступ к Loki, используя:
Переменные среды
LOKI_ADDR: адрес сервера Loki (URL)LOKI_USERNAME: Имя пользователя для базовой аутентификацииLOKI_PASSWORD: Пароль для базовой аутентификацииLOKI_TENANT_ID: идентификатор арендатора для многоарендного LokiLOKI_BEARER_TOKEN: Токен на предъявителя для аутентификацииLOKI_BEARER_TOKEN_FILE: Файл, содержащий токен на предъявителяLOKI_CA_FILE: Пользовательский файл CA для TLSLOKI_CERT_FILE: Файл клиентского сертификата для TLSLOKI_KEY_FILE: Файл ключа клиента для TLSLOKI_ORG_ID: идентификатор организации для многоорганизационных настроекLOKI_TLS_SKIP_VERIFY: Пропустить проверку TLS («истина» или «ложь»)LOKI_CONFIG_PATH: Пользовательский путь к файлу конфигурацииDEBUG: включить ведение журнала отладки
Примечание : когда клиент использует режим HTTP API (когда
logcliнедоступен), для аутентификации и подключения к серверу Loki используются те же параметры конфигурации.
Файлы конфигурации
Либо создайте файл logcli-config.yaml в одном из следующих мест:
Пользовательский путь, указанный
LOKI_CONFIG_PATHТекущий рабочий каталог
Ваш домашний каталог (
~/.logcli-config.yaml)
Пример файла конфигурации:
Использование
Запустите сервер:
Для разработки:
Подробности реализации
Автоматический возврат к HTTP API
Сервер автоматически проверит, установлен ли logcli и доступен ли он в среде:
Если
logcliдоступен, он будет использоваться для всех запросов, обеспечивая полную функциональность инструмента CLI.Если
logcliнедоступен, сервер автоматически вернется к использованию Loki HTTP API:Никакой дополнительной настройки не требуется.
Для HTTP API используются те же параметры аутентификации.
Форматирование ответа соответствует выходным данным CLI.
В обоих режимах применяется ограничение по умолчанию в 1000 журналов на запрос.
Автоматическое обнаружение гарантирует бесперебойную работу сервера в различных средах без необходимости ручной настройки.
Разработка
Лицензия
Данный проект лицензирован по лицензии MIT — подробности смотрите в файле LICENSE.md .