librenms-mcp MCP сервер
MCP сервер на Python, который предоставляет расширенный программный доступ к данным мониторинга сети LibreNMS и функциям управления с поддержкой запросов, автоматизации и интеграции ресурсов LibreNMS.
автор: Community
curl -fsSL https://vibebaza.com/i/librenms-mcp | bash
MCP сервер на Python, который предоставляет расширенный программный доступ к данным мониторинга сети LibreNMS и функциям управления с поддержкой запросов, автоматизации и интеграции ресурсов LibreNMS.
Установка
Из исходного кода с UV
git clone https://github.com/mhajder/librenms-mcp.git
cd librenms-mcp
uv sync
uv run python run_server.py
Из исходного кода с Pip
git clone https://github.com/mhajder/librenms-mcp.git
cd librenms-mcp
pip install -e .
python run_server.py
Docker (STDIO)
docker pull ghcr.io/mhajder/librenms-mcp:latest
Docker (MCPO для Open WebUI)
docker pull ghcr.io/mhajder/librenms-mcpo:latest
Установленный скрипт
librenms-mcp
Доступные инструменты
| Инструмент | Описание |
|---|---|
devices_list |
Список всех устройств (с опциональными фильтрами) |
device_get |
Получить детали для конкретного устройства |
device_add |
Добавить новое устройство |
device_update |
Обновить метаданные устройства |
device_delete |
Удалить устройство |
device_ports |
Список всех портов для устройства |
device_ports_get |
Получить детали для конкретного порта на устройстве |
device_availability |
Получить доступность устройства |
device_outages |
Получить сбои устройства |
device_set_maintenance |
Установить режим обслуживания устройства |
inventory_device |
Получить инвентарь для устройства |
inventory_device_flat |
Получить плоский инвентарь для устройства |
devicegroups_list |
Список групп устройств |
devicegroup_add |
Добавить группу устройств |
devicegroup_update |
Обновить группу устройств |
Возможности
- Запрос устройств LibreNMS, портов, инвентаря, местоположений, логов и оповещений с гибкой фильтрацией
- Получение топологии сети, статуса устройств и метрик производительности
- Доступ и анализ истории оповещений, логов событий и состояния системы
- Мониторинг статистики интерфейсов, статуса портов и данных трафика
- Отслеживание конечных точек и подключенных устройств по MAC или IP адресу
- Получение и управление группами устройств, группами портов и группами поллеров
- Получение детальной информации о сетевых сервисах и маршрутизации
- Создание, обновление и удаление устройств, портов и групп (если включено)
- Управление правилами оповещений, уведомлениями и метаданными устройств
- Настройка режима только для чтения для ограничения всех операций записи для безопасного мониторинга
Переменные окружения
Обязательные
LIBRENMS_URL- URL экземпляра LibreNMSLIBRENMS_TOKEN- API токен LibreNMS с соответствующими разрешениями
Опциональные
LIBRENMS_VERIFY_SSL- Включить проверку SSL сертификатаLIBRENMS_TIMEOUT- Таймаут подключения в секундахREAD_ONLY_MODE- Отключить все операции записи (put, post, delete)LOG_LEVEL- Настройка уровня логированияRATE_LIMIT_ENABLED- Включить ограничение скорости для API запросовRATE_LIMIT_MAX_REQUESTS- Максимальное количество запросов в минуту для ограничения скоростиRATE_LIMIT_WINDOW_MINUTES- Размер окна ограничения скорости в минутахMCP_TRANSPORT- Тип транспорта: 'stdio' (по умолчанию), 'sse' (Server-Sent Events), или 'http' (HTTP Streamable)
Ресурсы
Примечания
Требует Python 3.11, 3.12 или 3.13, и доступ к экземпляру LibreNMS с валидным API токеном. Сервер поддерживает несколько транспортных протоколов включая STDIO, HTTP SSE и HTTP Streamable для различных сценариев деплоя. Настройка разработки включает тестирование с pytest, линтинг с ruff и pre-commit хуки.