Skip to main content
Glama
by ghrud92

Простой сервер 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 :

npx -y @smithery/cli install @ghrud92/simple-loki-mcp --client claude

для МКП

{ "mcpServers": { "simple-loki": { "command": "npx", "args": ["-y", "simple-loki-mcp"], "env": { "LOKI_ADDR": "https://loki.sup.band" } } } }

нпм

  1. Клонируйте репозиторий:

git clone https://github.com/ghrud92/loki-mcp.git cd loki-mcp
  1. Установить зависимости:

npm install
  1. Создайте проект:

npm run build

Доступные инструменты 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 : идентификатор арендатора для многоарендного Loki

  • LOKI_BEARER_TOKEN : Токен на предъявителя для аутентификации

  • LOKI_BEARER_TOKEN_FILE : Файл, содержащий токен на предъявителя

  • LOKI_CA_FILE : Пользовательский файл CA для TLS

  • LOKI_CERT_FILE : Файл клиентского сертификата для TLS

  • LOKI_KEY_FILE : Файл ключа клиента для TLS

  • LOKI_ORG_ID : идентификатор организации для многоорганизационных настроек

  • LOKI_TLS_SKIP_VERIFY : Пропустить проверку TLS («истина» или «ложь»)

  • LOKI_CONFIG_PATH : Пользовательский путь к файлу конфигурации

  • DEBUG : включить ведение журнала отладки

Примечание : когда клиент использует режим HTTP API (когда logcli недоступен), для аутентификации и подключения к серверу Loki используются те же параметры конфигурации.

Файлы конфигурации

Либо создайте файл logcli-config.yaml в одном из следующих мест:

  • Пользовательский путь, указанный LOKI_CONFIG_PATH

  • Текущий рабочий каталог

  • Ваш домашний каталог ( ~/.logcli-config.yaml )

Пример файла конфигурации:

addr: https://loki.example.com username: user password: pass tenant_id: mytenant

Использование

Запустите сервер:

npm start

Для разработки:

npm run dev

Подробности реализации

Автоматический возврат к HTTP API

Сервер автоматически проверит, установлен ли logcli и доступен ли он в среде:

  1. Если logcli доступен, он будет использоваться для всех запросов, обеспечивая полную функциональность инструмента CLI.

  2. Если logcli недоступен, сервер автоматически вернется к использованию Loki HTTP API:

    • Никакой дополнительной настройки не требуется.

    • Для HTTP API используются те же параметры аутентификации.

    • Форматирование ответа соответствует выходным данным CLI.

    • В обоих режимах применяется ограничение по умолчанию в 1000 журналов на запрос.

Автоматическое обнаружение гарантирует бесперебойную работу сервера в различных средах без необходимости ручной настройки.

Разработка

# Run linter npm run lint # Fix linting issues npm run lint:fix # Run tests npm run test

Лицензия

Данный проект лицензирован по лицензии MIT — подробности смотрите в файле LICENSE.md .

Deploy Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ghrud92/loki-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server