NestDaddy

LibreNMS MCP

io.github.mhajder/librenms-mcp · v1.13.0

MCP server for LibreNMS network monitoring - query devices, ports, alerts, and manage infrastructure

Connect Runs on your machine

Terminal
claude mcp add librenms-mcp -e LIBRENMS_URL=<LIBRENMS_URL> -e LIBRENMS_TOKEN=<LIBRENMS_TOKEN> -e LIBRENMS_VERIFY_SSL=<LIBRENMS_VERIFY_SSL> -e LIBRENMS_TIMEOUT=<LIBRENMS_TIMEOUT> -e READ_ONLY_MODE=<READ_ONLY_MODE> -e REDACT_SNMP_CREDENTIALS=<REDACT_SNMP_CREDENTIALS> -e DISABLED_TAGS=<DISABLED_TAGS> -e LOG_LEVEL=<LOG_LEVEL> -e RATE_LIMIT_ENABLED=<RATE_LIMIT_ENABLED> -e RATE_LIMIT_MAX_REQUESTS=<RATE_LIMIT_MAX_REQUESTS> -e RATE_LIMIT_WINDOW_MINUTES=<RATE_LIMIT_WINDOW_MINUTES> -e TOOL_SEARCH_ENABLED=<TOOL_SEARCH_ENABLED> -e TOOL_SEARCH_STRATEGY=<TOOL_SEARCH_STRATEGY> -e TOOL_SEARCH_MAX_RESULTS=<TOOL_SEARCH_MAX_RESULTS> -e RESOLVE_SHORT_HOSTNAMES=<RESOLVE_SHORT_HOSTNAMES> -- uvx librenms-mcp==1.13.0
claude_desktop_config.json
{
  "mcpServers": {
    "librenms-mcp": {
      "command": "uvx",
      "args": [
        "librenms-mcp==1.13.0"
      ],
      "env": {
        "LIBRENMS_URL": "<LIBRENMS_URL>",
        "LIBRENMS_TOKEN": "<LIBRENMS_TOKEN>",
        "LIBRENMS_VERIFY_SSL": "<LIBRENMS_VERIFY_SSL>",
        "LIBRENMS_TIMEOUT": "<LIBRENMS_TIMEOUT>",
        "READ_ONLY_MODE": "<READ_ONLY_MODE>",
        "REDACT_SNMP_CREDENTIALS": "<REDACT_SNMP_CREDENTIALS>",
        "DISABLED_TAGS": "<DISABLED_TAGS>",
        "LOG_LEVEL": "<LOG_LEVEL>",
        "RATE_LIMIT_ENABLED": "<RATE_LIMIT_ENABLED>",
        "RATE_LIMIT_MAX_REQUESTS": "<RATE_LIMIT_MAX_REQUESTS>",
        "RATE_LIMIT_WINDOW_MINUTES": "<RATE_LIMIT_WINDOW_MINUTES>",
        "TOOL_SEARCH_ENABLED": "<TOOL_SEARCH_ENABLED>",
        "TOOL_SEARCH_STRATEGY": "<TOOL_SEARCH_STRATEGY>",
        "TOOL_SEARCH_MAX_RESULTS": "<TOOL_SEARCH_MAX_RESULTS>",
        "RESOLVE_SHORT_HOSTNAMES": "<RESOLVE_SHORT_HOSTNAMES>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "librenms-mcp": {
      "command": "uvx",
      "args": [
        "librenms-mcp==1.13.0"
      ],
      "env": {
        "LIBRENMS_URL": "<LIBRENMS_URL>",
        "LIBRENMS_TOKEN": "<LIBRENMS_TOKEN>",
        "LIBRENMS_VERIFY_SSL": "<LIBRENMS_VERIFY_SSL>",
        "LIBRENMS_TIMEOUT": "<LIBRENMS_TIMEOUT>",
        "READ_ONLY_MODE": "<READ_ONLY_MODE>",
        "REDACT_SNMP_CREDENTIALS": "<REDACT_SNMP_CREDENTIALS>",
        "DISABLED_TAGS": "<DISABLED_TAGS>",
        "LOG_LEVEL": "<LOG_LEVEL>",
        "RATE_LIMIT_ENABLED": "<RATE_LIMIT_ENABLED>",
        "RATE_LIMIT_MAX_REQUESTS": "<RATE_LIMIT_MAX_REQUESTS>",
        "RATE_LIMIT_WINDOW_MINUTES": "<RATE_LIMIT_WINDOW_MINUTES>",
        "TOOL_SEARCH_ENABLED": "<TOOL_SEARCH_ENABLED>",
        "TOOL_SEARCH_STRATEGY": "<TOOL_SEARCH_STRATEGY>",
        "TOOL_SEARCH_MAX_RESULTS": "<TOOL_SEARCH_MAX_RESULTS>",
        "RESOLVE_SHORT_HOSTNAMES": "<RESOLVE_SHORT_HOSTNAMES>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "librenms-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "librenms-mcp==1.13.0"
      ],
      "env": {
        "LIBRENMS_URL": "<LIBRENMS_URL>",
        "LIBRENMS_TOKEN": "<LIBRENMS_TOKEN>",
        "LIBRENMS_VERIFY_SSL": "<LIBRENMS_VERIFY_SSL>",
        "LIBRENMS_TIMEOUT": "<LIBRENMS_TIMEOUT>",
        "READ_ONLY_MODE": "<READ_ONLY_MODE>",
        "REDACT_SNMP_CREDENTIALS": "<REDACT_SNMP_CREDENTIALS>",
        "DISABLED_TAGS": "<DISABLED_TAGS>",
        "LOG_LEVEL": "<LOG_LEVEL>",
        "RATE_LIMIT_ENABLED": "<RATE_LIMIT_ENABLED>",
        "RATE_LIMIT_MAX_REQUESTS": "<RATE_LIMIT_MAX_REQUESTS>",
        "RATE_LIMIT_WINDOW_MINUTES": "<RATE_LIMIT_WINDOW_MINUTES>",
        "TOOL_SEARCH_ENABLED": "<TOOL_SEARCH_ENABLED>",
        "TOOL_SEARCH_STRATEGY": "<TOOL_SEARCH_STRATEGY>",
        "TOOL_SEARCH_MAX_RESULTS": "<TOOL_SEARCH_MAX_RESULTS>",
        "RESOLVE_SHORT_HOSTNAMES": "<RESOLVE_SHORT_HOSTNAMES>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
LIBRENMS_URL
Required
LibreNMS instance URL (e.g., https://librenms.example.com)
LIBRENMS_TOKEN
Required, secret
LibreNMS API token with appropriate permissions
LIBRENMS_VERIFY_SSL
Optional
Verify TLS certificates for LibreNMS requests (true/false)
LIBRENMS_TIMEOUT
Optional
HTTP timeout for LibreNMS API requests in seconds
READ_ONLY_MODE
Optional
Enable read-only mode to block write operations
REDACT_SNMP_CREDENTIALS
Optional
Replace SNMP community and SNMPv3 credentials in API responses with <redacted>
DISABLED_TAGS
Optional
Comma-separated tool tags to disable (e.g., alerts,bills)
LOG_LEVEL
Optional
Logging level (DEBUG, INFO, WARNING, ERROR)
RATE_LIMIT_ENABLED
Optional
Enable per-client rate limiting (true/false)
RATE_LIMIT_MAX_REQUESTS
Optional
Maximum requests allowed per rate-limit window
RATE_LIMIT_WINDOW_MINUTES
Optional
Rate-limit window duration in minutes
TOOL_SEARCH_ENABLED
Optional
Enable FastMCP tool search transform
TOOL_SEARCH_STRATEGY
Optional
Tool search strategy: 'bm25' (natural language) or 'regex' (pattern match)
TOOL_SEARCH_MAX_RESULTS
Optional
Maximum number of tools returned by search_tools
RESOLVE_SHORT_HOSTNAMES
Optional
Resolve short device names to the stored hostname of the one matching device

Details

Package[email protected] (PYPI, stdio)
Package[email protected] (PYPI, streamable-http)
Packageghcr.io/mhajder/librenms-mcp:1.13.0 (OCI, streamable-http)
First published7 Nov 2026
Last updated7 Nov 2026
Registry nameio.github.mhajder/librenms-mcp

More other servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.