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/releases/tag/v1.0.6"><img src="https://img.shields.io/github/v/release/oliverames/ames-unifi-mcp?style=flat-square&color=f5a542&label=MCPB" alt="MCPB release"></a>
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.6 release](https://github.com/oliverames/ames-unifi-mcp/releases/tag/v1.0.6):
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.6.mcpb`](https://github.com/oliverames/ames-unifi-mcp/releases/download/v1.0.6/ames-unifi-mcp-1.0.6.mcpb)
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` | * | &mdash; | API key (preferred, requires 9.1.105+) |
289
290
  | `UNIFI_USERNAME` | * | &mdash; | Username (if no API key) |
290
291
  | `UNIFI_PASSWORD` | * | &mdash; | 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
- If env vars are unset, the server falls back to 1Password CLI (`op read`) using these references:
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
- - `op://Development/UniFi Controller/host`
303
- - `op://Development/UniFi Controller/api_key`
304
- - `op://Development/UniFi Controller/username`
305
- - `op://Development/UniFi Controller/password`
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
- Create a `UniFi Controller` item in your `Development` vault with those fields and the server will resolve credentials at startup with no env vars required. Resolution happens in `internal/config/config.go:opRead` and requires either an interactive `op` session or `OP_SERVICE_ACCOUNT_TOKEN` in the environment.
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** &mdash; 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
- ### 1Password Integration
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ames-unifi-mcp",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "description": "UniFi Network MCP server — 310 tools for complete controller management via the Model Context Protocol",
5
5
  "keywords": [
6
6
  "mcp",