Discover and document everything Auvik manages: devices, networks, interfaces, hardware components, entity notes, audit history, and billing usage. Works across MSP multi-tenant environments — scope to a single client or sweep all visible tenants.
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 create, update, or delete
Available Tools
| Tool | What It Does |
|---|---|
auvik_verify_credentials |
Health-check the API connection; verify credentials before any session |
auvik_list_tenants |
List all tenants (MSP clients) visible to the API key; source of truth for tenants values |
auvik_list_devices |
List or inspect discovered devices at info, detail, or extended level; resolve by name, IP, or ID |
auvik_list_networks |
List networks at info or detail level; filter by type, scan status, or associated devices |
auvik_list_interfaces |
List network interfaces; filter by parent device name/IP, interface type, or operational status |
auvik_list_components |
List hardware components (CPU, memory, disk, fan, PSU); filter by device or component status |
auvik_list_entity_notes |
List notes attached to devices, networks, or interfaces; filter by entity name or type |
auvik_list_entity_audits |
List audit log entries for managed entities; filter by user, category, status, or date |
auvik_get_usage |
Billing/usage data for a date range; scope=client (all devices) or scope=device (single device) |
Key Concepts
Tenants = MSP clients. Auvik is built for MSPs — each managed customer is a separate tenant. Most tools accept an optional tenants parameter (a tenant name or domain prefix). Omit it to query across all visible tenants; provide it to scope results to a single client.
Identifier resolution. Pass device names, hostnames, IP addresses, or partial names to device, network, interface, or parent_device parameters — the server resolves them to internal Auvik IDs. If a name matches multiple records, the tool returns ResolutionCandidate[] so you can narrow the query. If you already know the Auvik numeric ID (6+ digits), it is used directly.
Cursor pagination. List tools auto-aggregate all pages up to AUVIK_MAX_PAGES (default 50). The response includes truncated: true and a next_cursor when the cap is hit. Use fetch_all=false + page_first to page manually, or raise AUVIK_MAX_PAGES in .env for large inventories.
detail_level on devices. info returns basic fields; detail adds management status and discovery settings; extended adds richer hardware data but requires the device_type filter (Auvik API enforcement).
Workflow
Onboard a New MSP Client
- Verify connection:
auvik_verify_credentials— confirm API key is valid - List tenants:
auvik_list_tenants— identify the new client's tenant name/domain prefix - Discover devices:
auvik_list_deviceswithtenants=<client>anddetail_level=detail - List networks:
auvik_list_networkswithtenants=<client>— map the IP topology - List interfaces:
auvik_list_interfaceswithparent_device=<core-switch-name>— enumerate uplinks - Check components:
auvik_list_componentswithtenants=<client>— identify hardware health - Pull entity notes:
auvik_list_entity_noteswithtenants=<client>— surface existing annotations - Record in GAIT: log discovered inventory and any notes as a baseline commit
Audit a Device Change
- Pull audit log:
auvik_list_entity_auditswithtenants=<client>+modified_after=<date> - Filter by user: add
user=<email>to isolate a specific administrator's actions - Cross-reference notes:
auvik_list_entity_noteson the affected device to see current annotations - Record in GAIT: commit the audit trail with findings
Billing Usage Review
- List tenants:
auvik_list_tenants— confirm tenant names - Client usage:
auvik_get_usagewithscope=client,from_date=<YYYY-MM-DD>,thru_date=<YYYY-MM-DD>,tenants=<client> - Device usage:
auvik_get_usagewithscope=device,device=<hostname>,from_date=,thru_date=for a single device - Record in GAIT: commit usage figures for billing reconciliation
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-network-alerts |
After inventorying devices, check active alerts against the discovered asset list |
auvik-lifecycle |
Cross-reference device inventory against EoL/warranty data to identify at-risk assets |
auvik-performance |
Use device names discovered here as device params in performance queries |
netbox-reconcile |
Compare Auvik-discovered inventory against NetBox SoT to surface drift |
servicenow-change-workflow |
Correlate audit log entries with approved ServiceNow change records |
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 (default: 50) |
Important Rules
- Read-only — this skill never modifies Auvik data. No create, update, or delete operations exist.
- Refer to assets by name or IP, not by Auvik internal IDs. The resolver handles ID lookup automatically; IDs in prompts are fragile and tenant-specific.
- Always scope to a tenant when working in an MSP environment. Omitting
tenantsreturns cross-tenant results, which can be noisy and may expose one client's data in another's context. detail_level=extendedrequiresdevice_type— the Auvik API enforces this; omitting it returns aValidationError.- Record every session in GAIT — all inventory discoveries, audit findings, and usage pulls must be committed to the audit trail.