@davidfuchs/mcp-uptime-kuma 0.6.3 → 0.7.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 +76 -449
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +61 -109
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +459 -11
- package/dist/server.js.map +1 -1
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +6 -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/monitor-base.js +7 -7
- package/dist/types/monitor-base.js.map +1 -1
- 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 +110 -1
- package/dist/uptime-kuma-client.d.ts.map +1 -1
- package/dist/uptime-kuma-client.js +324 -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 +1 -72
package/dist/index.js
CHANGED
|
@@ -6,12 +6,9 @@ if (!process.env.MCP_TEST_MODE) {
|
|
|
6
6
|
}
|
|
7
7
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
8
8
|
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
9
|
-
import { isInitializeRequest } from '@modelcontextprotocol/sdk/types.js';
|
|
10
9
|
import express from 'express';
|
|
11
10
|
import cors from 'cors';
|
|
12
11
|
import rateLimit from 'express-rate-limit';
|
|
13
|
-
import { randomUUID } from 'node:crypto';
|
|
14
|
-
import NodeCache from 'node-cache';
|
|
15
12
|
import { createServer } from './server.js';
|
|
16
13
|
/**
|
|
17
14
|
* Main entry point for @davidfuchs/mcp-uptime-kuma
|
|
@@ -78,85 +75,65 @@ async function runStdio(config) {
|
|
|
78
75
|
process.exit(1);
|
|
79
76
|
}
|
|
80
77
|
}
|
|
81
|
-
// Run with the streamable HTTP transport
|
|
78
|
+
// Run with the streamable HTTP transport (stateless mode - no session management)
|
|
82
79
|
async function runHttp(config) {
|
|
83
80
|
const app = express();
|
|
84
81
|
app.use(express.json());
|
|
85
82
|
// CORS configuration for MCP client compatibility
|
|
86
83
|
app.use(cors({
|
|
87
|
-
origin: process.env.ALLOWED_ORIGIN || '*',
|
|
84
|
+
origin: process.env.ALLOWED_ORIGIN || '*',
|
|
88
85
|
exposedHeaders: ['mcp-session-id'],
|
|
89
86
|
allowedHeaders: ['Content-Type', 'mcp-session-id', 'mcp-protocol-version'],
|
|
90
|
-
// MUST include 'mcp-protocol-version' otherwise preflight check will error out
|
|
91
87
|
}));
|
|
92
|
-
// Rate limiting
|
|
93
|
-
|
|
94
|
-
windowMs: 15 * 60 * 1000,
|
|
95
|
-
max: 100,
|
|
96
|
-
standardHeaders: true,
|
|
97
|
-
legacyHeaders: false,
|
|
88
|
+
// Rate limiting: 100 requests per 15 minutes per IP
|
|
89
|
+
app.use(rateLimit({
|
|
90
|
+
windowMs: 15 * 60 * 1000,
|
|
91
|
+
max: 100,
|
|
92
|
+
standardHeaders: true,
|
|
93
|
+
legacyHeaders: false,
|
|
98
94
|
message: 'Too many requests from this IP, please try again later.',
|
|
99
|
-
});
|
|
100
|
-
// Apply rate limiter to all routes
|
|
101
|
-
app.use(limiter);
|
|
95
|
+
}));
|
|
102
96
|
// Create the MCP server once (reused across requests)
|
|
103
97
|
const { server, authenticateClient } = await createServer(config);
|
|
104
|
-
//
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
checkperiod: 0,
|
|
108
|
-
useClones: false, // MUST include this to store references instead of cloning objects
|
|
109
|
-
// otherwise the StreamableHTTPServerTransport object will be broken!
|
|
110
|
-
});
|
|
111
|
-
// Track authentication status at server level (not per-session)
|
|
112
|
-
let isServerAuthenticated = false;
|
|
113
|
-
// Handle POST requests for client-to-server communication
|
|
98
|
+
// Track authentication state - authenticate on first request when transport is connected
|
|
99
|
+
let isAuthenticated = false;
|
|
100
|
+
// POST: Handle all MCP requests (stateless mode)
|
|
114
101
|
app.post('/mcp', async (req, res) => {
|
|
115
102
|
try {
|
|
116
|
-
//
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
res.status(400).json({
|
|
146
|
-
jsonrpc: '2.0',
|
|
147
|
-
error: {
|
|
148
|
-
code: -32000,
|
|
149
|
-
message: 'Bad Request: No valid session ID provided',
|
|
150
|
-
},
|
|
151
|
-
id: null,
|
|
152
|
-
});
|
|
153
|
-
return;
|
|
103
|
+
// Create a new transport for each request to prevent request ID collisions
|
|
104
|
+
// Different clients may use the same JSON-RPC request IDs, which would cause
|
|
105
|
+
// responses to be routed to the wrong HTTP connections if transport state is shared
|
|
106
|
+
const transport = new StreamableHTTPServerTransport({
|
|
107
|
+
sessionIdGenerator: undefined, // Disable session management
|
|
108
|
+
enableJsonResponse: true, // Return JSON responses instead of SSE
|
|
109
|
+
});
|
|
110
|
+
res.on('close', () => {
|
|
111
|
+
transport.close();
|
|
112
|
+
});
|
|
113
|
+
await server.connect(transport);
|
|
114
|
+
// Authenticate on first request (when transport is connected so logging works)
|
|
115
|
+
if (!isAuthenticated) {
|
|
116
|
+
isAuthenticated = true;
|
|
117
|
+
try {
|
|
118
|
+
await authenticateClient();
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
console.error('[MCP] Failed to authenticate with Uptime Kuma:', error);
|
|
122
|
+
res.status(500).json({
|
|
123
|
+
jsonrpc: '2.0',
|
|
124
|
+
error: {
|
|
125
|
+
code: -32603,
|
|
126
|
+
message: 'Authentication failed',
|
|
127
|
+
},
|
|
128
|
+
id: null,
|
|
129
|
+
});
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
154
132
|
}
|
|
155
|
-
// Handle the request (authentication happens later in GET handler when SSE stream is ready)
|
|
156
133
|
await transport.handleRequest(req, res, req.body);
|
|
157
134
|
}
|
|
158
135
|
catch (error) {
|
|
159
|
-
console.error('Error handling
|
|
136
|
+
console.error('[MCP] Error handling request:', error);
|
|
160
137
|
if (!res.headersSent) {
|
|
161
138
|
res.status(500).json({
|
|
162
139
|
jsonrpc: '2.0',
|
|
@@ -169,62 +146,37 @@ async function runHttp(config) {
|
|
|
169
146
|
}
|
|
170
147
|
}
|
|
171
148
|
});
|
|
172
|
-
//
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
let transport;
|
|
176
|
-
// Check if the session ID exists in the transport cache; if so reuse the transport
|
|
177
|
-
if (sessionId) {
|
|
178
|
-
transport = transportCache.get(sessionId);
|
|
179
|
-
}
|
|
180
|
-
if (!sessionId || !transport) {
|
|
181
|
-
res.status(400).send('Invalid or missing session ID');
|
|
182
|
-
return;
|
|
183
|
-
}
|
|
184
|
-
// Handle the request
|
|
185
|
-
await transport.handleRequest(req, res);
|
|
186
|
-
};
|
|
187
|
-
// Handle GET requests for server-to-client notifications via SSE
|
|
188
|
-
app.get('/mcp', async (req, res) => {
|
|
189
|
-
const sessionId = req.headers['mcp-session-id'];
|
|
190
|
-
let transport;
|
|
191
|
-
// Check if the session ID exists in the transport cache; if so reuse the transport
|
|
192
|
-
if (sessionId) {
|
|
193
|
-
transport = transportCache.get(sessionId);
|
|
194
|
-
}
|
|
195
|
-
if (!sessionId || !transport) {
|
|
196
|
-
res.status(400).send('Invalid or missing session ID');
|
|
197
|
-
return;
|
|
198
|
-
}
|
|
199
|
-
// Authenticate once for the entire server after the first SSE stream is established
|
|
200
|
-
// This ensures the client can receive authentication log messages
|
|
201
|
-
if (!isServerAuthenticated) {
|
|
202
|
-
isServerAuthenticated = true; // Set immediately to prevent race conditions
|
|
203
|
-
try {
|
|
204
|
-
await authenticateClient();
|
|
205
|
-
}
|
|
206
|
-
catch (error) {
|
|
207
|
-
console.error('Authentication error:', error);
|
|
208
|
-
// Continue anyway - the error will be logged via sendLoggingMessage
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
// Handle the request
|
|
212
|
-
await transport.handleRequest(req, res);
|
|
149
|
+
// GET: Session management not supported - return HTTP 405
|
|
150
|
+
app.get('/mcp', (req, res) => {
|
|
151
|
+
res.status(405).end();
|
|
213
152
|
});
|
|
214
|
-
// Handle DELETE requests for session termination
|
|
215
|
-
app.delete('/mcp', handleSessionRequest);
|
|
216
153
|
// Health check endpoint
|
|
217
154
|
app.get('/health', (req, res) => {
|
|
218
155
|
res.json({ status: 'ok', server: 'mcp-uptime-kuma' });
|
|
219
156
|
});
|
|
220
157
|
const port = parseInt(process.env.PORT || '3000');
|
|
221
|
-
app.listen(port, () => {
|
|
158
|
+
const httpServer = app.listen(port, () => {
|
|
222
159
|
console.log(`mcp-uptime-kuma server running on http://localhost:${port}/mcp`);
|
|
223
160
|
console.log(`Health check available at http://localhost:${port}/health`);
|
|
224
161
|
}).on('error', (error) => {
|
|
225
162
|
process.stderr.write(`Server error: ${error}\n`);
|
|
226
163
|
process.exit(1);
|
|
227
164
|
});
|
|
165
|
+
// Graceful shutdown
|
|
166
|
+
const shutdown = () => {
|
|
167
|
+
console.log('\n[MCP] Shutting down gracefully...');
|
|
168
|
+
httpServer.close(() => {
|
|
169
|
+
console.log('[MCP] Server closed');
|
|
170
|
+
process.exit(0);
|
|
171
|
+
});
|
|
172
|
+
// Force exit after 10 seconds
|
|
173
|
+
setTimeout(() => {
|
|
174
|
+
console.error('[MCP] Forced shutdown after timeout');
|
|
175
|
+
process.exit(1);
|
|
176
|
+
}, 10000);
|
|
177
|
+
};
|
|
178
|
+
process.on('SIGTERM', shutdown);
|
|
179
|
+
process.on('SIGINT', shutdown);
|
|
228
180
|
}
|
|
229
181
|
// Main entry point
|
|
230
182
|
async function main() {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,sEAAsE;AACtE,0FAA0F;AAC1F,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC/B,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;AAChC,CAAC;AAED,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD;;;GAGG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD;;;GAGG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CA2gC9J"}
|