Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add enuno/unifi-mcp-server --skill unifi-fleet-operationsgit clone --depth 1 https://github.com/enuno/unifi-mcp-serverWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/enuno/unifi-mcp-server/unifi-fleet-operations)<a href="https://agentmods.dev/skills/enuno/unifi-mcp-server/unifi-fleet-operations"><img src="https://agentmods.dev/badge/skills/enuno/unifi-mcp-server/unifi-fleet-operations/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/enuno/unifi-mcp-server/unifi-fleet-operations"><img src="https://agentmods.dev/badge/skills/enuno/unifi-mcp-server/unifi-fleet-operations.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00055 | $0.02019 |
| Opus 5.5 | $0.00022 | $0.00808 |
| Sonnet 5.5 | $0.00011 | $0.00404 |
| Haiku 4.5 | $0.00006 | $0.00202 |
Grade A, and why
unifi-fleet-operations scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 201 lines — stays where its author put it; the contents beside it link to each section on GitHub.
UniFi Fleet Operations
Fleet mode puts many controllers behind a single MCP endpoint. The server holds the controller registry, routes each call to the right controller and records who did what.
Prerequisites
Fleet mode needs more than the single-controller setup:
| Requirement | Setting | Consequence when missing |
|---|---|---|
| Postgres | DATABASE_URL |
The server runs as a single controller. No fleet tools, no registry. |
| Redis | REDIS_URL |
The shared read cache is disabled. Slower, not broken. |
| A credential key | UNIFI_CREDENTIAL_KEY |
Controller credentials cannot be encrypted at rest. The server refuses to start. |
The fleet_* and registry tools are registered only when
DATABASE_URL is set. In a single-controller deployment they are absent,
and a call naming one is refused.
How a call reaches a controller
Every controller-bound tool takes an optional controller argument. Without
it, the server uses the selected controller, and failing that the default
one.
# Explicit: this call goes to the named controller
await client.call_tool("list_sites", {"controller": "edge-paris"})
# Implicit: the selected controller, else the default
await client.call_tool("list_sites", {})
To choose the controller for subsequent calls:
await client.call_tool("select_controller", {"name": "edge-paris"})
select_controller sets the selection for the session. It is refused
in stateless HTTP mode (MCP_STATELESS_HTTP=true), because there is no
session to hold the selection. In that mode, pass controller on every
call instead.
Finding out what is there
| Tool | Answers |
|---|---|
list_controllers |
Which controllers the registry holds, and their labels |
get_active_controller |
Which controller a call without controller would reach |
fleet_health |
Per-controller health, capabilities, Network 11 USG-gating signal, and snapshot age |
fleet_sites |
Which sites each controller holds |
fleet_inventory |
Device inventory across the fleet, with firmware and state |
fleet_compare_versions |
Firmware versions per model across controllers, with a behind flag |
fleet_compare_sites |
Site short names common or unique across controllers |
fleet_fanout |
Runs one read tool across a bounded set of controllers |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago Changed · +18 lines 6ce94e543c56
- 9d ago Changed · +2 lines e6978350eab5
- 10d ago First seen · 181 lines · 55 tokens per session scan A ed353ed09f79
unifi-fleet-operations is a skill published in the GitHub repository enuno/unifi-mcp-server (340 stars, last pushed 3d ago), licensed Apache-2.0. It adds 55 tokens to every session and 2,019 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-27.
unifi-fleet-operations compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| unifi-fleet-operationsenuno/unifi-mcp-server | Skill | 340 | 3d ago | Apache-2.0 | A | 55 | Claude Code, Codex |
| gke-compute-classesgoogle/skills | Skill | 22k | yesterday | Apache-2.0 | A | 83 | Claude Code, Codex |
| jetson-diagnosticNVIDIA/skills | Skill | 3.9k | yesterday | Apache-2.0 | A | 30 | Claude Code, Codex |
| holoscan-install-wheelNVIDIA/skills | Skill | 3.9k | yesterday | Apache-2.0 | A | 34 | Claude Code, Codex |
| offensive-z-waveSnailSploit/Claude-Red | Skill | 10k | 25d ago | MIT | A | 113 | Claude Code, Codex |
| doca-socket-relayNVIDIA/skills | Skill | 3.9k | yesterday | Apache-2.0 | A | 236 | Claude Code, Codex |
| hsb-flashNVIDIA/skills | Skill | 3.9k | yesterday | Apache-2.0 | B | 94 | Claude Code |