LibreNMS MCP✓
io.github.mhajder/librenms-mcp · v1.9.0
{}server.json
The full server descriptor as registered with IndusMCP.
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "io.github.mhajder/librenms-mcp",
"description": "MCP server for LibreNMS network monitoring - query devices, ports, alerts, and manage infrastructure",
"title": "LibreNMS MCP",
"repository": {
"url": "https://github.com/mhajder/librenms-mcp",
"source": "github"
},
"version": "1.9.0",
"websiteUrl": "https://github.com/mhajder/librenms-mcp",
"packages": [
{
"registryType": "pypi",
"identifier": "librenms-mcp",
"version": "1.9.0",
"runtimeHint": "uvx",
"transport": {
"type": "stdio"
},
"environmentVariables": [
{
"description": "LibreNMS instance URL (e.g., https://librenms.example.com)",
"isRequired": true,
"name": "LIBRENMS_URL"
},
{
"description": "LibreNMS API token with appropriate permissions",
"isRequired": true,
"isSecret": true,
"name": "LIBRENMS_TOKEN"
},
{
"description": "Verify TLS certificates for LibreNMS requests (true/false)",
"default": "true",
"name": "LIBRENMS_VERIFY_SSL"
},
{
"description": "HTTP timeout for LibreNMS API requests in seconds",
"default": "30",
"name": "LIBRENMS_TIMEOUT"
},
{
"description": "Enable read-only mode to block write operations",
"default": "false",
"name": "READ_ONLY_MODE"
},
{
"description": "Comma-separated tool tags to disable (e.g., alerts,bills)",
"name": "DISABLED_TAGS"
},
{
"description": "Logging level (DEBUG, INFO, WARNING, ERROR)",
"default": "INFO",
"name": "LOG_LEVEL"
},
{
"description": "Enable per-client rate limiting (true/false)",
"default": "false",
"name": "RATE_LIMIT_ENABLED"
},
{
"description": "Maximum requests allowed per rate-limit window",
"default": "100",
"name": "RATE_LIMIT_MAX_REQUESTS"
},
{
"description": "Rate-limit window duration in minutes",
"default": "1",
"name": "RATE_LIMIT_WINDOW_MINUTES"
},
{
"description": "Enable FastMCP tool search transform",
"default": "false",
"name": "TOOL_SEARCH_ENABLED"
},
{
"description": "Tool search strategy: 'bm25' (natural language) or 'regex' (pattern match)",
"default": "bm25",
"name": "TOOL_SEARCH_STRATEGY"
},
{
"description": "Maximum number of tools returned by search_tools",
"default": "5",
"name": "TOOL_SEARCH_MAX_RESULTS"
}
]
},
{
"registryType": "pypi",
"identifier": "librenms-mcp",
"version": "1.9.0",
"runtimeHint": "uvx",
"transport": {
"type": "streamable-http",
"url": "http://localhost:{MCP_HTTP_PORT}/mcp"
},
"environmentVariables": [
{
"description": "LibreNMS instance URL (e.g., https://librenms.example.com)",
"isRequired": true,
"name": "LIBRENMS_URL"
},
{
"description": "LibreNMS API token with appropriate permissions",
"isRequired": true,
"isSecret": true,
"name": "LIBRENMS_TOKEN"
},
{
"description": "Verify TLS certificates for LibreNMS requests (true/false)",
"default": "true",
"name": "LIBRENMS_VERIFY_SSL"
},
{
"description": "HTTP timeout for LibreNMS API requests in seconds",
"default": "30",
"name": "LIBRENMS_TIMEOUT"
},
{
"description": "Enable read-only mode to block write operations",
"default": "false",
"name": "READ_ONLY_MODE"
},
{
"description": "Comma-separated tool tags to disable (e.g., alerts,bills)",
"name": "DISABLED_TAGS"
},
{
"description": "Logging level (DEBUG, INFO, WARNING, ERROR)",
"default": "INFO",
"name": "LOG_LEVEL"
},
{
"description": "Enable per-client rate limiting (true/false)",
"default": "false",
"name": "RATE_LIMIT_ENABLED"
},
{
"description": "Maximum requests allowed per rate-limit window",
"default": "100",
"name": "RATE_LIMIT_MAX_REQUESTS"
},
{
"description": "Rate-limit window duration in minutes",
"default": "1",
"name": "RATE_LIMIT_WINDOW_MINUTES"
},
{
"description": "Enable FastMCP tool search transform",
"default": "false",
"name": "TOOL_SEARCH_ENABLED"
},
{
"description": "Tool search strategy: 'bm25' (natural language) or 'regex' (pattern match)",
"default": "bm25",
"name": "TOOL_SEARCH_STRATEGY"
},
{
"description": "Maximum number of tools returned by search_tools",
"default": "5",
"name": "TOOL_SEARCH_MAX_RESULTS"
},
{
"description": "Port for HTTP server (default: 8000)",
"default": "8000",
"name": "MCP_HTTP_PORT"
},
{
"description": "Optional bearer token for HTTP transport authentication",
"isSecret": true,
"name": "MCP_HTTP_BEARER_TOKEN"
},
{
"description": "MCP transport type (http for HTTP, stdio for stdio)",
"value": "http",
"name": "MCP_TRANSPORT"
}
]
},
{
"registryType": "oci",
"identifier": "ghcr.io/mhajder/librenms-mcp:1.9.0",
"transport": {
"type": "streamable-http",
"url": "http://localhost:{MCP_HTTP_PORT}/mcp"
},
"runtimeArguments": [
{
"description": "Port mapping for HTTP transport",
"isRequired": true,
"value": "{MCP_HTTP_PORT}:{MCP_HTTP_PORT}",
"type": "named",
"name": "-p"
}
],
"environmentVariables": [
{
"description": "LibreNMS instance URL (e.g., https://librenms.example.com)",
"isRequired": true,
"name": "LIBRENMS_URL"
},
{
"description": "LibreNMS API token with appropriate permissions",
"isRequired": true,
"isSecret": true,
"name": "LIBRENMS_TOKEN"
},
{
"description": "Verify TLS certificates for LibreNMS requests (true/false)",
"default": "true",
"name": "LIBRENMS_VERIFY_SSL"
},
{
"description": "HTTP timeout for LibreNMS API requests in seconds",
"default": "30",
"name": "LIBRENMS_TIMEOUT"
},
{
"description": "Enable read-only mode to block write operations",
"default": "false",
"name": "READ_ONLY_MODE"
},
{
"description": "Comma-separated tool tags to disable (e.g., alerts,bills)",
"name": "DISABLED_TAGS"
},
{
"description": "Logging level (DEBUG, INFO, WARNING, ERROR)",
"default": "INFO",
"name": "LOG_LEVEL"
},
{
"description": "Enable per-client rate limiting (true/false)",
"default": "false",
"name": "RATE_LIMIT_ENABLED"
},
{
"description": "Maximum requests allowed per rate-limit window",
"default": "100",
"name": "RATE_LIMIT_MAX_REQUESTS"
},
{
"description": "Rate-limit window duration in minutes",
"default": "1",
"name": "RATE_LIMIT_WINDOW_MINUTES"
},
{
"description": "Enable FastMCP tool search transform",
"default": "false",
"name": "TOOL_SEARCH_ENABLED"
},
{
"description": "Tool search strategy: 'bm25' (natural language) or 'regex' (pattern match)",
"default": "bm25",
"name": "TOOL_SEARCH_STRATEGY"
},
{
"description": "Maximum number of tools returned by search_tools",
"default": "5",
"name": "TOOL_SEARCH_MAX_RESULTS"
},
{
"description": "Sentry DSN for optional error tracking",
"isSecret": true,
"name": "SENTRY_DSN"
},
{
"description": "Sentry traces sample rate (0.0-1.0)",
"default": "1.0",
"name": "SENTRY_TRACES_SAMPLE_RATE"
},
{
"description": "Allow Sentry to include default PII in events (true/false)",
"default": "true",
"name": "SENTRY_SEND_DEFAULT_PII"
},
{
"description": "Sentry environment name (e.g., production)",
"name": "SENTRY_ENVIRONMENT"
},
{
"description": "Sentry release identifier",
"name": "SENTRY_RELEASE"
},
{
"description": "Sentry profile session sample rate (0.0-1.0)",
"default": "1.0",
"name": "SENTRY_PROFILE_SESSION_SAMPLE_RATE"
},
{
"description": "Sentry profiling lifecycle mode",
"default": "trace",
"name": "SENTRY_PROFILE_LIFECYCLE"
},
{
"description": "Enable Sentry log capture integration (true/false)",
"default": "true",
"name": "SENTRY_ENABLE_LOGS"
},
{
"description": "Port for HTTP server (default: 8000)",
"default": "8000",
"name": "MCP_HTTP_PORT"
},
{
"description": "Optional bearer token for HTTP transport authentication",
"isSecret": true,
"name": "MCP_HTTP_BEARER_TOKEN"
},
{
"description": "MCP transport type (http for HTTP, stdio for stdio)",
"value": "http",
"name": "MCP_TRANSPORT"
}
]
}
],
"_meta": {
"dev.indusmcp/source": "official-registry-mirror",
"dev.indusmcp/synced": "2026-05-12"
}
}