@davidfuchs/mcp-uptime-kuma 0.6.4 → 0.9.0
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 +113 -439
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +745 -11
- package/dist/server.js.map +1 -1
- package/dist/types/docker-host.d.ts +26 -0
- package/dist/types/docker-host.d.ts.map +1 -0
- package/dist/types/docker-host.js +13 -0
- package/dist/types/docker-host.js.map +1 -0
- package/dist/types/heartbeat.d.ts +31 -31
- package/dist/types/heartbeat.d.ts.map +1 -1
- package/dist/types/heartbeat.js +1 -1
- package/dist/types/heartbeat.js.map +1 -1
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/maintenance.d.ts +70 -0
- package/dist/types/maintenance.d.ts.map +1 -0
- package/dist/types/maintenance.js +22 -0
- package/dist/types/maintenance.js.map +1 -0
- package/dist/types/notification.d.ts +29 -0
- package/dist/types/notification.d.ts.map +1 -0
- package/dist/types/notification.js +14 -0
- package/dist/types/notification.js.map +1 -0
- package/dist/types/status-page.d.ts +46 -0
- package/dist/types/status-page.d.ts.map +1 -0
- package/dist/types/status-page.js +19 -0
- package/dist/types/status-page.js.map +1 -0
- package/dist/uptime-kuma-client.d.ts +210 -1
- package/dist/uptime-kuma-client.d.ts.map +1 -1
- package/dist/uptime-kuma-client.js +637 -4
- package/dist/uptime-kuma-client.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +6 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Socket } from 'socket.io-client';
|
|
2
2
|
import type { LoggingLevel } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
-
import type { MonitorBaseWithExtendedData, MonitorWithExtendedData, ApiResponse, LoginResponse, MonitorList, MonitorSummary, Heartbeat, GetSettingsResponse } from './types/index.js';
|
|
3
|
+
import type { MonitorBaseWithExtendedData, MonitorWithExtendedData, ApiResponse, LoginResponse, MonitorList, MonitorSummary, Heartbeat, GetSettingsResponse, Notification, Maintenance, StatusPage, DockerHost } from './types/index.js';
|
|
4
4
|
/**
|
|
5
5
|
* Uptime Kuma Socket.io API Client
|
|
6
6
|
*/
|
|
@@ -11,8 +11,14 @@ export declare class UptimeKumaClient {
|
|
|
11
11
|
private heartbeatListCache;
|
|
12
12
|
private uptimeCache;
|
|
13
13
|
private avgPingCache;
|
|
14
|
+
private notificationListCache;
|
|
15
|
+
private tagListCache;
|
|
16
|
+
private maintenanceListCache;
|
|
17
|
+
private statusPageListCache;
|
|
18
|
+
private dockerHostListCache;
|
|
14
19
|
private server?;
|
|
15
20
|
private shouldLog;
|
|
21
|
+
private loginCredentials;
|
|
16
22
|
constructor(url: string, server?: {
|
|
17
23
|
sendLoggingMessage: (params: {
|
|
18
24
|
level: LoggingLevel;
|
|
@@ -27,6 +33,14 @@ export declare class UptimeKumaClient {
|
|
|
27
33
|
* Connect to the Uptime Kuma server
|
|
28
34
|
*/
|
|
29
35
|
connect(): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Re-authenticate after a reconnection to refresh all cached data.
|
|
38
|
+
* When the server restarts or the connection drops, Socket.IO reconnects
|
|
39
|
+
* the transport but the server no longer considers the client authenticated.
|
|
40
|
+
* Without re-emitting login, the server won't send monitorList or heartbeat
|
|
41
|
+
* events, leaving the cache permanently stale.
|
|
42
|
+
*/
|
|
43
|
+
private reauthenticate;
|
|
30
44
|
/**
|
|
31
45
|
* Disconnect from the Uptime Kuma server
|
|
32
46
|
*/
|
|
@@ -131,6 +145,201 @@ export declare class UptimeKumaClient {
|
|
|
131
145
|
tags?: string;
|
|
132
146
|
status?: string;
|
|
133
147
|
}): MonitorSummary[];
|
|
148
|
+
private setupNotificationListListeners;
|
|
149
|
+
private setupTagListListeners;
|
|
150
|
+
private setupMaintenanceListListeners;
|
|
151
|
+
private setupStatusPageListListeners;
|
|
152
|
+
private setupDockerHostListListeners;
|
|
153
|
+
/**
|
|
154
|
+
* Create a new monitor. If `tags` are supplied, they are applied after
|
|
155
|
+
* creation using the separate `addMonitorTag` socket event — the `add`
|
|
156
|
+
* socket handler does not process tags.
|
|
157
|
+
*
|
|
158
|
+
* @param monitorData - Monitor configuration (type-specific fields should be included)
|
|
159
|
+
* @returns Promise resolving to the API response with the new monitorID
|
|
160
|
+
*/
|
|
161
|
+
createMonitor(monitorData: Record<string, unknown>): Promise<ApiResponse & {
|
|
162
|
+
monitorID?: number;
|
|
163
|
+
}>;
|
|
164
|
+
/**
|
|
165
|
+
* Update an existing monitor. If `tags` are supplied, they are reconciled
|
|
166
|
+
* against the monitor's current tag set using `addMonitorTag` /
|
|
167
|
+
* `deleteMonitorTag` — the `editMonitor` socket handler does not process
|
|
168
|
+
* tags. Tags whose name is not yet in the catalog are auto-created via
|
|
169
|
+
* `addTag` before binding.
|
|
170
|
+
*
|
|
171
|
+
* @param monitorData - Monitor configuration including the id field
|
|
172
|
+
* @returns Promise resolving to the API response
|
|
173
|
+
*/
|
|
174
|
+
updateMonitor(monitorData: Record<string, unknown>): Promise<ApiResponse & {
|
|
175
|
+
monitorID?: number;
|
|
176
|
+
}>;
|
|
177
|
+
/**
|
|
178
|
+
* Fetch the tag catalog synchronously from the server. Uptime Kuma does
|
|
179
|
+
* not push `tagList` events — it only responds to the `getTags` request —
|
|
180
|
+
* so relying on the push-populated cache returns stale (often empty) data.
|
|
181
|
+
* This method also refreshes `tagListCache` so subsequent cache reads work.
|
|
182
|
+
*/
|
|
183
|
+
private fetchTagList;
|
|
184
|
+
/**
|
|
185
|
+
* Bind a tag to a monitor (socket: `addMonitorTag`).
|
|
186
|
+
*/
|
|
187
|
+
private addMonitorTag;
|
|
188
|
+
/**
|
|
189
|
+
* Unbind a tag from a monitor (socket: `deleteMonitorTag`).
|
|
190
|
+
*/
|
|
191
|
+
private deleteMonitorTag;
|
|
192
|
+
/**
|
|
193
|
+
* Reconcile a monitor's tags against the desired list. Auto-creates any
|
|
194
|
+
* tag name that isn't yet in the catalog. Tag identity is `(name, value)`.
|
|
195
|
+
*/
|
|
196
|
+
private reconcileMonitorTags;
|
|
197
|
+
/**
|
|
198
|
+
* Delete a monitor
|
|
199
|
+
*
|
|
200
|
+
* @param monitorID - The ID of the monitor to delete
|
|
201
|
+
* @returns Promise resolving to the API response
|
|
202
|
+
*/
|
|
203
|
+
deleteMonitor(monitorID: number): Promise<ApiResponse>;
|
|
204
|
+
/**
|
|
205
|
+
* Get the cached notification list
|
|
206
|
+
*/
|
|
207
|
+
getNotificationList(): Notification[];
|
|
208
|
+
/**
|
|
209
|
+
* Add or update a notification channel
|
|
210
|
+
*
|
|
211
|
+
* @param notification - Notification configuration
|
|
212
|
+
* @param notificationID - If provided, updates existing; otherwise creates new
|
|
213
|
+
* @returns Promise resolving to the API response with the notification id
|
|
214
|
+
*/
|
|
215
|
+
addNotification(notification: Record<string, unknown>, notificationID?: number): Promise<ApiResponse & {
|
|
216
|
+
id?: number;
|
|
217
|
+
}>;
|
|
218
|
+
/**
|
|
219
|
+
* Delete a notification channel
|
|
220
|
+
*
|
|
221
|
+
* @param notificationID - The ID of the notification to delete
|
|
222
|
+
* @returns Promise resolving to the API response
|
|
223
|
+
*/
|
|
224
|
+
deleteNotification(notificationID: number): Promise<ApiResponse>;
|
|
225
|
+
/**
|
|
226
|
+
* Get the cached docker host list
|
|
227
|
+
*/
|
|
228
|
+
getDockerHostList(): DockerHost[];
|
|
229
|
+
/**
|
|
230
|
+
* Add or update a docker host
|
|
231
|
+
*
|
|
232
|
+
* @param dockerHost - Docker host configuration (name, dockerType, dockerDaemon)
|
|
233
|
+
* @param dockerHostID - If provided, updates existing; otherwise creates new
|
|
234
|
+
* @returns Promise resolving to the API response with the docker host id
|
|
235
|
+
*/
|
|
236
|
+
addDockerHost(dockerHost: Record<string, unknown>, dockerHostID?: number): Promise<ApiResponse & {
|
|
237
|
+
id?: number;
|
|
238
|
+
}>;
|
|
239
|
+
/**
|
|
240
|
+
* Delete a docker host. Any monitors referencing it will have their docker_host
|
|
241
|
+
* field cleared by Uptime Kuma.
|
|
242
|
+
*
|
|
243
|
+
* @param dockerHostID - The ID of the docker host to delete
|
|
244
|
+
* @returns Promise resolving to the API response
|
|
245
|
+
*/
|
|
246
|
+
deleteDockerHost(dockerHostID: number): Promise<ApiResponse>;
|
|
247
|
+
/**
|
|
248
|
+
* Test connectivity to a docker host without persisting it. Returns a friendly
|
|
249
|
+
* message containing the number of containers when reachable.
|
|
250
|
+
*
|
|
251
|
+
* @param dockerHost - Docker host configuration to test (name, dockerType, dockerDaemon)
|
|
252
|
+
* @returns Promise resolving to the API response
|
|
253
|
+
*/
|
|
254
|
+
testDockerHost(dockerHost: Record<string, unknown>): Promise<ApiResponse>;
|
|
255
|
+
/**
|
|
256
|
+
* Get the cached tag list
|
|
257
|
+
*/
|
|
258
|
+
getTagList(): Array<{
|
|
259
|
+
id: number;
|
|
260
|
+
name: string;
|
|
261
|
+
color: string;
|
|
262
|
+
}>;
|
|
263
|
+
/**
|
|
264
|
+
* Create a new tag
|
|
265
|
+
*
|
|
266
|
+
* @param name - Tag name
|
|
267
|
+
* @param color - Tag color (hex string, e.g. '#ff0000')
|
|
268
|
+
* @returns Promise resolving to the created tag object
|
|
269
|
+
*/
|
|
270
|
+
addTag(name: string, color: string): Promise<ApiResponse & {
|
|
271
|
+
tag?: {
|
|
272
|
+
id: number;
|
|
273
|
+
name: string;
|
|
274
|
+
color: string;
|
|
275
|
+
};
|
|
276
|
+
}>;
|
|
277
|
+
/**
|
|
278
|
+
* Delete a tag
|
|
279
|
+
*
|
|
280
|
+
* @param tagID - The ID of the tag to delete
|
|
281
|
+
* @returns Promise resolving to the API response
|
|
282
|
+
*/
|
|
283
|
+
deleteTag(tagID: number): Promise<ApiResponse>;
|
|
284
|
+
/**
|
|
285
|
+
* Get the cached maintenance window list
|
|
286
|
+
*/
|
|
287
|
+
getMaintenanceList(): Maintenance[];
|
|
288
|
+
/**
|
|
289
|
+
* Create a new maintenance window
|
|
290
|
+
*
|
|
291
|
+
* @param maintenanceData - Maintenance window configuration
|
|
292
|
+
* @returns Promise resolving to the API response with the maintenance ID
|
|
293
|
+
*/
|
|
294
|
+
createMaintenance(maintenanceData: Record<string, unknown>): Promise<ApiResponse & {
|
|
295
|
+
maintenanceID?: number;
|
|
296
|
+
}>;
|
|
297
|
+
/**
|
|
298
|
+
* Get the cached status page list
|
|
299
|
+
*/
|
|
300
|
+
getStatusPageList(): StatusPage[];
|
|
301
|
+
/**
|
|
302
|
+
* Get full details of a single status page, including publicGroupList with monitors
|
|
303
|
+
* and any active incidents. Uses the public HTTP API (`/api/status-page/{slug}`),
|
|
304
|
+
* which returns the same data the status page UI renders — richer than the
|
|
305
|
+
* socket `getStatusPage` event, which only returns config.
|
|
306
|
+
*
|
|
307
|
+
* @param slug - The status page slug
|
|
308
|
+
* @returns Promise resolving to the status page config, groups, and incidents
|
|
309
|
+
*/
|
|
310
|
+
getStatusPage(slug: string): Promise<ApiResponse & {
|
|
311
|
+
config?: StatusPage;
|
|
312
|
+
publicGroupList?: unknown[];
|
|
313
|
+
incidents?: unknown[];
|
|
314
|
+
}>;
|
|
315
|
+
/**
|
|
316
|
+
* Create a new (empty) status page with the given title and slug
|
|
317
|
+
*
|
|
318
|
+
* Note: This creates a blank status page. Use updateStatusPage afterwards to
|
|
319
|
+
* set description, theme, groups, monitors, etc.
|
|
320
|
+
*
|
|
321
|
+
* @param title - Display title of the status page
|
|
322
|
+
* @param slug - URL slug (lowercase letters, digits, and dashes only)
|
|
323
|
+
* @returns Promise resolving to the API response
|
|
324
|
+
*/
|
|
325
|
+
createStatusPage(title: string, slug: string): Promise<ApiResponse>;
|
|
326
|
+
/**
|
|
327
|
+
* Update an existing status page's config and group/monitor list
|
|
328
|
+
*
|
|
329
|
+
* @param slug - The status page slug (immutable identifier)
|
|
330
|
+
* @param config - Status page configuration (title, description, theme, published, etc.)
|
|
331
|
+
* @param publicGroupList - Ordered groups, each with a name, weight, and monitorList `[{id}]`
|
|
332
|
+
* @param imgDataUrl - Optional icon as data URL (pass empty string to keep existing)
|
|
333
|
+
* @returns Promise resolving to the API response
|
|
334
|
+
*/
|
|
335
|
+
updateStatusPage(slug: string, config: Record<string, unknown>, publicGroupList?: Array<Record<string, unknown>>, imgDataUrl?: string): Promise<ApiResponse>;
|
|
336
|
+
/**
|
|
337
|
+
* Delete a status page
|
|
338
|
+
*
|
|
339
|
+
* @param slug - The status page slug
|
|
340
|
+
* @returns Promise resolving to the API response
|
|
341
|
+
*/
|
|
342
|
+
deleteStatusPage(slug: string): Promise<ApiResponse>;
|
|
134
343
|
/**
|
|
135
344
|
* Get the socket instance (for advanced usage)
|
|
136
345
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uptime-kuma-client.d.ts","sourceRoot":"","sources":["../src/uptime-kuma-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAEV,2BAA2B,EAC3B,uBAAuB,EAGvB,WAAW,EACX,aAAa,EAEb,WAAW,EACX,cAAc,EACd,SAAS,EAET,mBAAmB,
|
|
1
|
+
{"version":3,"file":"uptime-kuma-client.d.ts","sourceRoot":"","sources":["../src/uptime-kuma-client.ts"],"names":[],"mappings":"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"}
|