Auvik MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Auvik MCP Serverlist all offline devices across my tenants"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Auvik MCP Server
An MCP server for the Auvik network monitoring API. It lets an AI agent read an MSP's Auvik data: tenants, discovered devices, networks, interfaces, configuration backups, alerts, performance statistics and billing usage.
Transport: MCP Streamable HTTP at
POST /mcp, health probe atGET /healthStateless and multi-tenant: credentials arrive on every request as HTTP headers and are never stored
Python 3.12, uv, FastMCP, httpx
License: Apache-2.0, Copyright 2026 MSPbots.ai
Authentication headers
Header | Required | Type | Default | Allowed values | Description | Example |
| Yes | string | none | - | Auvik user name (login e-mail) that owns the API key |
|
| Yes | string | none | - | API key of that user |
|
| No | string |
|
| Auvik cluster of the account; the API host is |
|
Where to get them:
API key: generated per Auvik user from the user's profile in the Auvik web UI. See Auvik's article Generating an API key.
Region: the Auvik cluster your account is hosted on (for example
us1oreu1). If you are unsure, runauvik_statuswith each candidate region; only the right one should authenticate.Permissions: the user's role decides what the API can read. A read-only role covers every tool except
auvik_alerts_dismiss, which needs a role allowed to manage alerts. See Auvik role permissions.
A request to /mcp without the required headers gets HTTP 401 with the list of required headers;
an unknown region gets HTTP 400.
Related MCP server: Meraki Monitor MCP
Tools
All tools return a JSON string. List tools return {items, count, has_more, next_cursor}; pass
next_cursor as pageAfter to get the next page. pageSize defaults to 50 (max 200). Most tools
take an optional tenants (comma-separated tenant IDs from auvik_tenants_list); without it they
cover every tenant the API user can access.
Tool | Purpose | Parameters (required in bold) |
| Check that the credentials are valid | - |
| API docs, support and status links for the region | - |
| List the MSP account and its client tenants | - |
| One tenant's basic record | tenantId |
| One tenant's detail, incl. API availability | tenantId, tenantDomainPrefix |
| List devices | pageSize, pageAfter, tenants, filter_deviceType, filter_modifiedAfter, filter_vendorName, filter_onlineStatus, filter_makeModel, filter_networks |
| One device's info | deviceId |
| One device's discovery/manage status | deviceId |
| One device's warranty coverage | deviceId |
| One device's lifecycle / end-of-support | deviceId |
| List networks (subnets, VLANs, Wi-Fi) | pageSize, pageAfter, tenants, filter_networkType, filter_modifiedAfter, filter_devices |
| One network with its detail | networkId |
| List interfaces | pageSize, pageAfter, tenants, filter_parentDevice, filter_interfaceType, filter_operationalStatus, filter_adminStatus |
| List configuration backups | pageSize, pageAfter, tenants, filter_devices, filter_backupTimeAfter, filter_backupTimeBefore, filter_isRunning |
| One configuration backup | configId |
| Notes on devices/networks/interfaces | pageSize, pageAfter, tenants, filter_entityId, filter_entityType, filter_entityName, filter_modifiedAfter |
| Remote-access session audit records | pageSize, pageAfter, tenants, filter_user, filter_category, filter_status, filter_modifiedAfter |
| List alert history | filter_detectedTimeAfter, filter_detectedTimeBefore, filter_status, filter_severity, filter_dismissed, filter_entityId, pageSize, pageAfter, tenants |
| One alert | alertId |
| Dismiss one alert (changes data) | alertId |
| Device metrics over time | statId, fromTime, interval, thruTime, filter_devices, pageSize, pageAfter, tenants |
| Interface metrics over time | statId, fromTime, interval, thruTime, filter_interfaces, filter_parentDevice, pageSize, pageAfter, tenants |
| Ping time / packet loss of monitored services | statId, fromTime, interval, thruTime, filter_services, pageSize, pageAfter, tenants |
| Custom SNMP poller value history | statId ( |
| Billable usage per client | fromDate, thruDate, tenants |
| Billable usage of one device | deviceId, fromDate, thruDate |
| Any other documented | path, method, query, body |
Metric values for statId:
device:
bandwidth,cpuUtilization,memoryUtilization,storageUtilization,packetUnicast,packetMulticast,packetBroadcastinterface:
bandwidth,utilization,packetLoss,packetDiscard,packetMulticast,packetUnicast,packetBroadcastservice:
pingTime,pingPacket
Times are ISO 8601 (2026-01-31T00:00:00.000Z); billing dates are YYYY-MM-DD.
Errors come back as a JSON envelope instead of an exception:
{"error": {"code": "unauthorized", "message": "Auvik returned HTTP 401: ...", "retryable": false}}code is one of not_configured, unauthorized, not_found, invalid_argument,
rate_limited, upstream_error.
Run locally
uv sync
uv run python -m auvik_mcp # listens on 0.0.0.0:8080or with Docker:
docker build --platform linux/amd64 -t auvik-mcp:dev .
docker run --rm -p 8080:8080 auvik-mcp:devConfiguration (environment variables, all optional): MCP_HTTP_HOST (default 0.0.0.0),
MCP_HTTP_PORT (default 8080), LOG_LEVEL (default INFO). Credentials are never read from
the environment.
Testing example
# list tools
curl -s http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "X-Auvik-Username: user@example.com" \
-H "X-Auvik-Api-Key: YOUR_API_KEY" \
-H "X-Auvik-Region: us1" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
# call a tool
curl -s http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "X-Auvik-Username: user@example.com" \
-H "X-Auvik-Api-Key: YOUR_API_KEY" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"auvik_devices_list","arguments":{"filter_onlineStatus":"offline","pageSize":10}}}'Unit tests (no network access needed):
uv run pytestDelivery notes
Tool count (27). This is above the suggested 20 because the tool names are an existing contract: agents and tenant connections already use them, so none were merged or removed.
Write tools.
auvik_alerts_dismiss(one alert by ID) andauvik_raw_requestwithmethod=POSTchange data; both are annotateddestructiveHint=trueand their descriptions tell the agent to use them only on explicit request.auvik_raw_requestonly reaches/v1/...paths on the caller's own Auvik API host.Legacy arguments. Arguments that the Auvik API never honoured (for example a numeric
pageon list tools; Auvik pagination is cursor-based) are not declared any more. Callers that still send them are not rejected; the values are ignored.
License
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect AI agents to 580+ APIs with OAuth or API-key auth. Hosted gateway; API pricing varies.
Verified, pay-per-use API tools for AI agents through one authenticated connection.
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
- FullmaktOAuthai.fullmakt
Credential broker for AI agents: scoped, revocable API access with policy enforcement and audit.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides secure access to the LogicMonitor API, enabling AI assistants to manage monitoring infrastructure through natural language commands.15 npm6Mozilla Public 2.0
- AlicenseNot gradedqualityDmaintenanceEnables secure, read-only monitoring of Cisco Meraki networks, allowing AI agents to query real-time information on organizations, networks, devices, clients, and traffic without risk of configuration changes.MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to investigate threats, pull reports, manage security policies, and administer deployment infrastructure through the Cisco Secure Access REST API.-
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to manage MSP-multi-tenant email security: organizations, domains, users, licensing, features, subscription packages, and email flow reporting.Apache 2.0