Skip to main content

clr-librenms-mcp

PyPI License: MIT Python 3.11+

MCP server for LibreNMS network monitoring — query devices, alerts, sensors, ports, and more through AI assistants like Claude.

Features

  • Device monitoring — list devices, health summary, availability, outages, down devices
  • Alert management — list, filter, acknowledge alerts, alert rules
  • Sensor data — health sensors by device and type (temperature, voltage, fan, etc.)
  • Port/interface info — list ports, search by name, find by MAC address
  • ARP & FDB lookups — resolve IPs to MACs, find MAC on switch ports
  • Hardware inventory — chassis, modules, power supplies, serial numbers
  • IP address management — list IPs assigned to devices
  • Token-based auth — simple X-Auth-Token authentication

Installation

pip install clr-librenms-mcp
# or
uvx clr-librenms-mcp

Configuration

Preferred: Configuration file at ~/.config/librenms/credentials.json (chmod 600):

{
  "url": "https://librenms.example.com",
  "token": "your-api-token"
}

Alternative: Environment variables are also supported:

Variable Description Example
LIBRENMS_URL LibreNMS base URL https://librenms.example.com
LIBRENMS_TOKEN API token (generate in LibreNMS UI under API Settings) abc123...

Optional:

Variable Description Default
LIBRENMS_READ_ONLY Run in read-only mode false
LIBRENMS_TRANSPORT Transport protocol (stdio or http) stdio
LIBRENMS_LOG_LEVEL Log level INFO

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "librenms": {
      "command": "uvx",
      "args": ["clr-librenms-mcp"]
    }
  }
}

Claude Code

Add via CLI:

claude mcp add librenms -- uvx clr-librenms-mcp

Or add to your .mcp.json:

{
  "librenms": {
    "command": "uvx",
    "args": ["clr-librenms-mcp"]
  }
}

VS Code

Add to your VS Code settings or .vscode/mcp.json:

{
  "mcp": {
    "servers": {
      "librenms": {
        "command": "uvx",
        "args": ["clr-librenms-mcp"]
      }
    }
  }
}

Note: Configuration is read from ~/.config/librenms/credentials.json or environment variables. No need to specify credentials in MCP config files.

HTTP Transport

To run as a standalone HTTP server:

clr-librenms-mcp --transport http --host 0.0.0.0 --port 8000

Tools

System

Tool Description
librenms_system Get LibreNMS version and system information

Devices

Tool Description Parameters
librenms_list_devices List all monitored devices device_type?, query?
librenms_get_device Get full detail for a single device device
librenms_down_devices List all devices currently down —
librenms_device_summary Aggregate status summary (up/down/disabled) —
librenms_device_availability Availability percentages (24h, 7d, 30d, 365d) device
librenms_device_outages Outage history for a device device
librenms_device_ips IP addresses assigned to a device device
librenms_inventory Hardware inventory (chassis, modules, PSUs) device, physical_class?

Alerts

Tool Description Parameters
librenms_list_alerts List alerts with optional filters state?, severity?
librenms_get_alert Get full detail for a single alert alert_id
librenms_alert_count Alert count by state and severity —
librenms_ack_alert Acknowledge an alert alert_id, note?
librenms_list_alert_rules List all alert rules —

Alert filter values:

Parameter Accepted values
state active, acknowledged, resolved
severity ok, warning, critical

Sensors & Health

Tool Description Parameters
librenms_list_sensors List all sensors or filter by device device?
librenms_device_health Health sensors for a device by type device, health_type?

Health types: temperature, voltage, fanspeed, power, humidity, state, and more.

Ports & Interfaces

Tool Description Parameters
librenms_list_ports List ports/interfaces for a device device
librenms_search_ports Search ports by name, alias, or description search
librenms_port_by_mac Find port(s) by MAC address mac

Network Lookups

Tool Description Parameters
librenms_arp_lookup ARP lookup by IP, MAC, or CIDR query, device?
librenms_fdb MAC/FDB table for a device device

Example Usage

Once connected, you can ask your AI assistant things like:

  • "Are any devices down in LibreNMS?"
  • "Show me all critical alerts"
  • "What are the temperature sensors on router01?"
  • "Find which switch port has MAC aa:bb:cc:dd:ee:ff"
  • "What's the availability for switch01 over the last 30 days?"
  • "Acknowledge alert 42"
  • "Show me the ARP table for 10.0.0.0/24"
  • "List the hardware inventory for core-switch"

Safety

All tools are read-only except librenms_ack_alert, which is a non-destructive write operation — it marks an alert as acknowledged but does not modify device configuration or monitoring state.

Technical Notes

  • Auth: Token-based via X-Auth-Token header (generate tokens in LibreNMS under API Settings)
  • API version: Uses LibreNMS REST API v0
  • Device parameter: Most tools accept hostname, IP address, or device_id interchangeably
  • Sensors: Use librenms_device_health with health_type for filtered sensor views, or librenms_list_sensors for all sensors across all devices

Development

git clone https://github.com/clearminds/clr-librenms-mcp.git
cd clr-librenms-mcp
uv sync
uv run clr-librenms-mcp

License

MIT — see LICENSE for details.

Metadata

Release files for clr-librenms-mcp 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for clr-librenms-mcp 1.0.0
File Size Uploaded
clr_librenms_mcp-1.0.0.tar.gz 89.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for clr-librenms-mcp 1.0.0
File Interpreter ABI Platform
clr_librenms_mcp-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 104.0 kB

Release files / clr_librenms_mcp-1.0.0.tar.gz

Download URL clr_librenms_mcp-1.0.0.tar.gz
Size 89.6 kB
Tags Source
SHA-256 checksum
How to use checksums
79501e3f1729c36dc97bfd997d7e67b0d9fc027ee5d861075333d48bc598bfc8
BLAKE2b-256 checksum
How to use checksums
f880b30c58de8f3820cb3870aaf2549a6384e6f944b1675b88426b777fe30a66
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Release files / clr_librenms_mcp-1.0.0-py3-none-any.whl

Download URL clr_librenms_mcp-1.0.0-py3-none-any.whl
Size 14.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
31397d4ad1077f489acf5bc79aa93c16bd013d1cc34f66d7df0e87a17dc8fb92
BLAKE2b-256 checksum
How to use checksums
f5d5c068c8812921fb71a144f39b141ed3d7f39152590505b9e0a352c71cc108
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page