LibreNMS MCP server
MCP server for LibreNMS network monitoring - query devices, ports, alerts, and manage infrastructure
37 stars191 downloads/wk
Reviews
Write oneNobody has reviewed LibreNMS MCP yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
LibreNMS MCP tools (100, 11 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
alert_acknowledgeAcknowledge an alert in LibreNMS by ID.
alert_get_by_idGet a specific alert from LibreNMS by ID.
alert_rule_addAdd a new alert rule to LibreNMS.
alert_rule_deletewrite actionDelete an alert rule from LibreNMS by ID.
alert_rule_editEdit an existing alert rule in LibreNMS.
alert_rule_getGet details for a specific alert rule by ID.
alert_rules_listList all alert rules from LibreNMS.
alert_template_createwrite actionCreate a new alert template in LibreNMS.
alert_template_editEdit an existing alert template in LibreNMS.
alert_template_getGet a specific alert template from LibreNMS by ID.
alert_templates_listList all alert templates from LibreNMS.
alert_unmuteUnmute an alert in LibreNMS by ID.
alerts_getGet alerts from LibreNMS with optional filters.
arp_searchRetrieve ARP entries from LibreNMS by search query.
bgp_session_editEdit BGP session in LibreNMS by ID.
bgp_session_getGet BGP session from LibreNMS by ID.
bgp_sessionsList BGP sessions from LibreNMS with optional filters.
bill_create_or_updatewrite actionCreate or update a bill in LibreNMS.
bill_deletewrite actionDelete a bill from LibreNMS by ID.
bill_getGet a specific bill from LibreNMS by ID.
bill_graphRender a bill graph as an image.
bill_graph_dataGet bill graph data from LibreNMS.
bill_historyGet bill history from LibreNMS.
bill_history_graphRender a graph for a past billing period as an image.
bill_history_graph_dataGet bill history graph data from LibreNMS.
bills_listList bills from LibreNMS with optional filters.
device_addAdd a new device to LibreNMS.
device_availabilityGet device availability from LibreNMS.
device_deletewrite actionDelete a device from LibreNMS by hostname.
device_discoverTrigger device rediscovery in LibreNMS.
device_eventlog_addAdd a custom event log entry for a device.
device_fdbList the forwarding database (learned MAC addresses) for a device.
device_getGet device details from LibreNMS by hostname.
device_graphRender a device-level graph as an image.
device_graphs_listList the graph types available for a device.
device_linksGet network links for a specific device.
device_maintenance_statusCheck if a device is currently in maintenance mode.
device_nacList network access control (802.1X / MAB) sessions on a device.
device_outagesGet device outages from LibreNMS.
device_portsList ports for a device from LibreNMS.
device_ports_getGet port info for a device by interface name.
device_renameRename a device in LibreNMS.
device_set_maintenanceSet device maintenance in LibreNMS.
device_updatewrite actionUpdate device fields in LibreNMS.
device_vlansGet VLANs configured on a specific device.
devicegroup_addAdd a new device group to LibreNMS.
devicegroup_add_devicesAdd devices to a device group in LibreNMS.
devicegroup_deletewrite actionDelete a device group from LibreNMS by name.
devicegroup_devicesList devices in a device group from LibreNMS.
devicegroup_remove_deviceswrite actionRemove devices from a device group in LibreNMS.
devicegroup_set_maintenanceSet maintenance for a device group in LibreNMS.
devicegroup_updatewrite actionUpdate a device group in LibreNMS.
devicegroups_listList all device groups from LibreNMS.
devices_listList devices from LibreNMS with optional filters.
fdb_lookupLook up a MAC address in the forwarding database.
health_by_typeGet health data by sensor type for a device.
health_listList available health graphs for a device.
health_sensor_getGet a specific sensor by ID for a device.
inventory_deviceGet inventory for a device from LibreNMS.
inventory_device_flatGet flattened inventory for a device from LibreNMS.
location_addAdd a new location to LibreNMS.
location_deletewrite actionDelete a location from LibreNMS by identifier.
location_editEdit a location in LibreNMS.
location_getGet a specific location from LibreNMS by identifier.
location_set_maintenanceSet maintenance mode for all devices in a location.
locations_listList locations from LibreNMS.
logs_alertlogGet alert logs for a device from LibreNMS.
logs_authlogGet authentication logs from LibreNMS.
logs_eventlogGet event logs for a device from LibreNMS.
logs_syslogGet syslogs for a device from LibreNMS.
logs_syslogsinkAdd a syslog entry to LibreNMS via API sink.
nac_listList network access control (802.1X / MAB) sessions across all devices.
ospf_listList all OSPF instances from LibreNMS.
ospf_portsList all OSPF ports/interfaces from LibreNMS.
oxidized_config_getGet the stored device configuration from Oxidized for a specific device.
oxidized_config_searchSearch all Oxidized device configurations for a string.
oxidized_listList devices tracked by Oxidized for config backup.
poller_group_getGet poller group(s) from LibreNMS.
port_description_getGet port description from LibreNMS by port ID.
port_description_updatewrite actionUpdate port description in LibreNMS by port ID.
port_getGet port info from LibreNMS by port ID.
port_graphRender a per-port graph as an image, for example interface traffic.
port_group_addAdd a port group to LibreNMS.
port_group_graphRender a traffic graph for one or more ports, by port ID.
port_group_list_portsList ports in a port group from LibreNMS.
port_groups_listList port groups from LibreNMS.
port_ip_infoGet port IP info from LibreNMS by port ID.
port_security_deviceGet port security configuration for every port on a device.
port_security_listList port security configuration across all devices.
port_security_portGet port security configuration for a single port.
port_transceiverGet port transceiver info from LibreNMS by port ID.
ports_listGet all ports from LibreNMS with optional filters.
ports_searchSearch ports in LibreNMS by search string.
ports_search_fieldSearch ports in LibreNMS by specific field.
ports_search_macSearch ports in LibreNMS by MAC address.
routing_ip_addressesList all IP addresses from LibreNMS.
sensors_listList all sensors across all devices.
switching_linksList all links from LibreNMS.
switching_vlansList all VLANs from LibreNMS.
vrf_listList all VRF (Virtual Routing and Forwarding) instances from LibreNMS.
Public scan report
scanner v0.1.9 · 2026-09-20 · same rubric, same numbers if you re-run it
- Code scan28 source files scanned; 28 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 3 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
What the publisher says
From the LibreNMS MCP repository's README, as published. We do not edit it. Read it on GitHub
LibreNMS MCP Server
<!-- mcp-name: io.github.mhajder/librenms-mcp -->
LibreNMS MCP Server is a Python-based Model Context Protocol (MCP) server designed to provide advanced, programmable access to LibreNMS network monitoring data and management features. It exposes a modern API for querying, automating, and integrating LibreNMS resources such as devices, ports, alerts, inventory, locations, logs, and more. The server supports both read and write operations, robust security features, and is suitable for integration with automation tools, dashboards, and custom network management workflows.
Features
Core Features
- Query LibreNMS devices, ports, inventory, locations, logs, and alerts with flexible filtering
- Retrieve network topology, device status, and performance metrics
- Access and analyze alert history, event logs, and system health
- Monitor interface statistics, port status, and traffic data
- Track endpoints and connected devices by MAC or IP address
- Retrieve and manage device groups, port groups, and poller groups
- Get detailed information about network services and routing
Management Operations
- Create, update, and delete devices, ports, and groups (if enabled)
- Manage alert rules, notifications, and device metadata
- Configure read-only mode to restrict all write operations for safe monitoring
- Support for bulk operations on devices and ports
Advanced Capabilities
- Rate limiting and API security features
- Real-time network monitoring and health tracking
- Comprehensive logging and audit trails
- SSL/TLS support and configurable timeouts
- Optional tool-search transform for large tool catalogs
- Extensible with custom middlewares and utilities
Installation
Prerequisites
- Python 3.11 to 3.14
- Access to a LibreNMS
- Valid LibreNMS token with appropriate permissions
Quick Install from PyPI
The easiest way to get started is to install from PyPI:
# Using UV (recommended)
uvx librenms-mcp
# Or using pip
pip install librenms-mcpRemember to configure the environment variables for your LibreNMS instance before running the server:
# Create environment configuration
export LIBRENMS_URL=https://domain.tld:8443
export LIBRENMS_TOKEN=your-librenms-tokenFor more details, visit: https://pypi.org/project/librenms-mcp/
Install from Source
- Clone the repository:
git clone https://github.com/mhajder/librenms-mcp.git
cd librenms-mcp- Install dependencies:
# Using UV (recommended)
uv sync
# Or using pip
pip install -e .- Configure environment variables:
cp .env.example .env
# Edit .env with your LibreNMS url and token- Run the server:
# Using UV (recommended)
uv run librenms-mcp
# Or using the installed command directly
librenms-mcpUsing Docker
A Docker images are available on GitHub Packages for easy deployment.
# Normal STDIO image
docker pull ghcr.io/mhajder/librenms-mcp:latest
# MCPO image for usage with Open WebUI
docker pull ghcr.io/mhajder/librenms-mcpo:latestDevelopment Setup
For development with additional tools:
# Clone and install with development dependencies
git clone https://github.com/mhajder/librenms-mcp.git
cd librenms-mcp
uv sync --group dev
# Run tests
uv run pytest
# Run with coverage
uv run pytest --cov=src/
# Run linting and formatting
uv run ruff check .
uv run ruff format .
# Run type checking
uv run ty check .
# Setup pre-commit hooks
uv run prek installConfiguration
Environment Variables
# LibreNMS Connection Details
LIBRENMS_URL=https://domain.tld:8443
LIBRENMS_TOKEN=your-librenms-token
# SSL Configuration
LIBRENMS_VERIFY_SSL=true
LIBRENMS_TIMEOUT=30
# Read-Only Mode
# Set READ_ONLY_MODE true to disable all write operations (put, post, delete)
READ_ONLY_MODE=false
# Disabled Tags
# Comma-separated list of tags to disable tools for (empty by default)
# Example: DISABLED_TAGS=alert,bills
DISABLED_TAGS=Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Install directly
claude mcp add librenms-mcp -- uvx librenms-mcp
LibreNMS MCP: common questions
- Is LibreNMS MCP server safe?
- Mostly: it is graded B (83/100). Read the LibreNMS MCP safety report
- How do I install LibreNMS MCP?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does LibreNMS MCP need an API key?
- Yes. The registry entry asks for
LIBRENMS_TOKEN,MCP_HTTP_BEARER_TOKEN,SENTRY_DSN. - Is LibreNMS MCP maintained?
- The last commit was 3 days ago (2026-09-18). The latest release is v1.11.2.
- What can I use instead of LibreNMS MCP?
- Servers from other publishers that do the same job: Netdata MCP server.
Alternatives to LibreNMS MCP
Same job from other publishers: the closest match first, then the best rated.
- NetdataReal-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.not reviewedWidely usedA