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/sirkirby/unifi-mcpWrote 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/sirkirby/unifi-mcp/unifi-access)<a href="https://agentmods.dev/plugins/sirkirby/unifi-mcp/unifi-access"><img src="https://agentmods.dev/badge/plugins/sirkirby/unifi-mcp/unifi-access/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/sirkirby/unifi-mcp/unifi-access"><img src="https://agentmods.dev/badge/plugins/sirkirby/unifi-mcp/unifi-access.svg" alt="Reviewed on agentmods" width="80" height="20"></a>Grade A, and why
unifi-access 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 4d 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.
Copies of this mod
1 near-identical copy found in the catalogue:
- unifi-access — 91% identical, 144 lines differ
How it starts
The opening of the file, as written. The whole thing — 157 lines — stays where its author put it; the contents beside it link to each section on GitHub.
{
"name": "unifi-access",
"version": "1.0.8",
"description": "UniFi Access MCP server \u2014 manage door locks, credentials, visitors, and access policies",
"author": {
"name": "sirkirby",
"url": "https://github.com/sirkirby"
},
"license": "MIT",
"icon": "./assets/icon.png",
"keywords": [
"unifi",
"access",
"doors",
"credentials",
"mcp"
],
"mcpServers": {
"unifi-access": {
"command": "uvx",
"args": [
"--python-preference",
"system",
"unifi-access-mcp==0.6.17"
],
"env": {
"UNIFI_ACCESS_HOST": "${user_config.host}",
"UNIFI_ACCESS_USERNAME": "${user_config.username}",
"UNIFI_ACCESS_PASSWORD_FILE": "${user_config.password_file}",
"UNIFI_ACCESS_PASSWORD_COMMAND": "${user_config.password_command}",
"UNIFI_ACCESS_PASSWORD": "${user_config.password}",
"UNIFI_ACCESS_API_KEY_FILE": "${user_config.api_key_file}",
"UNIFI_ACCESS_API_KEY_COMMAND": "${user_config.api_key_command}",
"UNIFI_ACCESS_API_KEY": "${user_config.api_key}",
"UNIFI_ACCESS_PORT": "${user_config.port}",
"UNIFI_ACCESS_VERIFY_SSL": "${user_config.verify_ssl}",
"UNIFI_POLICY_ACCESS_CREATE": "${user_config.policy_create}",
"UNIFI_POLICY_ACCESS_UPDATE": "${user_config.policy_update}",
"UNIFI_POLICY_ACCESS_DELETE": "${user_config.policy_delete}",
"UNIFI_ACCESS_TOOL_PERMISSION_MODE": "${user_config.permission_mode}",
"UNIFI_TOOL_REGISTRATION_MODE": "${user_config.registration_mode}"
}
}
},
"userConfig": {
"host": {
"type": "string",
"title": "Host",
"description": "UniFi Access console IP address or hostname"
},
"username": {
"type": "string",
"title": "Username",
"description": "Local account username for session authentication"
},
"password_file": {
"type": "string",
"title": "Password file",
"description": "AbsoWhat it installs
The manifest is a name and a version. 3 skills travel with it, and installing the plugin installs all of them — 186 tokens a session between them. Each is measured on its own page, and each can be installed alone.
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.
- 4d ago Changed · +1 lines 34bc11f8733d
- 5d ago Changed 3bff1618182c
- 10d ago Changed 4bf2b6419c21
- 13d ago Changed 07a734b73781
- 14d ago Changed 299ede452970
- 15d ago Changed · +109 lines 8b4958b59792
- 19d ago Changed f5e41f188898
- 26d ago Changed eb2dc2401ba3
- 1mo ago Changed b6b2e2e6f849
- 1mo ago First seen · 47 lines scan A c81ba78bb7a1
unifi-access is a plugin published in the GitHub repository sirkirby/unifi-mcp (955 stars, last pushed yesterday), 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-08-30.
Other plugins, from other repositories
android-remote-control
Channel plugin for Android Remote Control MCP — receives device events (notifications, WiFi, geofence) and pushes them into Claude Code sessions.
aurora
Aurora Smart Home - skills for Home Assistant, ESPHome, Node-RED, custom integrations, API catalog, and dashboard design.
aruba-central-mcp
Aruba Central (GreenLake New Central API) for Claude Code, through an OAuth2 Client Credentials service account. List and inspect access points, radios, BSSIDs, WLANs, swarms, switches, and wireless clients, get bandwidth/throughput trends and client mobility trails, see each swarm's firmware and upgrade status…
connectwise-control
Manage ConnectWise Control (ScreenConnect) remote support and access sessions from the terminal or your AI agent: list and inspect sessions across groups, run commands on guest machines, rename and tag sessions, manage instance users, and query the audit log - the whole instance from one CLI.
domotz
Every Domotz endpoint, plus a local SQLite fleet mirror that answers cross-site questions.
levelio
Every Level RMM endpoint, plus a local SQLite fleet store and offline cross-entity rollups no Level tool has: at-risk ranking, patch posture, alert triage, and stale-device detection in one command.