Query time-series performance statistics from the Auvik monitoring platform: device CPU, memory, bandwidth, and availability; interface throughput and error rates; service (ping) latency; hardware component metrics; and custom SNMP poller values. All data is read-only and sourced from Auvik's collected telemetry.
MCP Server
- Server:
auvik-mcp(NetClaw MCP, Feature 036) - Command:
python3 mcp-servers/auvik-mcp/auvik_mcp_server.py(stdio transport) - Auth: Basic auth via
AUVIK_USERNAME+AUVIK_API_KEY - Read-only: GET operations only — no write or configuration changes
Available Tools
| Tool | What It Does |
|---|---|
auvik_get_device_statistics |
Time-series device stats (CPU, memory, bandwidth, packet rates) or availability stats (uptime, outage); stat_id, from_time, interval required |
auvik_get_interface_statistics |
Time-series interface stats (bandwidth, utilization, packet loss, discards, multicast, unicast, broadcast); stat_id, from_time, interval required |
auvik_get_service_statistics |
Time-series service (ping) stats — pingTime (latency) or pingPacket (packet loss); stat_id, from_time, interval required |
auvik_get_component_statistics |
Time-series hardware component stats (temperature, power, utilization, capacity); component_type, stat_id, from_time, interval required |
auvik_get_oid_statistics |
Point-in-time current OID values from /v1/stat/oid/deviceMonitor; no time window — returns the most recent polled value |
auvik_list_snmp_poller_settings |
List configured SNMP poller definitions; tenants required; with_devices=true lists devices assigned to a poller |
auvik_get_snmp_poller_history |
Historical SNMP poller time-series; tenants and from_time required; value_type=int requires interval; value_type=string accepts compact |
Key Concepts
Tenants = MSP clients. Performance tools accept an optional tenants parameter. Scope to a specific client to avoid cross-tenant data mixing.
Identifier resolution. device and parent_device parameters accept hostnames, IPs, or partial names — resolved automatically to Auvik IDs. The interface parameter on auvik_get_interface_statistics also resolves from name or parent device. Ambiguous matches return ResolutionCandidate[].
from_time and interval are required on all time-series tools. from_time accepts ISO-8601 datetimes or relative shorthand (e.g., -1h, -7d, -30d) which the server converts to ISO-8601. interval must be minute, hour, or day. thru_time is optional — defaults to now.
stat_id enums by tool. Each tool has a fixed set of valid stat_id values:
| Tool | Valid stat_id values |
|---|---|
auvik_get_device_statistics (standard) |
bandwidth, cpuUtilization, memoryUtilization, storageUtilization, packetUnicast, packetMulticast, packetBroadcast |
auvik_get_device_statistics (availability; set availability=true) |
uptime, outage |
auvik_get_interface_statistics |
bandwidth, utilization, packetLoss, packetDiscard, packetMulticast, packetUnicast, packetBroadcast |
auvik_get_service_statistics |
pingTime, pingPacket |
auvik_get_component_statistics |
capacity, counters, idle, latency, power, queueLatency, rate, readiness, ready, speed, swap, swapRate, temperature, totalLatency, utilization |
component_type on auvik_get_component_statistics. Valid values: cpu, cpuCore, disk, fan, memory, powerSupply, systemBoard. Both component_type and stat_id are required.
SNMP poller flow. Custom SNMP polling is a two-step operation: (1) auvik_list_snmp_poller_settings to discover poller IDs and associated devices; (2) auvik_get_snmp_poller_history to pull time-series values for a specific poller. tenants is required on both calls. value_type=int returns numeric time-series (requires interval); value_type=string returns string-valued OID snapshots (use compact=true to reduce payload size).
auvik_get_oid_statistics vs. auvik_get_snmp_poller_history. auvik_get_oid_statistics returns the most recent polled value for any OID on a device — no time window, no interval. Use it for a quick "what is the current value?" check. Use auvik_get_snmp_poller_history for trend analysis over time.
Pagination. auvik_get_oid_statistics and auvik_list_snmp_poller_settings support cursor pagination. Time-series tools return data arrays directly. Use fetch_all=false + page_first for large poller inventories.
Workflow
Device Health Check (CPU and Memory Trend)
- Start GAIT branch:
gait_branchwith name likeauvik-perf-check-<device>-2026-06-21 - CPU utilization:
auvik_get_device_statisticswithstat_id=cpuUtilization,device=<hostname>,from_time=-24h,interval=hour - Memory utilization: re-run with
stat_id=memoryUtilization, same device and window - Bandwidth: re-run with
stat_id=bandwidthto check overall traffic load - Availability:
auvik_get_device_statisticswithavailability=true,stat_id=uptime, same device and window — confirm no outage periods during the review window - Record in GAIT: commit performance findings with peak values, average utilization, and any anomalies noted
Interface Throughput Review
- Identify interfaces:
auvik-inventory(auvik_list_interfaces) withparent_device=<hostname>— enumerate interface names - Bandwidth stats:
auvik_get_interface_statisticswithstat_id=bandwidth,parent_device=<hostname>,from_time=-7d,interval=hour - Packet loss: re-run with
stat_id=packetLoss— identify any interfaces with elevated loss - Discards: re-run with
stat_id=packetDiscard— input/output queue drops signal congestion - Record in GAIT: commit interface performance summary with top-utilization interfaces and any loss/discard findings
Custom SNMP Poller Investigation
- List poller settings:
auvik_list_snmp_poller_settingswithtenants=<client>— discover available custom pollers and their IDs - Find poller devices: re-run with
poller_id=<id>,with_devices=true— confirm which devices report to this poller - Pull numeric history:
auvik_get_snmp_poller_historywithtenants=<client>,value_type=int,snmp_poller_setting_id=<id>,from_time=-30d,interval=hour - Pull string history (if applicable): re-run with
value_type=string,compact=true - Spot-check current value:
auvik_get_oid_statisticswithdevice=<hostname>,oid=<oid-string>for a point-in-time reading - Record in GAIT: commit poller findings with OID, device, value trend, and any threshold concerns
Component Temperature / Power Audit
- Fan temperature:
auvik_get_component_statisticswithcomponent_type=fan,stat_id=temperature,parent_device=<hostname>,from_time=-24h,interval=hour - PSU power: re-run with
component_type=powerSupply,stat_id=power - Memory utilization (component-level): re-run with
component_type=memory,stat_id=utilization - Disk capacity: re-run with
component_type=disk,stat_id=capacity - Record in GAIT: commit component health summary with peak values
Integration with Other Skills
| Skill | How They Work Together |
|---|---|
gait-session-tracking |
Mandatory — start a branch before querying, record every turn, close with gait_log |
auvik-inventory |
Discover device and interface names to use as device and parent_device params here |
auvik-network-alerts |
Correlate performance anomalies with alerts that fired in the same time window |
auvik-lifecycle |
High CPU/memory on aging devices combined with EoL status accelerates refresh priority |
Environment Variables
| Variable | Required | Description |
|---|---|---|
AUVIK_USERNAME |
Yes | Auvik user email (Basic-auth username) |
AUVIK_API_KEY |
Yes | Auvik API key (Basic-auth password) |
AUVIK_BASE_URL |
No | Regional cluster URL; defaults to https://auvikapi.us1.my.auvik.com — swap us1 for your region |
AUVIK_VERIFY_SSL |
No | Set false to skip TLS verification (not recommended) |
AUVIK_TIMEOUT |
No | HTTP timeout in seconds (default: 30) |
AUVIK_MAX_PAGES |
No | Pagination safety cap for poller settings (default: 50) |
Important Rules
- Read-only — this skill queries Auvik-collected telemetry only. It cannot configure SNMP pollers, change polling intervals, or modify device settings.
stat_id,from_time, andintervalare required on all time-series tools. Omitting any one returns aValidationError.component_typeis also required onauvik_get_component_statistics— specify the hardware subsystem (e.g.,fan,memory) before choosing thestat_id.tenantsis required onauvik_list_snmp_poller_settingsandauvik_get_snmp_poller_history— the Auvik API enforces this for custom poller endpoints.auvik_get_oid_statisticsreturns point-in-time data only — it does not acceptfrom_timeorinterval. Useauvik_get_snmp_poller_historyfor trend analysis.- Refer to devices by name or IP, not by Auvik internal IDs. The resolver handles lookup; raw IDs in prompts are fragile and tenant-specific.
- Record every session in GAIT — all performance queries, trend findings, and SNMP poller investigations must be committed to the audit trail.
Failure Behavior
- If a tool call fails with an authentication or connection error, check that
AUVIK_API_KEY,AUVIK_BASE_URL,AUVIK_USERNAMEare set and valid before assuming a data or device problem. - On a tool error (timeout, unreachable host, malformed response), report the failure and its error message directly to the user rather than fabricating or guessing at results.
- For a confirmed read-only call, check connectivity and retry once if appropriate. For any call that changes state or sends a message, a timeout does not prove the action failed: inspect current state or delivery status before retrying, preserve the required approval/change gates, and do not repeat an action whose outcome is unknown.