@coffeerunhobby/mcp-ha-connect 2.2.0 → 2.2.1
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 +4 -2
- package/dist/omadaClient/client.d.ts +33 -1
- package/dist/omadaClient/client.js +61 -2
- package/dist/omadaClient/client.js.map +1 -1
- package/dist/omadaClient/index.d.ts +7 -0
- package/dist/omadaClient/index.js +6 -0
- package/dist/omadaClient/index.js.map +1 -1
- package/dist/omadaClient/request.d.ts +5 -0
- package/dist/omadaClient/request.js +11 -2
- package/dist/omadaClient/request.js.map +1 -1
- package/dist/tools/common.js +5 -1
- package/dist/tools/common.js.map +1 -1
- package/dist/tools/omada/blockClient.js +3 -1
- package/dist/tools/omada/blockClient.js.map +1 -1
- package/dist/tools/omada/deleteClient.d.ts +3 -0
- package/dist/tools/omada/deleteClient.js +15 -0
- package/dist/tools/omada/deleteClient.js.map +1 -0
- package/dist/tools/omada/index.js +7 -2
- package/dist/tools/omada/index.js.map +1 -1
- package/dist/tools/omada/listBlockedClients.d.ts +3 -0
- package/dist/tools/omada/listBlockedClients.js +9 -0
- package/dist/tools/omada/listBlockedClients.js.map +1 -0
- package/dist/tools/omada/namespace.js +17 -0
- package/dist/tools/omada/namespace.js.map +1 -1
- package/dist/utils/redact.d.ts +21 -0
- package/dist/utils/redact.js +53 -0
- package/dist/utils/redact.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/docs/CHANGELOG.md +9 -0
- package/openapi.json +1 -1
- package/package.json +1 -1
- package/src/omadaClient/client.ts +82 -4
- package/src/omadaClient/index.ts +9 -1
- package/src/omadaClient/request.ts +13 -2
- package/src/tools/common.ts +5 -1
- package/src/tools/omada/blockClient.ts +3 -1
- package/src/tools/omada/deleteClient.ts +27 -0
- package/src/tools/omada/index.ts +7 -2
- package/src/tools/omada/listBlockedClients.ts +17 -0
- package/src/tools/omada/namespace.ts +19 -0
- package/src/utils/redact.ts +59 -0
- package/src/version.ts +1 -1
- package/tests/omadaClient/clientBlocks.test.ts +170 -0
- package/tests/tools/omada/graph.test.ts +13 -2
- package/tests/utils/redact.test.ts +105 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../src/tools/omada/namespace.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../src/tools/omada/namespace.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Redaction of secrets in tool responses.
|
|
3
|
+
*
|
|
4
|
+
* Home Assistant and Omada return secrets inside ordinary read results: the
|
|
5
|
+
* Wi-Fi password (Omada `pskSetting.securityKey`), RADIUS / CoA / SNMP secrets,
|
|
6
|
+
* PPSK and VPN keys, portal passwords, camera access tokens in image URLs. A tool
|
|
7
|
+
* response goes to an AI client and from there into transcripts, so every tool
|
|
8
|
+
* response is passed through `redactSecrets` (see toToolResult).
|
|
9
|
+
*
|
|
10
|
+
* Only non-empty string values under secret-looking names are replaced, with
|
|
11
|
+
* "<redacted>": an empty value stays empty (so "is a password set?" is still
|
|
12
|
+
* answerable), and booleans or numbers under similar names (`hidePwd`,
|
|
13
|
+
* `encryptionPsk`) are left alone. `token=` / `access_token=` query values inside
|
|
14
|
+
* URLs are masked as well. The input is never modified.
|
|
15
|
+
*
|
|
16
|
+
* Applied at the response boundary only, never inside the API clients: internal
|
|
17
|
+
* read-modify-write paths (SSID schedule, site NTP) must see real values.
|
|
18
|
+
*/
|
|
19
|
+
export declare const REDACTED = "<redacted>";
|
|
20
|
+
export declare function isSecretName(name: string): boolean;
|
|
21
|
+
export declare function redactSecrets<T>(value: T): T;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Redaction of secrets in tool responses.
|
|
3
|
+
*
|
|
4
|
+
* Home Assistant and Omada return secrets inside ordinary read results: the
|
|
5
|
+
* Wi-Fi password (Omada `pskSetting.securityKey`), RADIUS / CoA / SNMP secrets,
|
|
6
|
+
* PPSK and VPN keys, portal passwords, camera access tokens in image URLs. A tool
|
|
7
|
+
* response goes to an AI client and from there into transcripts, so every tool
|
|
8
|
+
* response is passed through `redactSecrets` (see toToolResult).
|
|
9
|
+
*
|
|
10
|
+
* Only non-empty string values under secret-looking names are replaced, with
|
|
11
|
+
* "<redacted>": an empty value stays empty (so "is a password set?" is still
|
|
12
|
+
* answerable), and booleans or numbers under similar names (`hidePwd`,
|
|
13
|
+
* `encryptionPsk`) are left alone. `token=` / `access_token=` query values inside
|
|
14
|
+
* URLs are masked as well. The input is never modified.
|
|
15
|
+
*
|
|
16
|
+
* Applied at the response boundary only, never inside the API clients: internal
|
|
17
|
+
* read-modify-write paths (SSID schedule, site NTP) must see real values.
|
|
18
|
+
*/
|
|
19
|
+
export const REDACTED = '<redacted>';
|
|
20
|
+
/**
|
|
21
|
+
* Secret-looking field names, matched on the whole name or its ending
|
|
22
|
+
* (case-insensitive), from the Omada Open API and Home Assistant responses.
|
|
23
|
+
*/
|
|
24
|
+
const SECRET_NAME = /(^key$|password|passwd|pwd$|secret|token$|passphrase|presharedkey|privatekey|securitykey|communitystring|^psk$|md5key|simplekey|authcode|devicekey)/i;
|
|
25
|
+
/** Credentials inside URLs, e.g. /api/camera_proxy/camera.door?token=abc123 */
|
|
26
|
+
const URL_SECRET = /([?&](?:access_token|token|key|password|secret)=)[^&#\s"]+/gi;
|
|
27
|
+
export function isSecretName(name) {
|
|
28
|
+
return SECRET_NAME.test(name);
|
|
29
|
+
}
|
|
30
|
+
export function redactSecrets(value) {
|
|
31
|
+
return redact(value, new WeakSet());
|
|
32
|
+
}
|
|
33
|
+
function redact(value, seen) {
|
|
34
|
+
if (typeof value === 'string') {
|
|
35
|
+
return value.includes('=') ? value.replace(URL_SECRET, `$1${REDACTED}`) : value;
|
|
36
|
+
}
|
|
37
|
+
if (typeof value !== 'object' || value === null) {
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
if (seen.has(value)) {
|
|
41
|
+
return '[circular]';
|
|
42
|
+
}
|
|
43
|
+
seen.add(value);
|
|
44
|
+
if (Array.isArray(value)) {
|
|
45
|
+
return value.map((item) => redact(item, seen));
|
|
46
|
+
}
|
|
47
|
+
const out = {};
|
|
48
|
+
for (const [key, field] of Object.entries(value)) {
|
|
49
|
+
out[key] = typeof field === 'string' && field !== '' && isSecretName(key) ? REDACTED : redact(field, seen);
|
|
50
|
+
}
|
|
51
|
+
return out;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=redact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redact.js","sourceRoot":"","sources":["../../src/utils/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC;AAErC;;;GAGG;AACH,MAAM,WAAW,GACf,sJAAsJ,CAAC;AAEzJ,+EAA+E;AAC/E,MAAM,UAAU,GAAG,8DAA8D,CAAC;AAElF,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa,CAAI,KAAQ;IACvC,OAAO,MAAM,CAAC,KAAK,EAAE,IAAI,OAAO,EAAE,CAAM,CAAC;AAC3C,CAAC;AAED,SAAS,MAAM,CAAC,KAAc,EAAE,IAAqB;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAClF,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7G,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/docs/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
### 2.2.1
|
|
2
|
+
- **Security — secrets are redacted from every tool response.** Omada read tools returned the household Wi-Fi password in plain text (`pskSetting.securityKey` in the SSID detail, via `omada_getSsidDetail` and `omada_read /wifi/ssids`), and other paths could do the same for RADIUS / CoA / SNMP secrets, PPSK and VPN keys, portal passwords and tokens. Every tool response now passes through one redaction step (in `toToolResult`, so MCP and the REST bridge alike): non-empty text values under secret-looking names become `"<redacted>"` (empty values stay empty; flags and numbers with similar names such as `hidePwd` or `encryptionPsk` are untouched), and `token=` / `access_token=` values inside URLs (Home Assistant camera images) are masked. Internal read-modify-write paths are unaffected; redaction happens only at the response.
|
|
3
|
+
- **Fix — `omada_unblockClient` on clients the controller no longer treats as current.** Omada's unblock endpoint fails with "This client does not exist" once a blocked (and therefore offline) client drops out of the controller's current set. The tool now checks the known-clients list: if the client is there and no longer blocked (e.g. unblocked in the web UI), it reports success; otherwise it returns a clear error saying what to do. A client the controller has no record of is never reported as unblocked, because its access points may still refuse it (an orphaned block). This works whether the controller reports the error with HTTP 200 or an HTTP error status (controller errors now carry their `errorCode`).
|
|
4
|
+
- **New: `omada_listBlockedClients`** (QUERY) lists blocked clients from the known-clients list, offline ones included, so automations can check block state. Graph mode gets `omada_read /clients/known` instead: one page of known clients with their `block` field (the controller cannot filter by block state, so a single-page "blocked" view would miss entries).
|
|
5
|
+
- **New: `omada_deleteClient`** (**CONFIGURE**) deletes the controller's record of a client (name, history, block state), to clear a block the unblock endpoint can no longer reach.
|
|
6
|
+
- `omada_blockClient`'s description now warns that a long block can become impossible to undo through the API and recommends a controller-side time-range rule for schedules such as a curfew.
|
|
7
|
+
- README: the two new Omada tools are listed (32).
|
|
8
|
+
- +30 tests (redaction across SSID, RADIUS, PPSK, VPN, SNMP, portal, webhook and camera shapes, and through `omada_read`; the unblock fallback including the orphaned-record case and a record without block state; the blocked list; deleteClient and its permission; mutation-checked).
|
|
9
|
+
|
|
1
10
|
### 2.2.0
|
|
2
11
|
- **New: owner questions — approve or deny from the phone.** `askOwner` sends a sticky, persistent notification with 1-3 buttons (default Approve / Deny) and returns a `requestId` at once; `getOwnerAnswer` waits up to 50 s per call and returns `answered` (button index and label, `answeredAt`, the HA user who tapped), `pending`, `timeout`, `cancelled` or `unknown`; `cancelOwnerQuestion` withdraws a question and marks the notification "Cancelled". Two calls rather than one long one because Cloudflare cuts requests at ~100 s. Questions stay open up to 7 days (default 10 min); the phone removes the notification at expiry by itself.
|
|
3
12
|
- **No database, restart-proof:** the requestId carries the question, buttons, target, expiry and asking client, signed with a key derived from `MCP_AUTH_SECRET`; each button's action id is signed separately and cannot be derived from the requestId. After a restart the server still recognises open questions and the taps on them. Only a tap during the restart itself is lost (the question then expires as NO).
|
package/openapi.json
CHANGED
package/package.json
CHANGED
|
@@ -13,7 +13,7 @@ import type {
|
|
|
13
13
|
UpdateClientRateLimitRequest,
|
|
14
14
|
} from '../types/index.js';
|
|
15
15
|
|
|
16
|
-
import type
|
|
16
|
+
import { OmadaApiError, type RequestHandler } from './request.js';
|
|
17
17
|
import type { SiteOperations } from './site.js';
|
|
18
18
|
|
|
19
19
|
/**
|
|
@@ -250,10 +250,88 @@ export class ClientOperations {
|
|
|
250
250
|
*/
|
|
251
251
|
public async unblockClient(clientMac: string, siteId?: string): Promise<ClientBlockStatus> {
|
|
252
252
|
const resolvedSiteId = this.site.resolveSiteId(siteId);
|
|
253
|
-
|
|
254
|
-
this.
|
|
253
|
+
try {
|
|
254
|
+
const response = await this.request.post<OmadaApiResponse<unknown>>(
|
|
255
|
+
this.buildPath(`/sites/${encodeURIComponent(resolvedSiteId)}/clients/${encodeURIComponent(clientMac)}/unblock`)
|
|
256
|
+
);
|
|
257
|
+
this.request.ensureSuccess(response);
|
|
258
|
+
return { mac: clientMac, siteId: resolvedSiteId, blocked: false };
|
|
259
|
+
} catch (error) {
|
|
260
|
+
// The controller may report this with HTTP 200 or an HTTP error status.
|
|
261
|
+
if (!(error instanceof OmadaApiError) || error.errorCode !== CLIENT_DOES_NOT_EXIST) {
|
|
262
|
+
throw error;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
// The unblock endpoint only knows clients the controller still treats as
|
|
266
|
+
// current; a blocked client cannot reconnect, so after a while it drops
|
|
267
|
+
// out and the API can no longer unblock it. Check the known-clients list.
|
|
268
|
+
const known = await this.findKnownClient(clientMac, resolvedSiteId);
|
|
269
|
+
// Only an explicit block=false proves the client is unblocked; a record
|
|
270
|
+
// without block state proves nothing.
|
|
271
|
+
if (known?.block === false) {
|
|
272
|
+
return { mac: clientMac, siteId: resolvedSiteId, blocked: false };
|
|
273
|
+
}
|
|
274
|
+
throw new Error(
|
|
275
|
+
known
|
|
276
|
+
? `Omada's API cannot unblock ${clientMac}: the client is offline and the controller no longer treats it as current. ` +
|
|
277
|
+
'Unblock it in the Omada web UI (Insights > Known Clients), or remove its record with omada_deleteClient.'
|
|
278
|
+
: `Omada has no record of ${clientMac}, but its access points may still refuse it (an orphaned block). ` +
|
|
279
|
+
'Try omada_deleteClient, or let the device reconnect by cable so the controller sees it again, then unblock it.'
|
|
280
|
+
);
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Clients the controller remembers (online or not), with their block state.
|
|
285
|
+
* OperationId: getKnownClients (GET /insight/clients)
|
|
286
|
+
*/
|
|
287
|
+
public async listKnownClients(siteId?: string): Promise<KnownClient[]> {
|
|
288
|
+
const resolvedSiteId = this.site.resolveSiteId(siteId);
|
|
289
|
+
return await this.request.fetchPaginated<KnownClient>(
|
|
290
|
+
this.buildPath(`/sites/${encodeURIComponent(resolvedSiteId)}/insight/clients`)
|
|
255
291
|
);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/** Known clients that are currently blocked. */
|
|
295
|
+
public async listBlockedClients(siteId?: string): Promise<KnownClient[]> {
|
|
296
|
+
return (await this.listKnownClients(siteId)).filter((client) => client.block === true);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
/**
|
|
300
|
+
* Delete the controller's record of a client: its name, history and block
|
|
301
|
+
* state. Clears an orphaned block that the unblock endpoint can no longer reach.
|
|
302
|
+
* OperationId: deleteClient (DELETE /clients/{clientMac})
|
|
303
|
+
*/
|
|
304
|
+
public async deleteClient(clientMac: string, siteId?: string): Promise<{ mac: string; siteId: string; deleted: true }> {
|
|
305
|
+
const resolvedSiteId = this.site.resolveSiteId(siteId);
|
|
306
|
+
const response = await this.request.request<OmadaApiResponse<unknown>>({
|
|
307
|
+
method: 'DELETE',
|
|
308
|
+
url: this.buildPath(`/sites/${encodeURIComponent(resolvedSiteId)}/clients/${encodeURIComponent(clientMac)}`),
|
|
309
|
+
});
|
|
256
310
|
this.request.ensureSuccess(response);
|
|
257
|
-
return { mac: clientMac, siteId: resolvedSiteId,
|
|
311
|
+
return { mac: clientMac, siteId: resolvedSiteId, deleted: true };
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
private async findKnownClient(clientMac: string, siteId: string): Promise<KnownClient | undefined> {
|
|
315
|
+
const wanted = normalizeMac(clientMac);
|
|
316
|
+
return (await this.listKnownClients(siteId)).find((client) => normalizeMac(client.mac) === wanted);
|
|
258
317
|
}
|
|
259
318
|
}
|
|
319
|
+
|
|
320
|
+
/** Omada error code: "This client does not exist." */
|
|
321
|
+
export const CLIENT_DOES_NOT_EXIST = -41004;
|
|
322
|
+
|
|
323
|
+
/** A known client (KnownClientVO), as GET /insight/clients returns it. */
|
|
324
|
+
export interface KnownClient {
|
|
325
|
+
mac: string;
|
|
326
|
+
name?: string;
|
|
327
|
+
wireless?: boolean;
|
|
328
|
+
guest?: boolean;
|
|
329
|
+
lastSeen?: number;
|
|
330
|
+
block?: boolean;
|
|
331
|
+
[field: string]: unknown;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/** "4c:1d:96:8d:37:c7", "4C-1D-96-8D-37-C7" and "4c1d968d37c7" compare equal. */
|
|
335
|
+
export function normalizeMac(mac: string): string {
|
|
336
|
+
return mac.replace(/[^0-9a-f]/gi, '').toUpperCase();
|
|
337
|
+
}
|
package/src/omadaClient/index.ts
CHANGED
|
@@ -20,7 +20,7 @@ import type {
|
|
|
20
20
|
} from '../types/index.js';
|
|
21
21
|
|
|
22
22
|
import { AuthManager } from './auth.js';
|
|
23
|
-
import { ClientOperations } from './client.js';
|
|
23
|
+
import { ClientOperations, type KnownClient } from './client.js';
|
|
24
24
|
import { DeviceOperations } from './device.js';
|
|
25
25
|
import { NetworkOperations, type SsidEnableResult } from './network.js';
|
|
26
26
|
import { RequestHandler, type RequestOptions } from './request.js';
|
|
@@ -173,6 +173,14 @@ export class OmadaClient {
|
|
|
173
173
|
return await this.clientOps.unblockClient(clientMac, siteId);
|
|
174
174
|
}
|
|
175
175
|
|
|
176
|
+
public async listBlockedClients(siteId?: string): Promise<KnownClient[]> {
|
|
177
|
+
return await this.clientOps.listBlockedClients(siteId);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
public async deleteClient(clientMac: string, siteId?: string): Promise<{ mac: string; siteId: string; deleted: true }> {
|
|
181
|
+
return await this.clientOps.deleteClient(clientMac, siteId);
|
|
182
|
+
}
|
|
183
|
+
|
|
176
184
|
// Security operations
|
|
177
185
|
public async getThreatList(options: GetThreatListOptions): Promise<PaginatedResult<ThreatInfo>> {
|
|
178
186
|
return await this.securityOps.getThreatList(options);
|
|
@@ -7,6 +7,17 @@ import type { AuthManager } from './auth.js';
|
|
|
7
7
|
|
|
8
8
|
const DEFAULT_PAGE_SIZE = 200;
|
|
9
9
|
|
|
10
|
+
/** An error the Omada controller reported, with its structured errorCode when it gave one. */
|
|
11
|
+
export class OmadaApiError extends Error {
|
|
12
|
+
constructor(
|
|
13
|
+
message: string,
|
|
14
|
+
readonly errorCode?: number
|
|
15
|
+
) {
|
|
16
|
+
super(message);
|
|
17
|
+
this.name = 'OmadaApiError';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
10
21
|
export interface RequestOptions {
|
|
11
22
|
method?: string;
|
|
12
23
|
url: string;
|
|
@@ -178,7 +189,7 @@ export class RequestHandler {
|
|
|
178
189
|
if (errorCode !== undefined && errorCode !== 0) {
|
|
179
190
|
parts.push(`(errorCode ${errorCode})`);
|
|
180
191
|
}
|
|
181
|
-
throw new
|
|
192
|
+
throw new OmadaApiError(`Omada API request failed: ${parts.join(' ')}`, errorCode);
|
|
182
193
|
}
|
|
183
194
|
|
|
184
195
|
return responseData;
|
|
@@ -246,7 +257,7 @@ export class RequestHandler {
|
|
|
246
257
|
errorCode: response.errorCode,
|
|
247
258
|
message: response.msg,
|
|
248
259
|
});
|
|
249
|
-
throw new
|
|
260
|
+
throw new OmadaApiError(response.msg ?? 'Omada API request failed', response.errorCode);
|
|
250
261
|
}
|
|
251
262
|
|
|
252
263
|
return (response.result ?? ({} as T)) as T;
|
package/src/tools/common.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import type { CallToolResult, ServerContext } from '@modelcontextprotocol/server';
|
|
7
7
|
import { z } from 'zod';
|
|
8
8
|
import { logger } from '../utils/logger.js';
|
|
9
|
+
import { redactSecrets } from '../utils/redact.js';
|
|
9
10
|
import { Permission, hasPermission, getPermissionNames } from '../permissions/index.js';
|
|
10
11
|
|
|
11
12
|
// Re-export Permission for tool files
|
|
@@ -54,7 +55,10 @@ export function getCallerPermissions(extra: ToolExtra): number {
|
|
|
54
55
|
* Convert any value to a CallToolResult
|
|
55
56
|
*/
|
|
56
57
|
export function toToolResult(value: unknown, isError = false): CallToolResult {
|
|
57
|
-
|
|
58
|
+
// Every tool response passes here: secrets returned by Home Assistant or Omada
|
|
59
|
+
// (Wi-Fi password, RADIUS/VPN keys, access tokens) never reach the client.
|
|
60
|
+
const safe = redactSecrets(value);
|
|
61
|
+
const text = typeof safe === 'string' ? safe : JSON.stringify(safe, null, 2);
|
|
58
62
|
return {
|
|
59
63
|
content: text ? [{ type: 'text' as const, text }] : [],
|
|
60
64
|
isError,
|
|
@@ -15,7 +15,9 @@ export function registerBlockClientTool(server: McpServer, client: OmadaClient):
|
|
|
15
15
|
{
|
|
16
16
|
description:
|
|
17
17
|
'Block a client from the network by MAC address. The client is denied all network access until unblocked. ' +
|
|
18
|
-
'Use omada_listClients first to find the exact MAC. This affects real network connectivity - confirm with the user before applying.'
|
|
18
|
+
'Use omada_listClients first to find the exact MAC. This affects real network connectivity - confirm with the user before applying. ' +
|
|
19
|
+
"Caution: a blocked device cannot reconnect, and once the controller stops treating it as current, Omada's API can no longer unblock it. " +
|
|
20
|
+
'For recurring schedules (e.g. a curfew) prefer an Omada time-range access rule on the controller over daily block/unblock calls.',
|
|
19
21
|
inputSchema: inputSchema,
|
|
20
22
|
},
|
|
21
23
|
wrapToolHandler('omada_blockClient', async ({ clientMac, siteId }) =>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { McpServer } from '@modelcontextprotocol/server';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
|
|
4
|
+
import type { OmadaClient } from '../../omadaClient/index.js';
|
|
5
|
+
import { toToolResult, wrapToolHandler, Permission } from '../common.js';
|
|
6
|
+
|
|
7
|
+
export function registerDeleteClientTool(server: McpServer, client: OmadaClient): void {
|
|
8
|
+
const inputSchema = z.object({
|
|
9
|
+
clientMac: z.string().min(1, 'clientMac (MAC address) is required'),
|
|
10
|
+
siteId: z.string().min(1).optional(),
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
server.registerTool(
|
|
14
|
+
'omada_deleteClient',
|
|
15
|
+
{
|
|
16
|
+
description:
|
|
17
|
+
"Delete the controller's record of a client by MAC: its name, history and block state. " +
|
|
18
|
+
'Use it to clear a block that omada_unblockClient can no longer reach (the device stays refused by the access points although Omada lists nothing). ' +
|
|
19
|
+
'The device is treated as new when it reconnects. Irreversible for that history - confirm with the user before applying.',
|
|
20
|
+
inputSchema,
|
|
21
|
+
},
|
|
22
|
+
wrapToolHandler('omada_deleteClient', async ({ clientMac, siteId }: z.infer<typeof inputSchema>) =>
|
|
23
|
+
toToolResult(await client.deleteClient(clientMac, siteId)),
|
|
24
|
+
Permission.CONFIGURE
|
|
25
|
+
)
|
|
26
|
+
);
|
|
27
|
+
}
|
package/src/tools/omada/index.ts
CHANGED
|
@@ -7,6 +7,8 @@ import type { OmadaClient } from '../../omadaClient/index.js';
|
|
|
7
7
|
import { logger } from '../../utils/logger.js';
|
|
8
8
|
|
|
9
9
|
import { registerBlockClientTool } from './blockClient.js';
|
|
10
|
+
import { registerDeleteClientTool } from './deleteClient.js';
|
|
11
|
+
import { registerListBlockedClientsTool } from './listBlockedClients.js';
|
|
10
12
|
import { registerCyclePoePortTool } from './cyclePoePort.js';
|
|
11
13
|
import { registerOmadaGraphTools } from './graph.js';
|
|
12
14
|
import { registerSetSiteNtpServersTool } from './setSiteNtpServers.js';
|
|
@@ -91,7 +93,9 @@ export function registerOmadaTools(
|
|
|
91
93
|
// Client block tools
|
|
92
94
|
registerBlockClientTool(server, client);
|
|
93
95
|
registerUnblockClientTool(server, client);
|
|
94
|
-
|
|
96
|
+
registerListBlockedClientsTool(server, client);
|
|
97
|
+
registerDeleteClientTool(server, client);
|
|
98
|
+
toolCount += 4;
|
|
95
99
|
|
|
96
100
|
// Device action tools
|
|
97
101
|
registerCyclePoePortTool(server, client);
|
|
@@ -138,10 +142,11 @@ function registerOmadaToolsGraph(server: McpServer, client: OmadaClient): number
|
|
|
138
142
|
registerDisableClientRateLimitTool(server, client);
|
|
139
143
|
registerBlockClientTool(server, client);
|
|
140
144
|
registerUnblockClientTool(server, client);
|
|
145
|
+
registerDeleteClientTool(server, client);
|
|
141
146
|
registerCyclePoePortTool(server, client);
|
|
142
147
|
registerSetSsidEnabledTool(server, client);
|
|
143
148
|
registerSetSiteNtpServersTool(server, client);
|
|
144
|
-
toolCount +=
|
|
149
|
+
toolCount += 9;
|
|
145
150
|
|
|
146
151
|
logger.info('Omada tools registered', { mode: 'graph', toolCount });
|
|
147
152
|
return toolCount;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { McpServer } from '@modelcontextprotocol/server';
|
|
2
|
+
|
|
3
|
+
import type { OmadaClient } from '../../omadaClient/index.js';
|
|
4
|
+
import { siteInputSchema, toToolResult, wrapToolHandler, Permission } from '../common.js';
|
|
5
|
+
|
|
6
|
+
export function registerListBlockedClientsTool(server: McpServer, client: OmadaClient): void {
|
|
7
|
+
server.registerTool(
|
|
8
|
+
'omada_listBlockedClients',
|
|
9
|
+
{
|
|
10
|
+
description:
|
|
11
|
+
'List clients that are currently blocked, including offline ones (from the known-clients list). ' +
|
|
12
|
+
'Use it to check block state before or after omada_blockClient / omada_unblockClient.',
|
|
13
|
+
inputSchema: siteInputSchema,
|
|
14
|
+
},
|
|
15
|
+
wrapToolHandler('omada_listBlockedClients', async ({ siteId }) => toToolResult(await client.listBlockedClients(siteId)), Permission.QUERY)
|
|
16
|
+
);
|
|
17
|
+
}
|
|
@@ -291,6 +291,25 @@ export const OMADA_RESOURCES: ResourceNode[] = [
|
|
|
291
291
|
description: 'Most active clients by traffic.',
|
|
292
292
|
fetch: (c, a) => c.listMostActiveClients(a.siteId),
|
|
293
293
|
},
|
|
294
|
+
{
|
|
295
|
+
path: '/clients/known',
|
|
296
|
+
kind: 'collection',
|
|
297
|
+
permission: Q,
|
|
298
|
+
paginated: true,
|
|
299
|
+
defaultPageSize: 50,
|
|
300
|
+
estimatedSize: 'medium',
|
|
301
|
+
description:
|
|
302
|
+
'Clients the controller remembers, online and offline, with their block state (paginated; use page/pageSize). ' +
|
|
303
|
+
'Blocked clients have block=true; the controller cannot filter by it, so check every page.',
|
|
304
|
+
fetch: (c, a) =>
|
|
305
|
+
c.readResource({
|
|
306
|
+
pathTemplate: '/sites/{siteId}/insight/clients',
|
|
307
|
+
siteId: a.siteId,
|
|
308
|
+
paginated: true,
|
|
309
|
+
page: a.page,
|
|
310
|
+
pageSize: a.pageSize,
|
|
311
|
+
}),
|
|
312
|
+
},
|
|
294
313
|
{
|
|
295
314
|
path: '/clients/activity',
|
|
296
315
|
kind: 'collection',
|