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.
git clone --depth 1 https://github.com/swkstudios/unifi-fabric-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/plugins/swkstudios/unifi-fabric-mcp-server/gemini-extension)<a href="https://agentmods.dev/plugins/swkstudios/unifi-fabric-mcp-server/gemini-extension"><img src="https://agentmods.dev/badge/plugins/swkstudios/unifi-fabric-mcp-server/gemini-extension/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/plugins/swkstudios/unifi-fabric-mcp-server/gemini-extension"><img src="https://agentmods.dev/badge/plugins/swkstudios/unifi-fabric-mcp-server/gemini-extension.svg" alt="Reviewed on agentmods" width="80" height="20"></a>Grade A, and why
unifi-fabric 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 2d 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.
What it actually says
{
"name": "unifi-fabric",
"version": "0.7.0",
"description": "Runs the open-source UniFi Fabric MCP server locally (uvx, pinned release) with your own UniFi Site Manager API key, to read and manage UniFi sites, devices, clients, firewall, VPN and Protect cameras through Ubiquiti's cloud API (api.ui.com). Not affiliated with Ubiquiti Inc.",
"mcpServers": {
"unifi-fabric": {
"command": "uvx",
"args": [
"--from",
"unifi-fabric-mcp-server==0.7.0",
"unifi-fabric-mcp"
]
}
},
"settings": [
{
"name": "UniFi Site Manager API key",
"description": "Your own UniFi Site Manager API key (unifi.ui.com > API Keys > Create New API Key; enable Site Manager and Network, add Protect for cameras). Stored in the system keychain; the server sends it only to api.ui.com.",
"envVar": "UNIFI_API_KEY",
"sensitive": true
},
{
"name": "Read-only mode",
"description": "Leave empty for the default (read and write tools both work). Enter 1 to refuse every write and action tool before anything is sent to UniFi.",
"envVar": "UNIFI_READ_ONLY",
"sensitive": false
},
{
"name": "Tool mode",
"description": "discovery is the default; enter full to advertise every domain tool (recommended for gateways). Leave empty for discovery.",
"envVar": "UNIFI_TOOL_MODE",
"sensitive": false
}
]
}
What ships with it
54 files beside gemini-extension.json in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- schemas/server.schema.json 22 KB
- scripts/api_source_counts.py 3.0 KB runs code
- scripts/check_ca_bundle.py 2.8 KB runs code
- scripts/check_catalog_regression.py 15 KB runs code
- scripts/check_doc_images.py 1.4 KB runs code
- scripts/check_doc_links.py 10 KB runs code
- scripts/check_doc_provenance.py 15 KB runs code
- scripts/check_image_platforms.sh 1.6 KB runs code
- scripts/check_lock_wheels.sh 1.4 KB runs code
- scripts/check_markdown.py 9.5 KB runs code
- scripts/check_no_timeouts.py 23 KB runs code
- scripts/check_server_json_version.py 2.7 KB runs code
- scripts/check_spec_drift.py 17 KB runs code
- scripts/ci_fast_jobs.py 36 KB runs code
- scripts/demo/.gitignore 5 B
- scripts/demo/background.png 8.2 KB
- scripts/demo/compose.py 5.9 KB runs code
- scripts/demo/demo.py 17 KB runs code
- scripts/demo/demo.tape 1.3 KB
- scripts/demo/fixtures.json 12 KB
- scripts/demo/hallway.jpg 360 KB
- scripts/demo/make_hallway.py 4.1 KB runs code
- scripts/demo/mock_api.py 22 KB runs code
- scripts/demo/msp_guard.py 1010 B runs code
- scripts/demo/msp_render.py 2.0 KB runs code
- scripts/demo/msp.py 11 KB runs code
- scripts/demo/README.md 5.7 KB
- scripts/demo/run.sh 707 B runs code
- scripts/doc_links.toml 950 B
- scripts/doc_provenance.json 1.0 KB
- scripts/docs_impact.py 22 KB runs code
- scripts/extract_install_cases.py 5.2 KB runs code
- scripts/gen_catalog_figures.py 36 KB runs code
- scripts/gen_discovery_queries.py 6.4 KB runs code
- scripts/gen_homebrew_resources.py 6.5 KB runs code
- scripts/gen_reference_blocks.py 11 KB runs code
- scripts/gen_tool_input_schemas.py 1.6 KB runs code
- scripts/gen_tools_doc.py 24 KB runs code
- scripts/generate_tools_docs.py 221 B runs code
- scripts/install_smoke.py 42 KB runs code
- scripts/markdown_blocks.py 11 KB runs code
- scripts/mcp_navigation.py 5.0 KB runs code
- scripts/prepush.sh 3.7 KB runs code
- scripts/proxy_container_smoke.md 2.4 KB
- scripts/proxy_container_smoke.sh 3.7 KB runs code
- scripts/pypi_readme.py 3.3 KB runs code
- scripts/read_post_samples.py 1.1 KB runs code
- scripts/scrub_dense_bench.py 8.5 KB runs code
- scripts/scrub_join_differential.py 8.8 KB runs code
- scripts/select_pr_tests.py 54 KB runs code
- scripts/site_stats.py 5.9 KB runs code
- scripts/smoke_image.sh 4.2 KB runs code
- scripts/validate_server_json.py 1.9 KB runs code
- scripts/vendor_openapi_specs.py 5.5 KB runs code
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.
- 2d ago First seen · 36 lines scan A b2f7c7b7d963
unifi-fabric is a plugin published in the GitHub repository swkstudios/unifi-fabric-mcp-server (6 stars, last pushed 4d ago), licensed MIT. Its token cost is not measured: this kind of file is read by the harness, not the model. 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-11-04.
unifi-fabric compared with plugins from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| unifi-fabricswkstudios/unifi-fabric-mcp-server | Plugin | 6 | 4d ago | MIT | A | — | Gemini CLI |
| unifi-accesssirkirby/unifi-mcp | Plugin | 1.0k | yesterday | MIT | A | — | Claude Code |
| unifi-networksirkirby/unifi-mcp | Plugin | 1.0k | yesterday | MIT | A | — | Claude Code |
| unifi-protectsirkirby/unifi-mcp | Plugin | 1.0k | yesterday | MIT | A | — | Claude Code |
| unifi-intelligencesirkirby/unifi-mcp | Plugin | 1.0k | yesterday | MIT | A | — | Claude Code |
| devices-mcpsandraschi/devices-mcp | Plugin | 4 | 4d ago | MIT | A | — | Claude Code |
| unifi-clibaileywickham/unifi-cli | Plugin | 3 | 25d ago | MIT | A | — | Claude Code |