@davidfuchs/mcp-uptime-kuma 0.2.2 → 0.3.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 CHANGED
@@ -4,14 +4,26 @@ A Model Context Protocol (MCP) server for [Uptime Kuma](https://github.com/louis
4
4
 
5
5
  ## Features
6
6
 
7
- - **Multiple Transports**: Supports both stdio (for local integration) and streamable HTTP (for remote access)
8
- - **Built with TypeScript**: Full type safety and modern tooling
7
+ - **Uptime Kuma Integration**: Real-time access to monitors and heartbeats via WebSocket connection. This MCP server is immediately notified of status changes in Uptime Kuma.
8
+ - **Context-Friendly**: Carefully controls the amount of data returned to avoid overwhelming the LLM context window. Tools default to returning only essential fields and recent heartbeats, with options to request more when needed.
9
+ - **Multiple Transports**: Supports both stdio (for local integration) and streamable HTTP (for remote access).
9
10
  - **MCP SDK**: Uses the official `@modelcontextprotocol/sdk` package
10
- - **Uptime Kuma Integration**: Real-time access to monitors and heartbeats via WebSocket connection
11
11
  - **Comprehensive Tools**: Retrieve monitor configurations and status data (heartbeats)
12
12
 
13
13
  ## Available Tools
14
14
 
15
+ ### getMonitorSummary
16
+ Retrieves a summarized list of all monitors with essential information and their current status.
17
+
18
+ - **Input**:
19
+ - `keywords` (string, optional): Space-separated keywords to filter monitors by pathName (case-insensitive). All keywords must match for a monitor to be included.
20
+ - **Output**: Array of monitor summaries with:
21
+ - Monitor ID, name, pathName
22
+ - Active and maintenance state
23
+ - Most recent heartbeat status (0=DOWN, 1=UP, 2=PENDING, 3=MAINTENANCE)
24
+ - Status message from the most recent heartbeat
25
+ - Total count of matching monitors
26
+
15
27
  ### getMonitor
16
28
  Retrieves detailed information about a specific monitor by its ID.
17
29
 
@@ -32,22 +44,30 @@ Retrieves heartbeats (status checks) for a specific monitor.
32
44
 
33
45
  - **Input**:
34
46
  - `monitorID` (number): The ID of the monitor to get heartbeats for
35
- - `includeAll` (boolean, optional): If true, returns all heartbeats (up to 100). If false, returns only the most recent heartbeat (default: false)
36
- - **Output**: Array of heartbeat objects containing status, response time, timestamps, etc.
47
+ - `maxHeartbeats` (number, optional): Maximum number of most recent heartbeats to return (1-100). Default: 1
48
+ - **Output**: Object containing:
49
+ - `monitorID`: The monitor ID
50
+ - `heartbeats`: Array of heartbeat objects with status, response time, timestamps, etc.
51
+ - `count`: Number of heartbeats returned
37
52
 
38
- ### listAllHeartbeats
39
- Retrieves the complete heartbeat list for all monitors.
53
+ ### listHeartbeats
54
+ Retrieves the heartbeats for all monitors.
40
55
 
41
56
  - **Input**:
42
- - `includeAll` (boolean, optional): If true, returns all heartbeats (up to 100 per monitor). If false, returns only the most recent heartbeat per monitor (default: false)
43
- - **Output**: Map of monitor IDs to their heartbeat arrays, with monitor and heartbeat counts
57
+ - `maxHeartbeats` (number, optional): Maximum number of most recent heartbeats per monitor (1-100). Default: 1
58
+ - **Output**: Object containing:
59
+ - `heartbeats`: Map of monitor IDs to their heartbeat arrays
60
+ - `monitorCount`: Number of monitors
61
+ - `totalHeartbeatCount`: Total number of heartbeats across all monitors
44
62
 
45
63
  ## Usage Notes
46
64
 
47
65
  - **Monitors** contain configuration information (URLs, check intervals, notification settings, etc.)
48
66
  - **Heartbeats** contain actual status data (up/down status, response times, timestamps, etc.)
49
67
  - To check if something is **up or down**, use the heartbeat tools, not the monitor tools
50
- - By default, tools return only essential fields. Set `includeAdditionalFields=true` to get all available data
68
+ - Use **getMonitorSummary** for a quick overview of all monitors and their current status
69
+ - By default, monitor tools return only essential fields. Set `includeAdditionalFields=true` to get all available data
70
+ - By default, heartbeat tools return only the most recent heartbeat. Use `maxHeartbeats` to retrieve more historical data
51
71
 
52
72
  ## Prerequisites
53
73
 
@@ -79,11 +99,38 @@ For Claude Code, VS Code, or other MCP clients, you can configure the server as
79
99
  }
80
100
  ```
81
101
 
102
+ If you're using LibreChat (librechat.yaml), you can configure it like this:
103
+
104
+ ```yaml
105
+ mcpServers:
106
+ uptime-kuma:
107
+ command: npx
108
+ args: ["-y", "@davidfuchs/mcp-uptime-kuma"]
109
+ customUserVars:
110
+ UPTIME_KUMA_URL:
111
+ title: "Uptime Kuma URL"
112
+ description: "The URL to log into Uptime Kuma."
113
+ UPTIME_KUMA_USERNAME:
114
+ title: "Uptime Kuma Username"
115
+ description: "The username to log into Uptime Kuma."
116
+ UPTIME_KUMA_PASSWORD:
117
+ title: "Uptime Kuma Password"
118
+ description: "The password to log into Uptime Kuma."
119
+ env:
120
+ UPTIME_KUMA_URL: "{{UPTIME_KUMA_URL}}"
121
+ UPTIME_KUMA_USERNAME: "{{UPTIME_KUMA_USERNAME}}"
122
+ UPTIME_KUMA_PASSWORD: "{{UPTIME_KUMA_PASSWORD}}"
123
+ serverInstructions: true
124
+ startup: false
125
+ ```
126
+
127
+ If you're the only one using the LibreChat server, you can remove `customUserVars` and set the environment variables directly in the `env` section. You can also remove `startup: false` - that's only in there because without it, LibreChat tries to start the mcp-uptime-kuma MCP server immediately on startup, which fails because the user-provided credentials aren't available yet.
128
+
82
129
  ### For the Streamable HTTP Transport
83
130
 
84
131
  The recommended way to run the MCP server using streamable HTTP is to run it as a Docker container.
85
132
 
86
- A docker-compose file is provided - update the included environment variables as needed and run:
133
+ A docker-compose file is provided in the Github repository. Grab it, update the included environment variables as needed for your Uptime Kuma deployment, and run:
87
134
 
88
135
  `docker compose up -d`
89
136
 
@@ -192,15 +239,18 @@ mcp-uptime-kuma/
192
239
  │ ├── uptime-kuma-client.ts # WebSocket client for Uptime Kuma API
193
240
  │ └── types.ts # TypeScript type definitions
194
241
  ├── dist/ # Compiled JavaScript (generated)
242
+ ├── docker-compose.yml # Docker Compose configuration
243
+ ├── Dockerfile # Docker image definition
195
244
  ├── package.json # Project dependencies and scripts
196
245
  ├── tsconfig.json # TypeScript configuration
197
246
  ├── .env # Environment configuration (create this)
247
+ ├── LICENSE # License file
198
248
  └── README.md # This file
199
249
  ```
200
250
 
201
251
  ## Development
202
252
 
203
- To add new tools or modify existing ones, edit `src/server.ts`. The Uptime Kuma client in `src/uptime-kuma-client.ts` handles the WebSocket connection and caches monitor and heartbeat data.
253
+ To add new tools or modify existing ones, edit `src/server.ts`. The Uptime Kuma client in `src/uptime-kuma-client.ts` handles the WebSocket connection and retrieves monitor and heartbeat data.
204
254
 
205
255
  ## Learn More
206
256
 
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CA+Q/E"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAyS/E"}
package/dist/server.js CHANGED
@@ -9,22 +9,14 @@ import { HeartbeatSchema, MonitorBaseSchema } from './types.js';
9
9
  export async function createServer(config) {
10
10
  const server = new McpServer({
11
11
  name: 'mcp-uptime-kuma',
12
- version: '0.1.0',
12
+ version: '0.3.0',
13
13
  }, {
14
14
  instructions: `
15
- This MCP server provides access to Uptime Kuma monitoring data.
15
+ This MCP server provides access to Uptime Kuma monitoring data for system status and uptime/downtime information.
16
16
 
17
- Available tools:
18
- - getMonitor: Retrieve configuration and details for a specific monitor by ID
19
- - listMonitors: Get all monitors with their configurations
20
- - getHeartbeats: Retrieve status checks and uptime data for a specific monitor
21
- - listAllHeartbeats: Get status checks and uptime data for all monitors
22
-
23
- Monitors contain configuration information (URLs, check intervals, notification settings, etc.).
24
- Heartbeats contain actual status data (up/down status, response times, timestamps, etc.).
25
- To check if something is up or down, use heartbeat tools, not monitor tools.
26
-
27
- By default, tools return only essential fields. Set includeAdditionalFields=true to get all available data.
17
+ START with 'getMonitorSummary' for status overview questions ("how is everything?", "what's down?").
18
+ Use 'getHeartbeats' or 'listHeartbeats' for historical data (limit to 5-10 heartbeats unless user requests more).
19
+ Use 'listMonitors' only when you need configuration details (URLs, intervals, notification settings).
28
20
  `
29
21
  });
30
22
  // Initialize Uptime Kuma client and login
@@ -44,7 +36,7 @@ export async function createServer(config) {
44
36
  // Register getMonitor tool
45
37
  server.registerTool('getMonitor', {
46
38
  title: 'Get Monitor',
47
- description: 'Retrieves detailed information about a specific monitor by its ID',
39
+ description: 'Retrieves configuration details for a specific monitor by ID (URL, check interval, notification settings, etc.). Use this when you need to examine or modify settings for a specific monitor. For current status, use getMonitorSummary instead. By default returns only core fields; set includeAdditionalFields to true to return all fields.',
48
40
  inputSchema: {
49
41
  monitorID: z.number().int().positive().describe('The ID of the monitor to retrieve'),
50
42
  includeAdditionalFields: z.boolean().optional().describe('Include all additional fields from Uptime Kuma (default: false)')
@@ -75,7 +67,7 @@ export async function createServer(config) {
75
67
  // Register listMonitors tool
76
68
  server.registerTool('listMonitors', {
77
69
  title: 'List Monitors',
78
- description: 'Retrieves the full list of all monitors the user has access to from the cache. By default returns all fields; set includeAdditionalFields to false to return only defined fields.',
70
+ description: 'Retrieves configuration details for all monitors (URLs, check intervals, notification settings, etc.). Use this when you need to examine or modify monitor settings. For status checks ("how is everything doing?", "what\'s down?"), use getMonitorSummary instead. By default returns only core fields; set includeAdditionalFields to true to return all fields.',
79
71
  inputSchema: {
80
72
  includeAdditionalFields: z.boolean().optional().describe('Include all additional fields from Uptime Kuma (default: false)')
81
73
  },
@@ -106,33 +98,67 @@ export async function createServer(config) {
106
98
  throw new McpError(ErrorCode.InternalError, `Failed to list monitors: ${errorMessage}`);
107
99
  }
108
100
  });
101
+ // Register getMonitorSummary tool
102
+ server.registerTool('getMonitorSummary', {
103
+ title: 'Get Monitor Summary',
104
+ description: 'START HERE for status overview questions. Retrieves current status for all monitors showing UP/DOWN/PENDING/MAINTENANCE states with the most recent heartbeat message. Use this when asked "how is everything doing?", "what\'s down?", "what\'s up?", or for any general status overview. Returns essential information (ID, name, pathName, active state, maintenance state, status, message). Optionally filter by keywords in the pathName.',
105
+ inputSchema: {
106
+ keywords: z.string().optional().describe('Space-separated keywords to filter monitors by pathName (case-insensitive). All keywords must match for a monitor to be included.')
107
+ },
108
+ outputSchema: {
109
+ summaries: z.array(z.object({
110
+ id: z.number(),
111
+ name: z.string(),
112
+ pathName: z.string(),
113
+ active: z.boolean(),
114
+ maintenance: z.boolean(),
115
+ status: z.number().optional().describe('0=DOWN, 1=UP, 2=PENDING, 3=MAINTENANCE'),
116
+ msg: z.string().optional().describe('Status message from the most recent heartbeat'),
117
+ })).describe('Array of monitor summaries'),
118
+ count: z.number()
119
+ },
120
+ }, async ({ keywords }) => {
121
+ if (!isAuthenticated) {
122
+ throw new McpError(ErrorCode.InternalError, 'Not authenticated with Uptime Kuma');
123
+ }
124
+ try {
125
+ const summaries = client.getMonitorSummary(keywords);
126
+ return {
127
+ content: [{
128
+ type: 'text',
129
+ text: JSON.stringify(summaries, null, 2)
130
+ }],
131
+ structuredContent: {
132
+ summaries,
133
+ count: summaries.length
134
+ },
135
+ };
136
+ }
137
+ catch (error) {
138
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
139
+ throw new McpError(ErrorCode.InternalError, `Failed to get monitor summary: ${errorMessage}`);
140
+ }
141
+ });
109
142
  // Register getHeartbeats tool
110
143
  server.registerTool('getHeartbeats', {
111
144
  title: 'Get Heartbeats',
112
- description: 'Retrieves heartbeats for a specific monitor from the cache. By default returns up to 100 most recent heartbeats; set includeAll to false to return only the most recent heartbeat.',
145
+ description: 'Retrieves historical heartbeat data for a specific monitor (response times, status changes over time). Use this for analyzing patterns or history for one monitor. By default returns only the most recent heartbeat; set maxHeartbeats (up to 100) for historical analysis. Keep maxHeartbeats ≤10 unless user requests more.',
113
146
  inputSchema: {
114
147
  monitorID: z.number().int().positive().describe('The ID of the monitor to get heartbeats for'),
115
- includeAll: z.boolean().optional().describe('If true, returns all heartbeats (up to 100). If false, returns only the most recent heartbeat (default: false)')
148
+ maxHeartbeats: z.number().int().positive().max(100).optional().describe('If set, returns the most recent X heartbeats (up to 100). If unset, returns only the most recent heartbeat (default: 1)')
116
149
  },
117
150
  outputSchema: {
118
151
  monitorID: z.number(),
119
152
  heartbeats: z.array(HeartbeatSchema),
120
153
  count: z.number()
121
154
  },
122
- }, async ({ monitorID, includeAll }) => {
155
+ }, async ({ monitorID, maxHeartbeats }) => {
123
156
  if (!isAuthenticated) {
124
157
  throw new McpError(ErrorCode.InternalError, 'Not authenticated with Uptime Kuma');
125
158
  }
126
159
  try {
127
- const includeAllFlag = includeAll ?? false;
128
- let heartbeatsArray;
129
- if (includeAllFlag) {
130
- heartbeatsArray = client.getHeartbeatsForMonitor(monitorID, true);
131
- }
132
- else {
133
- const singleHeartbeat = client.getHeartbeatsForMonitor(monitorID, false);
134
- heartbeatsArray = singleHeartbeat ? [singleHeartbeat] : [];
135
- }
160
+ const count = maxHeartbeats ?? 1;
161
+ const heartbeatsArray = client.getHeartbeatsForMonitor(monitorID, count);
136
162
  return {
137
163
  content: [{
138
164
  type: 'text',
@@ -151,36 +177,24 @@ export async function createServer(config) {
151
177
  }
152
178
  });
153
179
  // Register listAllHeartbeats tool
154
- server.registerTool('listAllHeartbeats', {
155
- title: 'List All Heartbeats',
156
- description: 'Retrieves the complete heartbeat list for all monitors from the cache. By default, each monitor ID maps to an array of up to 100 recent heartbeats; set includeAll to false to return only the most recent heartbeat per monitor.',
180
+ server.registerTool('listHeartbeats', {
181
+ title: 'List Heartbeats',
182
+ description: 'Retrieves historical heartbeat data for ALL monitors (response times, status changes over time). Use this for analyzing patterns across multiple monitors or correlating events. By default returns only the most recent heartbeat per monitor; set maxHeartbeats (up to 100) for historical analysis. Keep maxHeartbeats ≤5 unless user requests more.',
157
183
  inputSchema: {
158
- includeAll: z.boolean().optional().describe('If true, returns all heartbeats (up to 100 per monitor). If false, returns only the most recent heartbeat per monitor (default: false)')
184
+ maxHeartbeats: z.number().int().positive().max(100).optional().describe('If set, returns the most recent X heartbeats per monitor (up to 100). If unset, returns only the most recent heartbeat per monitor (default: 1)')
159
185
  },
160
186
  outputSchema: {
161
187
  heartbeats: z.record(z.string(), z.array(HeartbeatSchema)).describe('Map of monitor IDs to their heartbeat arrays'),
162
188
  monitorCount: z.number(),
163
189
  totalHeartbeatCount: z.number()
164
190
  },
165
- }, async ({ includeAll }) => {
191
+ }, async ({ maxHeartbeats }) => {
166
192
  if (!isAuthenticated) {
167
193
  throw new McpError(ErrorCode.InternalError, 'Not authenticated with Uptime Kuma');
168
194
  }
169
195
  try {
170
- const includeAllFlag = includeAll ?? false;
171
- const rawHeartbeatList = includeAllFlag
172
- ? client.getHeartbeatList(true)
173
- : client.getHeartbeatList(false);
174
- // Normalize to always return arrays for consistent schema
175
- const heartbeatList = {};
176
- for (const [monitorID, heartbeats] of Object.entries(rawHeartbeatList)) {
177
- if (includeAllFlag) {
178
- heartbeatList[monitorID] = heartbeats;
179
- }
180
- else {
181
- heartbeatList[monitorID] = heartbeats ? [heartbeats] : [];
182
- }
183
- }
196
+ const count = maxHeartbeats ?? 1;
197
+ const heartbeatList = client.getHeartbeatList(count);
184
198
  // Calculate total heartbeat count
185
199
  const totalCount = Object.values(heartbeatList).reduce((sum, heartbeats) => sum + heartbeats.length, 0);
186
200
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Socket } from 'socket.io-client';
2
- import type { MonitorBase, MonitorWithAdditionalFields, LoginResponse, MonitorList, Heartbeat, HeartbeatList } from './types.js';
2
+ import type { MonitorBase, MonitorWithAdditionalFields, LoginResponse, MonitorList, Heartbeat } from './types.js';
3
3
  /**
4
4
  * Uptime Kuma Socket.io API Client
5
5
  */
@@ -54,18 +54,35 @@ export declare class UptimeKumaClient {
54
54
  * Get the cached heartbeat list
55
55
  * The list is populated after login and kept up-to-date via server events
56
56
  *
57
- * @param includeAll - If true, returns arrays of all heartbeats (up to 100). If false, returns only the most recent heartbeat for each monitor
58
- * @returns The cached heartbeat list
57
+ * @param maxHeartbeats - Maximum number of heartbeats to return per monitor (default: 1)
58
+ * @returns The cached heartbeat list with arrays of heartbeats
59
59
  */
60
- getHeartbeatList<T extends boolean = true>(includeAll?: T): HeartbeatList<T>;
60
+ getHeartbeatList(maxHeartbeats?: number): {
61
+ [monitorID: string]: Heartbeat[];
62
+ };
61
63
  /**
62
64
  * Get heartbeats for a specific monitor from the cache
63
65
  *
64
66
  * @param monitorID - The ID of the monitor
65
- * @param includeAll - If true, returns all heartbeats (up to 100). If false, returns only the most recent heartbeat
66
- * @returns Heartbeat(s) for the monitor, or empty array/undefined if none exist
67
+ * @param maxHeartbeats - Maximum number of heartbeats to return (default: 1)
68
+ * @returns Array of heartbeats for the monitor, or empty array if none exist
67
69
  */
68
- getHeartbeatsForMonitor<T extends boolean = true>(monitorID: number, includeAll?: T): T extends true ? Heartbeat[] : Heartbeat | undefined;
70
+ getHeartbeatsForMonitor(monitorID: number, maxHeartbeats?: number): Heartbeat[];
71
+ /**
72
+ * Get a summarized list of all monitors with their most recent heartbeat status
73
+ *
74
+ * @param keywords - Optional space-separated keywords to filter by pathName (case-insensitive)
75
+ * @returns Array of monitor summaries containing essential info and latest heartbeat status
76
+ */
77
+ getMonitorSummary(keywords?: string): Array<{
78
+ id: number;
79
+ name: string;
80
+ pathName: string;
81
+ active: boolean;
82
+ maintenance: boolean;
83
+ status?: number;
84
+ msg?: string;
85
+ }>;
69
86
  /**
70
87
  * Get the socket instance (for advanced usage)
71
88
  */
@@ -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;AAC9C,OAAO,KAAK,EACV,WAAW,EACX,2BAA2B,EAG3B,aAAa,EAEb,WAAW,EACX,SAAS,EACT,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,kBAAkB,CAA2B;gBAEzC,GAAG,EAAE,MAAM;IAIvB;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBxB;;OAEG;IACH,UAAU,IAAI,IAAI;IAkBlB;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA8BjF;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAmBjC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAoC/B;;;;;OAKG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,2BAA2B,GAAG,SAAS;IAItE;;;;;OAKG;IACH,cAAc,IAAI,WAAW,CAAC,IAAI,CAAC;IAInC;;;;;;OAMG;IACH,gBAAgB,CAAC,CAAC,SAAS,OAAO,GAAG,IAAI,EAAE,UAAU,GAAE,CAAa,GAAG,aAAa,CAAC,CAAC,CAAC;IAavF;;;;;;OAMG;IACH,uBAAuB,CAAC,CAAC,SAAS,OAAO,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAE,CAAa,GAAG,CAAC,SAAS,IAAI,GAAG,SAAS,EAAE,GAAG,SAAS,GAAG,SAAS;IAUrJ;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI;CAG3B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,2BAA2B,GAAG,WAAW,CAyBrF"}
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,EACV,WAAW,EACX,2BAA2B,EAG3B,aAAa,EAEb,WAAW,EACX,SAAS,EAEV,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,kBAAkB,CAA2B;gBAEzC,GAAG,EAAE,MAAM;IAIvB;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBxB;;OAEG;IACH,UAAU,IAAI,IAAI;IAkBlB;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA8BjF;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAmBjC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAoC/B;;;;;OAKG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,2BAA2B,GAAG,SAAS;IAItE;;;;;OAKG;IACH,cAAc,IAAI,WAAW,CAAC,IAAI,CAAC;IAInC;;;;;;OAMG;IACH,gBAAgB,CAAC,aAAa,GAAE,MAAU,GAAG;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,CAAA;KAAE;IAUjF;;;;;;OAMG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,GAAE,MAAU,GAAG,SAAS,EAAE;IAUlF;;;;;OAKG;IACH,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAC1C,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,OAAO,CAAC;QAChB,WAAW,EAAE,OAAO,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IAuCF;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI;CAG3B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,2BAA2B,GAAG,WAAW,CAyBrF"}
@@ -1,4 +1,5 @@
1
1
  import { io, Socket } from 'socket.io-client';
2
+ import fuzzysort from 'fuzzysort';
2
3
  /**
3
4
  * Uptime Kuma Socket.io API Client
4
5
  */
@@ -156,33 +157,68 @@ export class UptimeKumaClient {
156
157
  * Get the cached heartbeat list
157
158
  * The list is populated after login and kept up-to-date via server events
158
159
  *
159
- * @param includeAll - If true, returns arrays of all heartbeats (up to 100). If false, returns only the most recent heartbeat for each monitor
160
- * @returns The cached heartbeat list
160
+ * @param maxHeartbeats - Maximum number of heartbeats to return per monitor (default: 1)
161
+ * @returns The cached heartbeat list with arrays of heartbeats
161
162
  */
162
- getHeartbeatList(includeAll = true) {
163
- if (includeAll) {
164
- return this.heartbeatListCache;
165
- }
166
- // Return only the most recent heartbeat for each monitor
167
- const recentHeartbeats = {};
163
+ getHeartbeatList(maxHeartbeats = 1) {
164
+ const result = {};
168
165
  for (const [monitorID, heartbeats] of Object.entries(this.heartbeatListCache)) {
169
- recentHeartbeats[monitorID] = heartbeats[0];
166
+ result[monitorID] = heartbeats.slice(0, maxHeartbeats);
170
167
  }
171
- return recentHeartbeats;
168
+ return result;
172
169
  }
173
170
  /**
174
171
  * Get heartbeats for a specific monitor from the cache
175
172
  *
176
173
  * @param monitorID - The ID of the monitor
177
- * @param includeAll - If true, returns all heartbeats (up to 100). If false, returns only the most recent heartbeat
178
- * @returns Heartbeat(s) for the monitor, or empty array/undefined if none exist
174
+ * @param maxHeartbeats - Maximum number of heartbeats to return (default: 1)
175
+ * @returns Array of heartbeats for the monitor, or empty array if none exist
179
176
  */
180
- getHeartbeatsForMonitor(monitorID, includeAll = true) {
177
+ getHeartbeatsForMonitor(monitorID, maxHeartbeats = 1) {
181
178
  const heartbeats = this.heartbeatListCache[monitorID.toString()];
182
- if (includeAll) {
183
- return (heartbeats || []);
179
+ if (!heartbeats) {
180
+ return [];
181
+ }
182
+ return heartbeats.slice(0, maxHeartbeats);
183
+ }
184
+ /**
185
+ * Get a summarized list of all monitors with their most recent heartbeat status
186
+ *
187
+ * @param keywords - Optional space-separated keywords to filter by pathName (case-insensitive)
188
+ * @returns Array of monitor summaries containing essential info and latest heartbeat status
189
+ */
190
+ getMonitorSummary(keywords) {
191
+ const summaries = [];
192
+ // Parse keywords into an array
193
+ const keywordArray = keywords ? keywords.trim().split(/\s+/) : [];
194
+ for (const [monitorID, monitor] of Object.entries(this.monitorListCache)) {
195
+ // Filter by keywords if provided using fuzzy matching
196
+ if (keywordArray.length > 0) {
197
+ const pathName = monitor.pathName;
198
+ // All keywords must match with a reasonable score
199
+ const matchesAllKeywords = keywordArray.every(keyword => {
200
+ const result = fuzzysort.single(keyword, pathName);
201
+ // Accept matches with score > 0.3 (0 = no match, 1 = perfect match)
202
+ return result && result.score > 0.3;
203
+ });
204
+ if (!matchesAllKeywords) {
205
+ continue;
206
+ }
207
+ }
208
+ // Get the most recent heartbeat for this monitor
209
+ const heartbeats = this.heartbeatListCache[monitorID];
210
+ const latestHeartbeat = heartbeats && heartbeats.length > 0 ? heartbeats[0] : undefined;
211
+ summaries.push({
212
+ id: monitor.id,
213
+ name: monitor.name,
214
+ pathName: monitor.pathName,
215
+ active: monitor.active,
216
+ maintenance: monitor.maintenance,
217
+ status: latestHeartbeat?.status,
218
+ msg: latestHeartbeat?.msg,
219
+ });
184
220
  }
185
- return (heartbeats?.[0]);
221
+ return summaries;
186
222
  }
187
223
  /**
188
224
  * Get the socket instance (for advanced usage)
@@ -1 +1 @@
1
- {"version":3,"file":"uptime-kuma-client.js","sourceRoot":"","sources":["../src/uptime-kuma-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uptime-kuma-client.js","sourceRoot":"","sources":["../src/uptime-kuma-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@davidfuchs/mcp-uptime-kuma",
3
- "version": "0.2.2",
3
+ "version": "0.3.1",
4
4
  "description": "A Model Context Protocol (MCP) server for Uptime Kuma version 2, supporting both stdio and streamable HTTP transports.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -47,6 +47,7 @@
47
47
  "@modelcontextprotocol/sdk": "^1.22.0",
48
48
  "dotenv": "^17.2.3",
49
49
  "express": "^4.21.2",
50
+ "fuzzysort": "^3.1.0",
50
51
  "socket.io-client": "^4.8.1",
51
52
  "zod": "^3.24.1"
52
53
  },