Skip to main content
Glama
ghrud92

Loki MCP Server

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 .

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

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

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