Monitoring AIops
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MONITORING_AIOPS_HOME | No | Directory for audit database and config. Defaults to ~/.monitoring-aiops. | |
| MONITORING_AUDIT_RATIONALE | No | Rationale for high-risk operations. | |
| MONITORING_AUDIT_APPROVED_BY | No | Name of the approver for high-risk operations. | |
| MONITORING_AIOPS_MASTER_PASSWORD | No | Master password to unlock encrypted secrets non-interactively. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| active_alertsA | [READ] Active alerts with dedup/rollup by message (SolarWinds or PRTG). Rolls up storms (e.g. interface-flap repeats) into one counted entry so the signal isn't buried under duplicates. Args: target: Monitoring target name from config; omit for the default. |
| alert_acknowledgeA | [WRITE][risk=medium] Acknowledge one active alert (reversible triage action). Pass dry_run=True to preview (reports the platform whose acknowledge API would be called — the three platforms take different endpoints and different id shapes, so it is the part of this call most worth confirming first). Args: alert_id: Alert id (AlertActiveID on SolarWinds, sensor objid on PRTG, problem event id on Zabbix). dry_run: If True, preview without acknowledging. target: Monitoring target name from config; omit for the default. |
| prtg_sensorsA | [READ] List PRTG sensors (objid, sensor, device, status, message, lastValue). Args: status: Optional PRTG status code to filter by (e.g. "5" for down). target: PRTG target name from config; omit for the default. |
| prtg_sensor_detailsA | [READ] Detailed status for one PRTG sensor (name, status, lastvalue, ...). Args: sensor_id: PRTG sensor object id (objid). target: PRTG target name from config; omit for the default. |
| prtg_devicesA | [READ] List monitored PRTG devices (objid, device, host, status, group). Args: target: PRTG target name from config; omit for the default. |
| prtg_groupsA | [READ] List PRTG device groups with their rollup status. Args: target: PRTG target name from config; omit for the default. |
| prtg_historyB | [READ] Historic data points for one PRTG sensor over the recent window. Args: sensor_id: PRTG sensor object id (objid). hours: Look-back window in hours (default 24). target: PRTG target name from config; omit for the default. |
| prtg_system_statusB | [READ] System-wide PRTG sensor counters (up/down/warning/paused/alarms). Args: target: PRTG target name from config; omit for the default. |
| prtg_alarmsB | [READ] Active PRTG alarms — sensors in a down state (status 5). Args: target: PRTG target name from config; omit for the default. |
| pause_sensorA | [WRITE][risk=medium] Pause a PRTG object; reversible via resume_sensor. Open-ended when minutes is 0, otherwise auto-resumes after Args: object_id: PRTG object id (sensor/device/group) to pause. minutes: Auto-resume after this many minutes; 0 pauses indefinitely. message: Pause message shown in PRTG. target: Monitoring target name from config; omit for the default. |
| resume_sensorA | [WRITE][risk=medium] Resume a paused PRTG object (inverse of pause_sensor). Args: object_id: PRTG object id to resume. target: Monitoring target name from config; omit for the default. |
| schedule_maintenance_prtgA | [WRITE][risk=medium] Time-boxed maintenance window (a pause of Requires minutes > 0 — maintenance windows are never open-ended. Args: object_id: PRTG object id to place in maintenance. minutes: Maintenance duration in minutes (must be > 0). target: Monitoring target name from config; omit for the default. |
| node_statusA | [READ] One SolarWinds node's health by caption or IP (Orion.Nodes). Args: name_or_ip: Node caption or IP address to look up. target: SolarWinds target name from config; omit for the default. |
| nodes_listA | [READ] List SolarWinds nodes, optionally filtered by status. Args: status: Optional Orion status filter (1=Up, 2=Down, 3=Warning). target: SolarWinds target name from config; omit for the default. |
| interface_statusA | [READ] Interface status + utilization (Orion.NPM.Interfaces). With Args: top: If given, return only the top-N interfaces by peak utilization. target: SolarWinds target name from config; omit for the default. |
| volume_statusA | [READ] Volumes at/above a fill threshold (Orion.Volumes), worst first. Args: min_percent: Minimum percent-used to include (default 0 = all). target: SolarWinds target name from config; omit for the default. |
| application_statusA | [READ] SAM application status (Orion.APM.Application); resilient if absent. Args: target: SolarWinds target name from config; omit for the default. |
| topnA | [READ] Top-N SolarWinds nodes by a health metric. Returns {"nodes": [...], "returned": N, "metric": str, "error": str | None}. A non-null "error" means the SWQL query failed — the opposite finding from "no nodes are under load", so never report one as the other. Args: metric: One of cpu, memory, latency, packetloss. n: How many nodes to return (default 10). target: SolarWinds target name from config; omit for the default. |
| noc_rollupA | [READ] One-shot NOC glance: down/warning counts + top-3 worst CPU nodes. Args: target: SolarWinds target name from config; omit for the default. |
| list_eventsA | [READ] Most recent SolarWinds Orion events (newest first). Sets Args: top: Number of events to return (newest first). target: SolarWinds target name from config; omit for the default. |
| list_unmanagedA | [READ] Nodes unmanaged now or with a scheduled future unmanage window. Args: target: SolarWinds target name from config; omit for the default. |
| list_mutedB | [READ] Objects currently in an alert-suppression (muted) window. Args: target: SolarWinds target name from config; omit for the default. |
| mute_alertsA | [WRITE][risk=medium] Time-boxed alert suppression for an entity. Inverse: unmute_alerts. Args: entity_uri: SWIS entity URI to suppress (e.g. from list_muted / SWQL). minutes: Suppression window length in minutes. target: SolarWinds target name from config; omit for the default. |
| unmute_alertsA | [WRITE][risk=medium] Resume alerts for an entity (lift suppression). Args: entity_uri: SWIS entity URI to resume (from list_muted). target: SolarWinds target name from config; omit for the default. |
| schedule_maintenanceA | [WRITE][risk=medium] Schedule a bounded maintenance window for a node. An end time is REQUIRED — no open-ended maintenance. Args: node_id: Numeric Orion NodeID. start_iso: Window start (ISO-8601 UTC timestamp). end_iso: Window end (ISO-8601 UTC timestamp) — required. target: SolarWinds target name from config; omit for the default. |
| unmanage_nodeA | [WRITE][risk=high] Unmanage a node — masks its monitoring. Inverse: remanage_node. Pass dry_run=True to preview. Reversible → remanage. An end time is required (no open-ended unmanage). Args: node_id: Numeric Orion NodeID. start_iso: Unmanage window start (ISO-8601 UTC timestamp). end_iso: Unmanage window end (ISO-8601 UTC timestamp) — required. dry_run: If True, preview without unmanaging. target: SolarWinds target name from config; omit for the default. |
| remanage_nodeA | [WRITE][risk=medium] Return a node to managed state (lift unmanage). Args: node_id: Numeric Orion NodeID. target: SolarWinds target name from config; omit for the default. |
| remove_nodeA | [WRITE][risk=high] Permanently delete a node from Orion. IRREVERSIBLE — no undo. Pass dry_run=True to preview (reports the node's caption). Args: node_id: Numeric Orion NodeID to delete. dry_run: If True, preview without deleting. target: SolarWinds target name from config; omit for the default. |
| swql_libraryA | [READ] List the canned-SWQL library (name + description). These answer the most-repeated SolarWinds SWQL questions directly — run one with swql_canned instead of hand-writing the query. Args: target: Monitoring target name from config; omit for the default. |
| swql_cannedA | [READ] Run a named canned SWQL query (e.g. nodes_down, flapping_interfaces). Returns the same envelope as swql_query: Args: name: Canned query name (from swql_library). params: Optional query params (e.g. {"min": 90} for a threshold). target: SolarWinds target name from config; omit for the default. limit: Maximum rows to return. Default 1000. |
| swql_queryA | [READ] Run a validated read-only SWQL SELECT (row-capped). Only SELECT is permitted — state changes go through the governed write tools.
Returns Args: query: A SWQL SELECT statement. params: Optional named parameters referenced as @name in the query. target: SolarWinds target name from config; omit for the default. limit: Maximum rows to return. Default 1000. |
| undo_listA | [READ] List recorded, not-yet-applied undo tokens (most recent first). Each entry names the original tool, the inverse tool that Returns {"undos": [...], "returned": N, "limit": L, "truncated": bool}.
Each entry carries Args: limit: Max rows to return (default 50, capped at 500). target: Unused (undo state is host-local); accepted for CLI uniformity. |
| undo_applyA | [WRITE][risk=medium] Apply a recorded undo by dispatching its inverse tool. The inverse runs through its own governed tool, so it is audited and its risk_level recorded there. Pass dry_run=True to preview the inverse call without executing it. A token can only be applied once. Args:
undo_id: The undoId from undo_list (or an |
| zabbix_problemsB | [READ] Current Zabbix problems (active alerts) with mapped severity levels. Args: min_severity: Only problems at this Zabbix severity (0-5) or above. target: Zabbix target name from config; omit for the default. |
| zabbix_hostsA | [READ] Zabbix hosts with interfaces + owning groups (health inventory). Args: target: Zabbix target name from config; omit for the default. |
| zabbix_hostgroupsA | [READ] Zabbix host groups (ids + names, for inventory and maintenance). Args: target: Zabbix target name from config; omit for the default. |
| zabbix_triggersB | [READ] Zabbix triggers, by default only those currently firing (PROBLEM). Args: only_problems: If True (default), only triggers in PROBLEM state. target: Zabbix target name from config; omit for the default. |
| zabbix_eventsA | [READ] Most recent Zabbix trigger events (newest first). Sets Args: top: Number of events to return (newest first, capped at 500). target: Zabbix target name from config; omit for the default. |
| zabbix_item_historyA | [READ] Bounded metric detail for one Zabbix item (meta + history points). Sets Args: item_id: Zabbix item id (from the host's items). hours: Look-back window in hours (capped at 168). limit: Max history points to return (capped at 500). target: Zabbix target name from config; omit for the default. |
| zabbix_maintenancesB | [READ] Zabbix maintenance windows with their hosts/groups and periods. Args: target: Zabbix target name from config; omit for the default. |
| zabbix_create_maintenanceA | [WRITE][risk=medium] Create a time-boxed Zabbix maintenance window. Requires minutes > 0 (never open-ended) and at least one host or group id. Reversible: the undo deletes exactly the maintenance id this call created. Args: name: Maintenance window name shown in Zabbix. minutes: Window length in minutes (must be > 0). host_ids: Host ids to cover (from zabbix_hosts). group_ids: Host-group ids to cover (from zabbix_hostgroups). target: Zabbix target name from config; omit for the default. |
| zabbix_delete_maintenanceA | [WRITE][risk=high] Delete a Zabbix maintenance window. IRREVERSIBLE — no undo. Pass dry_run=True to preview (reports the window's full definition). The BEFORE definition lands in priorState. Args: maintenance_id: Maintenance id to delete (from zabbix_maintenances). dry_run: If True, preview without deleting. target: Zabbix target name from config; omit for the default. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AIops-tools/Monitoring-AIops'
If you have feedback or need assistance with the MCP directory API, please join our Discord server