ames-unifi-mcp 1.0.2 → 1.0.4
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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="icon.png" width="80" height="80" alt="UniFi">
|
|
2
|
+
<img src="assets/icon.png" width="80" height="80" alt="UniFi">
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<h1 align="center">UniFi MCP Server</h1>
|
|
@@ -17,12 +17,14 @@
|
|
|
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.3"><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
21
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-f5a542?style=flat-square" alt="License"></a>
|
|
21
22
|
<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>
|
|
22
23
|
</p>
|
|
23
24
|
|
|
24
25
|
<p align="center">
|
|
25
26
|
<a href="#quick-start">Quick Start</a> •
|
|
27
|
+
<a href="#install-with-mcpb">MCPB Download</a> •
|
|
26
28
|
<a href="#tool-coverage">Tool Coverage</a> •
|
|
27
29
|
<a href="#architecture">Architecture</a> •
|
|
28
30
|
<a href="#configuration">Configuration</a>
|
|
@@ -40,6 +42,14 @@ Every mutating operation passes through a **confirm gate** that returns a dry-ru
|
|
|
40
42
|
|
|
41
43
|
## Quick Start
|
|
42
44
|
|
|
45
|
+
### Install with MCPB
|
|
46
|
+
|
|
47
|
+
For Claude Desktop and other MCPB-compatible clients, download the local bundle from the [v1.0.3 release](https://github.com/oliverames/ames-unifi-mcp/releases/tag/v1.0.3):
|
|
48
|
+
|
|
49
|
+
[Download `ames-unifi-mcp-1.0.3.mcpb`](https://github.com/oliverames/ames-unifi-mcp/releases/download/v1.0.3/ames-unifi-mcp-1.0.3.mcpb)
|
|
50
|
+
|
|
51
|
+
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
|
+
|
|
43
53
|
Add to your MCP client configuration:
|
|
44
54
|
|
|
45
55
|
```json
|
|
@@ -276,7 +286,7 @@ The server covers all three UniFi API layers:
|
|
|
276
286
|
|
|
277
287
|
| Variable | Required | Default | Description |
|
|
278
288
|
|----------|----------|---------|-------------|
|
|
279
|
-
| `UNIFI_HOST` |
|
|
289
|
+
| `UNIFI_HOST` | * | — | Controller URL (`https://192.168.1.1`) |
|
|
280
290
|
| `UNIFI_API_KEY` | * | — | API key (preferred, requires 9.1.105+) |
|
|
281
291
|
| `UNIFI_USERNAME` | * | — | Username (if no API key) |
|
|
282
292
|
| `UNIFI_PASSWORD` | * | — | Password (if no API key) |
|
|
@@ -285,7 +295,18 @@ The server covers all three UniFi API layers:
|
|
|
285
295
|
| `UNIFI_TOOL_MODE` | No | `lazy` | `lazy` (3 meta-tools) or `eager` (all 310 tools) |
|
|
286
296
|
| `UNIFI_PERMISSION_PROFILE` | No | `standard` | `read-only`, `standard`, or `admin` |
|
|
287
297
|
|
|
288
|
-
<sub>*
|
|
298
|
+
<sub>* `UNIFI_HOST` plus either `UNIFI_API_KEY` or both `UNIFI_USERNAME` + `UNIFI_PASSWORD` are required for the server to actually call the controller. If they are absent, the server still starts and registers all tools (so the plugin appears installed), but every tool call returns a structured "credentials not configured" error pointing the user at the env vars or 1Password fallback. This lets the connector live in a clean "needs authentication" state instead of a hard startup error.</sub>
|
|
299
|
+
|
|
300
|
+
### 1Password fallback
|
|
301
|
+
|
|
302
|
+
If env vars are unset, the server falls back to 1Password CLI (`op read`) using these references:
|
|
303
|
+
|
|
304
|
+
- `op://Development/UniFi Controller/host`
|
|
305
|
+
- `op://Development/UniFi Controller/api_key`
|
|
306
|
+
- `op://Development/UniFi Controller/username`
|
|
307
|
+
- `op://Development/UniFi Controller/password`
|
|
308
|
+
|
|
309
|
+
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.
|
|
289
310
|
|
|
290
311
|
### Authentication Methods
|
|
291
312
|
|
|
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.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "UniFi Network MCP server — 310 tools for complete controller management via the Model Context Protocol",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|
|
@@ -36,8 +36,7 @@
|
|
|
36
36
|
"LICENSE"
|
|
37
37
|
],
|
|
38
38
|
"scripts": {
|
|
39
|
-
"postinstall": "node install.js"
|
|
40
|
-
"postpublish": "$HOME/Developer/projects/ames-claude/bump-and-sync"
|
|
39
|
+
"postinstall": "node install.js"
|
|
41
40
|
},
|
|
42
41
|
"os": [
|
|
43
42
|
"darwin",
|