ames-unifi-mcp 1.0.6 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
|
|
18
18
|
<p align="center">
|
|
19
19
|
<a href="https://www.npmjs.com/package/ames-unifi-mcp"><img src="https://img.shields.io/npm/v/ames-unifi-mcp?style=flat-square&color=f5a542" alt="npm"></a>
|
|
20
|
-
<a href="https://github.com/oliverames/ames-unifi-mcp/
|
|
20
|
+
<a href="https://github.com/oliverames/ames-unifi-mcp/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/oliverames/ames-unifi-mcp/ci.yml?branch=main&style=flat-square&label=CI&color=f5a542" alt="CI"></a>
|
|
21
|
+
<a href="https://github.com/oliverames/ames-unifi-mcp/releases/tag/v1.0.7"><img src="https://img.shields.io/github/v/release/oliverames/ames-unifi-mcp?style=flat-square&color=f5a542&label=MCPB" alt="MCPB release"></a>
|
|
21
22
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-f5a542?style=flat-square" alt="License"></a>
|
|
22
23
|
<a href="https://www.buymeacoffee.com/oliverames"><img src="https://img.shields.io/badge/Buy_Me_a_Coffee-support-f5a542?style=flat-square&logo=buy-me-a-coffee&logoColor=white" alt="Buy Me a Coffee"></a>
|
|
23
24
|
</p>
|
|
@@ -44,9 +45,9 @@ Every mutating operation passes through a **confirm gate** that returns a dry-ru
|
|
|
44
45
|
|
|
45
46
|
### Install with MCPB
|
|
46
47
|
|
|
47
|
-
For Claude Desktop and other MCPB-compatible clients, download the local bundle from the [v1.0.
|
|
48
|
+
For Claude Desktop and other MCPB-compatible clients, download the local bundle from the [v1.0.7 release](https://github.com/oliverames/ames-unifi-mcp/releases/tag/v1.0.7):
|
|
48
49
|
|
|
49
|
-
[Download `ames-unifi-mcp-1.0.
|
|
50
|
+
[Download `ames-unifi-mcp-1.0.7.mcpb`](https://github.com/oliverames/ames-unifi-mcp/releases/download/v1.0.7/ames-unifi-mcp-1.0.7.mcpb)
|
|
50
51
|
|
|
51
52
|
The bundle includes the UniFi favicon, production runtime binaries for macOS and Linux, and setup prompts for host, authentication, site, SSL, tool mode, and permission profile.
|
|
52
53
|
|
|
@@ -288,6 +289,10 @@ The server covers all three UniFi API layers:
|
|
|
288
289
|
| `UNIFI_API_KEY` | * | — | API key (preferred, requires 9.1.105+) |
|
|
289
290
|
| `UNIFI_USERNAME` | * | — | Username (if no API key) |
|
|
290
291
|
| `UNIFI_PASSWORD` | * | — | Password (if no API key) |
|
|
292
|
+
| `UNIFI_HOST_OP_REF` | No | empty | Caller-owned 1Password reference for the controller URL |
|
|
293
|
+
| `UNIFI_API_KEY_OP_REF` | No | empty | Caller-owned 1Password reference for the API key |
|
|
294
|
+
| `UNIFI_USERNAME_OP_REF` | No | empty | Caller-owned 1Password reference for the username |
|
|
295
|
+
| `UNIFI_PASSWORD_OP_REF` | No | empty | Caller-owned 1Password reference for the password |
|
|
291
296
|
| `UNIFI_SITE` | No | `default` | Site name |
|
|
292
297
|
| `UNIFI_VERIFY_SSL` | No | `true` | `false` for self-signed certs |
|
|
293
298
|
| `UNIFI_TOOL_MODE` | No | `lazy` | `lazy` (3 meta-tools) or `eager` (all 310 tools) |
|
|
@@ -297,14 +302,14 @@ The server covers all three UniFi API layers:
|
|
|
297
302
|
|
|
298
303
|
### 1Password fallback
|
|
299
304
|
|
|
300
|
-
|
|
305
|
+
The server can resolve credentials through 1Password CLI, but it does not assume a vault or item name. Set the reference variables to paths you own:
|
|
301
306
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
307
|
+
```bash
|
|
308
|
+
UNIFI_HOST_OP_REF="op://Your Vault/Your Item/host"
|
|
309
|
+
UNIFI_API_KEY_OP_REF="op://Your Vault/Your Item/api_key"
|
|
310
|
+
```
|
|
306
311
|
|
|
307
|
-
|
|
312
|
+
Plaintext environment variables take priority. The server calls `op read` only when a plaintext value is empty and its matching reference variable is set. This keeps the public package neutral and prevents unexpected 1Password lookups.
|
|
308
313
|
|
|
309
314
|
### Authentication Methods
|
|
310
315
|
|
|
@@ -312,18 +317,7 @@ Create a `UniFi Controller` item in your `Development` vault with those fields a
|
|
|
312
317
|
|
|
313
318
|
**Username/Password** — Uses session cookies with automatic re-login on expiry. The server includes a single-flight re-login mechanism that prevents thundering-herd issues when batch operations encounter session timeouts simultaneously.
|
|
314
319
|
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
If credentials are not set in the environment, the server automatically attempts to resolve them from [1Password CLI](https://developer.1password.com/docs/cli/):
|
|
318
|
-
|
|
319
|
-
| Variable | 1Password Reference |
|
|
320
|
-
|----------|-------------------|
|
|
321
|
-
| `UNIFI_HOST` | `op://Development/UniFi Controller/host` |
|
|
322
|
-
| `UNIFI_API_KEY` | `op://Development/UniFi Controller/api_key` |
|
|
323
|
-
| `UNIFI_USERNAME` | `op://Development/UniFi Controller/username` |
|
|
324
|
-
| `UNIFI_PASSWORD` | `op://Development/UniFi Controller/password` |
|
|
325
|
-
|
|
326
|
-
This means you can skip setting env vars entirely if you have `op` installed and a service account or session active. The fallback adds ~1-2s to startup and is silently skipped if 1Password is unavailable.
|
|
320
|
+
See [integration testing](docs/INTEGRATION_TESTING.md) for a safe controller test sequence and [release guidance](docs/RELEASING.md) for the checks that produce the npm package, MCPB bundle, checksums, and SBOM.
|
|
327
321
|
|
|
328
322
|
---
|
|
329
323
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|