LibreNMS logoMCP server · Engineering and operations

LibreNMS MCP server

LibreNMS in any MCP client, through Memtro: LibreNMS does not publish this server. Memtro's LibreNMS connector reads LibreNMS through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.

What the model can do

LibreNMS (self-hosted network monitoring): devices with their up/down status, one device in detail, active and acknowledged alerts, the event log, syslog and alert log, and service checks. Can add event log entries, schedule maintenance, acknowledge or unmute alerts, add, update, rename, rediscover and delete devices, create, edit and delete alert rules, service checks and device groups, and set port notes when asked.

Reads

  • librenms_list_devicesDevices monitored by LibreNMS: host name, up or down (and why), OS, version, hardware, location, uptime and last poll.
  • librenms_get_deviceOne LibreNMS device in detail: status and reason, OS, hardware, serial, location, uptime, polling times, description and notes.
  • librenms_list_alertsAlerts in LibreNMS with the device, the rule's name and severity, state and when it was raised.
  • librenms_list_logsLibreNMS logs: the event log (device changes, reboots, interface flaps, entries added by people), syslog, or the alert log…
  • librenms_list_servicesService checks in LibreNMS (HTTP, DNS, SMTP and so on) with their state and last message, for all devices or one.
  • librenms_list_alert_rulesAlert rules in LibreNMS: id, name, severity, enabled or disabled, which devices, device groups and locations they cover (none means every device)…
  • librenms_list_device_groupsDevice groups in LibreNMS (static lists or dynamic rules): id, name, type and description, for all groups or the groups one device is in.

Acts, when you ask

These change something in LibreNMS. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.

  • librenms_add_eventlogAdd an entry to a device's event log in LibreNMS, e.g. "replaced PSU" or "planned reboot for firmware".
  • librenms_schedule_maintenanceSilences alerting, put a LibreNMS device into maintenance for a window, now or from a start time.
  • librenms_acknowledge_alertSilences an alert, acknowledge a firing LibreNMS alert (by the id librenms_list_alerts shows), with a note.
  • librenms_unmute_alertUndo an acknowledgement, setting a LibreNMS alert back to firing so its notifications resume.
  • librenms_add_deviceAdd a device to LibreNMS monitoring by host name or IP.
  • librenms_update_deviceChange fields of one LibreNMS device: notes, purpose, display name, location, and whether it is disabled (not polled), ignored…
  • librenms_rename_deviceChange a LibreNMS device's host name (the name LibreNMS polls it by).
  • librenms_rediscover_deviceQueue a rediscovery of a LibreNMS device, so its ports, sensors and inventory are refreshed on the next discovery run…
  • librenms_delete_devicePermanent.
  • librenms_add_alert_ruleCreate an alert rule in LibreNMS.
  • librenms_edit_alert_ruleChange an existing LibreNMS alert rule: rename it, enable or disable it, change its severity, notes, runbook link, rule builder, which devices…
  • librenms_delete_alert_rulePermanent.
  • librenms_add_serviceAdd a service check (http, dns, smtp, ping and so on, as the server's Nagios plugins allow) to a LibreNMS device.
  • librenms_edit_serviceChange a LibreNMS service check by id (librenms_list_services): its name, description, target, extra arguments, whether it is ignored…
  • librenms_delete_servicePermanent.
  • librenms_add_device_groupCreate a LibreNMS device group, either static (the devices listed by id) or dynamic (devices matching a query builder rule).
  • librenms_update_device_groupChange a LibreNMS device group (by id or name): rename it, change its description, replace a static group's device list with the ids given…
  • librenms_delete_device_groupPermanent.
  • librenms_set_port_notesSet the notes on one port of a LibreNMS device (port id from the device's ports page), replacing any notes it had.

Connect it

First connect LibreNMS on Dashboard → Connections, then add Memtro to your client once. The LibreNMS tools appear alongside the tools of everything else you have connected; nothing is configured per connector.

Claude Code

The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.

claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...

Cursor

Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.

{
  "mcpServers": {
    "memtro": {
      "url": "https://platform.memtro.com/api/mcp",
      "headers": {
        "Authorization": "Bearer sk-memtro-..."
      }
    }
  }
}

Claude Desktop

Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…

OpenCode

A remote server in opencode.json.

{
  "mcp": {
    "memtro": {
      "type": "remote",
      "url": "https://platform.memtro.com/api/mcp",
      "headers": {
        "Authorization": "Bearer sk-memtro-..."
      }
    }
  }
}

Pi

One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.

Any other client

Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.

Who may use it

The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared LibreNMS connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.

Ask it like this

  • › Which devices are down right now?
  • › What alerts are still firing at the London office?
  • › When did core-switch-01 last reboot?
  • › Put fw-edge-02 into maintenance for two hours tonight
  • › Acknowledge the UPS battery alert with a note that a replacement is booked

Questions

Is this an official LibreNMS MCP server?
No. It is Memtro's MCP server with Memtro's LibreNMS connector behind it: the connector reads LibreNMS through its API with the credentials you connect on Dashboard → Connections, and LibreNMS publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
What does it cost?
Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
Can it change anything in LibreNMS?
Only when you ask, and only what it has been granted: add an entry to a device's event log; put a device into maintenance for a time window (silences its alerts); acknowledge a firing alert with a note (stops its notifications); un-acknowledge an alert so its notifications resume; add a device to monitoring; change a device's notes, purpose, display name, location, or disabled, ignored or notification settings; rename a device; queue a rediscovery of a device; delete a device and all its history (permanent); create an alert rule; edit, enable or disable an alert rule, or change who it notifies; delete an alert rule (permanent); add a service check to a device; change, ignore or disable a service check; delete a service check (permanent); create a device group; rename or change a device group's members or rule; delete a device group (permanent); set the notes on a device port. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
Which clients work?
Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.

Other MCP servers · Engineering and operations

Where agents remember your company

Sign in, add a provider key, create an API key and point your tools at Memtro. It takes about five minutes.

7-day free trial · card on file, nothing charged until it ends · cancel any time