ames-unifi-mcp 1.0.4 → 1.0.6
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,7 @@
|
|
|
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.
|
|
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>
|
|
21
21
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-f5a542?style=flat-square" alt="License"></a>
|
|
22
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>
|
|
23
23
|
</p>
|
|
@@ -44,9 +44,9 @@ Every mutating operation passes through a **confirm gate** that returns a dry-ru
|
|
|
44
44
|
|
|
45
45
|
### Install with MCPB
|
|
46
46
|
|
|
47
|
-
For Claude Desktop and other MCPB-compatible clients, download the local bundle from the [v1.0.
|
|
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
48
|
|
|
49
|
-
[Download `ames-unifi-mcp-1.0.
|
|
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
50
|
|
|
51
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
52
|
|
|
@@ -136,7 +136,7 @@ If a tool isn't in the index, the controller firmware is too old to support it.
|
|
|
136
136
|
<tr>
|
|
137
137
|
<td width="50%" valign="top">
|
|
138
138
|
|
|
139
|
-
**Devices** —
|
|
139
|
+
**Devices** — 63 tools
|
|
140
140
|
```
|
|
141
141
|
device_list device_restart
|
|
142
142
|
device_get device_adopt
|
|
@@ -146,9 +146,12 @@ device_spectrum_scan device_rolling_upgrade_*
|
|
|
146
146
|
device_migrate device_port_action
|
|
147
147
|
device_list_v2 device_stats_latest
|
|
148
148
|
device_unadopt device_pending_list
|
|
149
|
+
system_device_tags system_tag_*
|
|
150
|
+
switching_stack_* switching_lag_*
|
|
151
|
+
switching_mclag_* cloud_device_list
|
|
149
152
|
```
|
|
150
153
|
|
|
151
|
-
**Clients** —
|
|
154
|
+
**Clients** — 16 tools
|
|
152
155
|
```
|
|
153
156
|
client_list_active client_block/unblock
|
|
154
157
|
client_get client_reconnect
|
|
@@ -157,112 +160,107 @@ client_rename client_update
|
|
|
157
160
|
client_list_v2 client_action
|
|
158
161
|
```
|
|
159
162
|
|
|
160
|
-
**Networks** —
|
|
163
|
+
**Networks** — 39 tools
|
|
161
164
|
```
|
|
162
|
-
network_list
|
|
163
|
-
network_get
|
|
164
|
-
network_delete
|
|
165
|
+
network_list network_create
|
|
166
|
+
network_get network_update
|
|
167
|
+
network_delete network_*_v2
|
|
168
|
+
system_network_references
|
|
169
|
+
system_radius_profiles_v2
|
|
170
|
+
dns_policy_* system_portprofile_*
|
|
165
171
|
```
|
|
166
172
|
|
|
167
|
-
**Wireless (WLAN + WiFi)** —
|
|
173
|
+
**Wireless (WLAN + WiFi)** — 14 tools
|
|
168
174
|
```
|
|
169
175
|
wlan_list wlan_create/update/delete
|
|
170
176
|
wlan_enable wlan_disable
|
|
171
177
|
wifi_broadcast_list/get/create/update/delete
|
|
172
178
|
```
|
|
173
179
|
|
|
174
|
-
**Firewall** —
|
|
180
|
+
**Firewall** — 30 tools
|
|
175
181
|
```
|
|
176
182
|
firewall_rule_* (legacy CRUD)
|
|
177
183
|
firewall_group_* (address/port groups)
|
|
178
184
|
firewall_zone_* (ZBF zones, 9.0+)
|
|
179
185
|
firewall_policy_* (ZBF policies + ordering)
|
|
186
|
+
acl_rule_* acl_rule_ordering_*
|
|
180
187
|
```
|
|
181
188
|
|
|
182
|
-
**
|
|
189
|
+
**QoS** — 10 tools
|
|
183
190
|
```
|
|
184
|
-
|
|
185
|
-
acl_rule_ordering_get/set
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
**DNS Policies** — 5 tools
|
|
189
|
-
```
|
|
190
|
-
dns_policy_list/get/create/update/delete
|
|
191
|
+
traffic_matching_list_* (10.0+)
|
|
191
192
|
```
|
|
192
193
|
|
|
193
|
-
**
|
|
194
|
+
**Routing** — 10 tools
|
|
194
195
|
```
|
|
195
196
|
traffic_rule_* (v2 API rules)
|
|
196
197
|
traffic_route_* (v2 API routes)
|
|
197
|
-
|
|
198
|
+
system_static_route_*
|
|
198
199
|
```
|
|
199
200
|
|
|
200
|
-
</td>
|
|
201
|
-
<td width="50%" valign="top">
|
|
202
|
-
|
|
203
201
|
**VPN** — 10 tools
|
|
204
202
|
```
|
|
205
203
|
vpn_server_list/get/create/update/delete
|
|
206
204
|
vpn_tunnel_list/get/create/update/delete
|
|
207
205
|
```
|
|
208
206
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
switching_stack_* (switch stacks)
|
|
212
|
-
switching_lag_* (link aggregation)
|
|
213
|
-
switching_mclag_* (MC-LAG domains)
|
|
214
|
-
```
|
|
207
|
+
</td>
|
|
208
|
+
<td width="50%" valign="top">
|
|
215
209
|
|
|
216
|
-
**Stats
|
|
210
|
+
**Stats** — 20 tools
|
|
217
211
|
```
|
|
218
212
|
stats_site_health stats_sysinfo
|
|
219
213
|
stats_dashboard stats_report
|
|
220
214
|
stats_speedtest_* stats_ips_events
|
|
221
215
|
stats_rogueap stats_spectrumscan
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
**DPI** — 11 tools
|
|
219
|
+
```
|
|
222
220
|
stats_dpi_site stats_dpi_client
|
|
223
221
|
stats_dpi_apps stats_dpi_categories
|
|
222
|
+
misc_dpigroup_*
|
|
224
223
|
```
|
|
225
224
|
|
|
226
|
-
**Events
|
|
225
|
+
**Events** — 8 tools
|
|
227
226
|
```
|
|
228
227
|
event_list alarm_list
|
|
229
228
|
alarm_count alarm_archive
|
|
230
229
|
alarm_archive_all
|
|
231
230
|
```
|
|
232
231
|
|
|
233
|
-
**Hotspot
|
|
232
|
+
**Hotspot** — 27 tools
|
|
234
233
|
```
|
|
235
234
|
hotspot_authorize/unauthorize_guest
|
|
236
235
|
hotspot_create_voucher hotspot_extend
|
|
237
236
|
hotspot_voucher_*_v2 (Integration API)
|
|
238
237
|
hotspot_config hotspot_packages
|
|
238
|
+
misc_hotspotop_* hotspot_2_0_package_*
|
|
239
239
|
```
|
|
240
240
|
|
|
241
|
-
**System
|
|
241
|
+
**System** — 27 tools
|
|
242
242
|
```
|
|
243
243
|
system_reboot/poweroff system_settings
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
244
|
+
system_firmware_* admin_site_*
|
|
245
|
+
admin_invite/revoke cloud_host_list/get
|
|
246
|
+
cloud_site_list cloud_sdwan_*
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
**Settings** — 19 tools
|
|
250
|
+
```
|
|
251
|
+
system_setting_* system_led_toggle
|
|
252
|
+
system_ips_update misc_scheduletask_*
|
|
253
|
+
misc_cnt_resource
|
|
249
254
|
```
|
|
250
255
|
|
|
251
|
-
**
|
|
256
|
+
**Backup** — 5 tools
|
|
252
257
|
```
|
|
253
|
-
|
|
254
|
-
cloud_device_list cloud_isp_metrics
|
|
255
|
-
cloud_sdwan_*
|
|
258
|
+
system_backup_* backup_restore
|
|
256
259
|
```
|
|
257
260
|
|
|
258
|
-
**
|
|
261
|
+
**PoE** — 1 tool
|
|
259
262
|
```
|
|
260
|
-
|
|
261
|
-
admin_invite/revoke/grant/update
|
|
262
|
-
poe_power_cycle syslog_query
|
|
263
|
-
apgroup_* misc_rogueknown_*
|
|
264
|
-
misc_scheduletask_* misc_hotspotop_*
|
|
265
|
-
misc_dpigroup_* misc_cnt_resource
|
|
263
|
+
poe_power_cycle
|
|
266
264
|
```
|
|
267
265
|
|
|
268
266
|
</td>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const { spawn } = require("child_process");
|
|
4
|
+
const path = require("path");
|
|
5
|
+
const os = require("os");
|
|
6
|
+
|
|
7
|
+
const binaryName = "ames-unifi-mcp";
|
|
8
|
+
|
|
9
|
+
const platformMap = {
|
|
10
|
+
"darwin-arm64": `${binaryName}-darwin-arm64`,
|
|
11
|
+
"darwin-x64": `${binaryName}-darwin-amd64`,
|
|
12
|
+
"linux-arm64": `${binaryName}-linux-arm64`,
|
|
13
|
+
"linux-x64": `${binaryName}-linux-amd64`,
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const key = `${os.platform()}-${os.arch()}`;
|
|
17
|
+
const platformBinary = platformMap[key];
|
|
18
|
+
|
|
19
|
+
if (!platformBinary) {
|
|
20
|
+
console.error(
|
|
21
|
+
`Unsupported platform: ${key}. Supported: ${Object.keys(platformMap).join(", ")}`
|
|
22
|
+
);
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const binaryPath = path.join(__dirname, "..", "dist", platformBinary);
|
|
27
|
+
const child = spawn(binaryPath, process.argv.slice(2), {
|
|
28
|
+
stdio: "inherit",
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
child.on("error", (error) => {
|
|
32
|
+
console.error(`Failed to start ${binaryName}: ${error.message}`);
|
|
33
|
+
process.exit(1);
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
child.on("exit", (code, signal) => {
|
|
37
|
+
if (signal) {
|
|
38
|
+
process.kill(process.pid, signal);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
process.exit(code ?? 0);
|
|
43
|
+
});
|
|
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.6",
|
|
4
4
|
"description": "UniFi Network MCP server — 310 tools for complete controller management via the Model Context Protocol",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"license": "MIT",
|
|
21
21
|
"repository": {
|
|
22
22
|
"type": "git",
|
|
23
|
-
"url": "https://github.com/oliverames/ames-unifi-mcp.git"
|
|
23
|
+
"url": "git+https://github.com/oliverames/ames-unifi-mcp.git"
|
|
24
24
|
},
|
|
25
25
|
"homepage": "https://github.com/oliverames/ames-unifi-mcp#readme",
|
|
26
26
|
"bugs": {
|
|
@@ -30,14 +30,14 @@
|
|
|
30
30
|
"ames-unifi-mcp": "bin/ames-unifi-mcp"
|
|
31
31
|
},
|
|
32
32
|
"files": [
|
|
33
|
-
"
|
|
34
|
-
"
|
|
33
|
+
"bin/ames-unifi-mcp",
|
|
34
|
+
"dist/ames-unifi-mcp-darwin-arm64",
|
|
35
|
+
"dist/ames-unifi-mcp-darwin-amd64",
|
|
36
|
+
"dist/ames-unifi-mcp-linux-arm64",
|
|
37
|
+
"dist/ames-unifi-mcp-linux-amd64",
|
|
35
38
|
"README.md",
|
|
36
39
|
"LICENSE"
|
|
37
40
|
],
|
|
38
|
-
"scripts": {
|
|
39
|
-
"postinstall": "node install.js"
|
|
40
|
-
},
|
|
41
41
|
"os": [
|
|
42
42
|
"darwin",
|
|
43
43
|
"linux"
|
package/install.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
// Postinstall script: copies the correct platform binary to bin/ames-unifi-mcp
|
|
4
|
-
|
|
5
|
-
const fs = require("fs");
|
|
6
|
-
const path = require("path");
|
|
7
|
-
const os = require("os");
|
|
8
|
-
|
|
9
|
-
const BINARY_NAME = "ames-unifi-mcp";
|
|
10
|
-
|
|
11
|
-
const PLATFORM_MAP = {
|
|
12
|
-
"darwin-arm64": `${BINARY_NAME}-darwin-arm64`,
|
|
13
|
-
"darwin-x64": `${BINARY_NAME}-darwin-amd64`,
|
|
14
|
-
"linux-arm64": `${BINARY_NAME}-linux-arm64`,
|
|
15
|
-
"linux-x64": `${BINARY_NAME}-linux-amd64`,
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
function install() {
|
|
19
|
-
const platform = os.platform();
|
|
20
|
-
const arch = os.arch();
|
|
21
|
-
const key = `${platform}-${arch}`;
|
|
22
|
-
|
|
23
|
-
const binaryFile = PLATFORM_MAP[key];
|
|
24
|
-
if (!binaryFile) {
|
|
25
|
-
console.error(
|
|
26
|
-
`Unsupported platform: ${platform}-${arch}. ` +
|
|
27
|
-
`Supported: ${Object.keys(PLATFORM_MAP).join(", ")}`
|
|
28
|
-
);
|
|
29
|
-
process.exit(1);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const distDir = path.join(__dirname, "dist");
|
|
33
|
-
const binDir = path.join(__dirname, "bin");
|
|
34
|
-
const src = path.join(distDir, binaryFile);
|
|
35
|
-
const dest = path.join(binDir, BINARY_NAME);
|
|
36
|
-
|
|
37
|
-
if (!fs.existsSync(src)) {
|
|
38
|
-
console.error(`Binary not found: ${src}`);
|
|
39
|
-
console.error("Try rebuilding: make build-all");
|
|
40
|
-
process.exit(1);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
// Ensure bin/ exists
|
|
44
|
-
if (!fs.existsSync(binDir)) {
|
|
45
|
-
fs.mkdirSync(binDir, { recursive: true });
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// Copy binary
|
|
49
|
-
fs.copyFileSync(src, dest);
|
|
50
|
-
|
|
51
|
-
// Make executable
|
|
52
|
-
fs.chmodSync(dest, 0o755);
|
|
53
|
-
|
|
54
|
-
console.log(`Installed ${BINARY_NAME} for ${platform}/${arch}`);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
install();
|