Nerdio Manager + AI in 60 seconds
Unofficial. Community-built Claude Code Skill and MCP server for the Nerdio Manager API. Not affiliated with, endorsed by, or sponsored by Nerdio, Inc.
Awaiting live verification - passes every mechanical gate (build, command-surface, claims, install). Be the first to confirm it against your tenant: report it works.
Ask “which host pools have autoscale off across all my customers?” and get one table - not 30 portal logins. Every MSP runs its own Nerdio Manager (NMM) install, so each answer normally means clicking through one tenant at a time. This skill pulls your whole NMM fleet into a local mirror and answers cross-account autoscale, power-state, billing, and Intune questions in a single command.
New to the term? An MCP server is the same thing ChatGPT calls an app or connector, Claude on the web calls a connector, and Claude Code calls a Skill. One thing, many names →
Install in 60s → View on GitHub →
Instead of clicking through Nerdio Manager, just ask
Instead of Log into each customer’s Nerdio Manager portal and click through Autoscale settings to find the host pools you never turned scaling on for
just ask: “Which host pools have autoscale disabled or drifting across all my customers?”
Your agent runs: nerdio-cli fleet autoscale-audit
Instead of Export each account’s usage and invoices and reconcile them in a spreadsheet before the QBR
just ask: “Give me a per-customer billing and unpaid-balance rollup for May”
Your agent runs: nerdio-cli fleet billing-rollup --period 2026-05-01:2026-05-31 --unpaid-only
Instead of Kick off a scripted action in one tenant, then refresh the Jobs page over and over to see if it finished
just ask: “Run script 42 on these three accounts and tell me when all of them are done”
Your agent runs: nerdio-cli scripted-actions fan-run
See it in 30 seconds
Demo data is simulated. Every command shown exists in the real CLI.
What it does
| Question your MSP keeps asking | Command your agent runs |
|---|---|
| Which host pools have autoscale off or drifting across every customer? | nerdio-cli fleet autoscale-audit |
| What is running right now across all accounts, and where? | nerdio-cli fleet host-estate |
| What did each customer get billed this period, and who is unpaid? | nerdio-cli fleet billing-rollup --period 2026-05-01:2026-05-31 --unpaid-only |
| Which customers’ Azure usage spiked month-over-month? | nerdio-cli usages drift --from 2026-04-01:2026-04-30 --to 2026-05-01:2026-05-31 |
| List every customer account I manage | nerdio-cli accounts |
| Show the host pools for one account | nerdio-cli host-pools list <account_id> |
| Which Intune devices does this account have? | nerdio-cli devices list <account_id> |
| Did that backup or provisioning job actually finish? | nerdio-cli job wait <job_id> |
| Run one scripted action across many accounts and wait for all of them | nerdio-cli scripted-actions fan-run <script_id> --accounts 101,102,103 --wait |
| Search everything I have synced, offline | nerdio-cli search <query> |
Full command reference at github.com/servosity/msp-skills/blob/main/skills/nerdio/guide.md.
What makes this one different
Most Nerdio Manager MCP servers proxy each question into a single live API call - fine for one record, useless for “across all my customers,” because the NMM API only returns one account or one period per call. This skill syncs your whole fleet into a local SQLite mirror with full-text search, so cross-account audits (autoscale, host estate, billing, usage drift) are one offline join the AI reads as a finished answer.
Nerdio Manager’s portal is built for operating one tenant at a time. This skill adds the cross-customer, terminal-and-agent surface the portal lacks - fleet-wide autoscale audits, a scriptable “wait until the job finishes” primitive, and offline search - without replacing NMM or changing how it runs your AVD.
The pain this closes
- AVD autoscale is the main reason to buy Nerdio, but there is no single view of which host pools across which customers actually have it enabled - so idle session hosts quietly bleed Azure spend until someone notices the bill.
- Every NMM install is per-tenant, so a basic question like “how many session hosts are running right now across all clients” means logging into each portal one at a time.
- NMM mutations return a job ID and the portal makes you babysit the Jobs page - there is no scriptable “wait until done” for backup, provisioning, or scripted actions.
Install
Works in any of these agents - pick yours:
| Agent | Quick install |
|---|---|
| Claude Desktop | Step-by-step → |
| ChatGPT (Plus/Pro+) | Step-by-step → |
| Claude Code | Step-by-step → |
| Codex CLI | Step-by-step → |
| Cursor, Windsurf, Cline, Continue, Zed, Copilot, Gemini, Hermes, OpenClaw | Which agent? → |
Quickest path for everyone else (terminal):
macOS / Linux:
bash <(curl -fsSL https://raw.githubusercontent.com/servosity/msp-skills/main/skills/nerdio/install.sh)
Windows (PowerShell):
iwr -useb https://raw.githubusercontent.com/servosity/msp-skills/main/skills/nerdio/install.ps1 | iex
After install, authenticate once with your Nerdio Manager credentials, then verify with nerdio-cli --version.
Safety model
| Tier | Examples | Recommended agent policy |
|---|---|---|
| Read | accounts, fleet autoscale-audit, fleet host-estate, fleet billing-rollup, usages drift, host-pools list, devices list, job wait, search, sync | Allow |
| Write (routine) | host-pools create, host-pools set-autoscale, reservations create / update, recovery-vaults create / link, resource-groups link / set-default, networks link, workspaces create, backup enable / disable, job retry, import | Preview with –dry-run, then a reviewed write |
| Endpoint / infrastructure control | hosts start / stop / restart, desktop-images start / stop, devices sync, scripted-actions run / run-account / fan-run, backup run / restore | Human-in-the-loop - these power, restart, or execute code on live VMs and devices |
| Credential / security | secure-variables list / create / update / delete (and account-* variants), devices bitlocker-keys, devices laps | Human-in-the-loop only - these read or write stored secrets, BitLocker keys, and LAPS passwords |
| Destructive | host-pools delete, reservations delete, recovery-vaults delete-policy, resource-groups unlink / account-unlink, scripted-actions unschedule | Human-in-the-loop only, explicit confirmation |
The skill reads your whole NMM fleet - accounts, host pools, session hosts, Intune devices, billing - and can also make changes: create or delete host pools and reservations, power and restart session hosts, run scripted actions across accounts, and manage secure variables. Reads are safe to automate. Anything that powers, executes, deletes, or touches a stored secret should be previewed with –dry-run and approved by a human. The credential’s NMM role is the real ceiling - scope it to only what your workflow needs. Full details in governance.md.
Frequently asked questions
Does this work with ChatGPT?
Yes, on paid ChatGPT plans. ChatGPT connects to remote MCP servers over HTTPS, so you expose the local Nerdio Manager MCP server via a secure bridge. Step-by-step in the install guide.
Do I need to know how to code?
No. Paste one sentence into Claude Code or Codex and your agent does the install, or run a one-line installer. You enter your credentials once.
Is my Nerdio Manager data safe?
Your data stays on your machine. The CLI, MCP server, and the local mirror are all local. The AI sees query results, not raw bulk data, and credentials are never bundled or transmitted by MSP Skills.
What does it cost?
Free. Apache-2.0 licensed. You pay only for whichever AI agent you already use.
Do I need to be a Nerdio partner, or run Nerdio Manager for MSP (NMM)?
Yes - this targets the NMM Partner REST API, which is the MSP edition (not Nerdio Manager for Enterprise). You create an API client in your own NMM portal under Settings > Integrations > REST API. There is no vendor-global endpoint; the CLI talks to your own instance URL, which you set as NERDIO_BASE_URL.
Will this replace the Nerdio Manager portal?
No. It is a read-first, cross-account companion. Day-to-day operating still happens in NMM; this is for the fleet-wide questions and scripted automation the portal makes tedious.
Why does a change only return a job ID?
Every NMM mutation (provisioning, scripted actions, backup, host power) is async and returns a job ID. Run nerdio-cli job wait
Status
Beta. Validated against the Nerdio Manager API surface and being validated with MSPs running it live against their own production tenants in our weekly Build Sessions.
Standards. Conforms to the open Agent Skills spec (Anthropic, Dec 2025; 40+ agents). MCP-compatible - works with any MCP-capable agent including Hermes. OpenClaw-ready (frontmatter pre-wired, awaiting OpenClaw launch).
Maintained by Servosity for the MSP community. Apache-2.0 licensed. Built with CLI Printing Press.