lazy-mcp 2.2.7 → 2.3.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 +226 -1
- package/dist/cli.js +274 -35
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +4 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +117 -0
- package/dist/config.js.map +1 -1
- package/dist/http-server.d.ts +20 -0
- package/dist/http-server.d.ts.map +1 -0
- package/dist/http-server.js +567 -0
- package/dist/http-server.js.map +1 -0
- package/dist/logger.d.ts +39 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +237 -0
- package/dist/logger.js.map +1 -0
- package/dist/server-manager.d.ts +4 -1
- package/dist/server-manager.d.ts.map +1 -1
- package/dist/server-manager.js +261 -134
- package/dist/server-manager.js.map +1 -1
- package/dist/server.d.ts +11 -5
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +276 -188
- package/dist/server.js.map +1 -1
- package/dist/types.d.ts +52 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -42,7 +42,190 @@ const config_1 = require("./config");
|
|
|
42
42
|
const server_manager_1 = require("./server-manager");
|
|
43
43
|
const version_1 = require("./version");
|
|
44
44
|
const oauth_manager_1 = require("./oauth-manager");
|
|
45
|
+
const logger_1 = require("./logger");
|
|
45
46
|
const DEFAULT_CONFIG_PATH = path.join(os.homedir(), '.config', 'lazy-mcp', 'servers.json');
|
|
47
|
+
/**
|
|
48
|
+
* Known CLI flags and their value types.
|
|
49
|
+
* Flags not in this set are rejected as unexpected positional args.
|
|
50
|
+
*/
|
|
51
|
+
const KNOWN_VALUE_FLAGS = new Set(['--config', '--transport', '--port', '--host', '--path', '--auth-token', '--request-timeout', '--max-payload-size']);
|
|
52
|
+
/**
|
|
53
|
+
* Parse CLI arguments into a map of flag → value.
|
|
54
|
+
* Returns { flags, unexpected } where unexpected contains unrecognized args.
|
|
55
|
+
*/
|
|
56
|
+
function parseArgs(args) {
|
|
57
|
+
const flags = new Map();
|
|
58
|
+
const unexpected = [];
|
|
59
|
+
let i = 0;
|
|
60
|
+
while (i < args.length) {
|
|
61
|
+
const arg = args[i];
|
|
62
|
+
if (KNOWN_VALUE_FLAGS.has(arg)) {
|
|
63
|
+
if (i + 1 >= args.length) {
|
|
64
|
+
console.error(`Error: ${arg} requires a value`);
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
flags.set(arg, args[i + 1]);
|
|
68
|
+
i += 2;
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
if (arg.startsWith('-')) {
|
|
72
|
+
console.error(`Error: Unknown flag: ${arg}`);
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
unexpected.push(arg);
|
|
76
|
+
i++;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return { flags, unexpected };
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Resolve the request timeout in priority order:
|
|
83
|
+
* CLI flag > config file > env var > default (10 s)
|
|
84
|
+
*/
|
|
85
|
+
function resolveRequestTimeout(flags, configTimeout) {
|
|
86
|
+
let resolved = server_manager_1.DEFAULT_REQUEST_TIMEOUT_MS;
|
|
87
|
+
// Layer 1: env var (lowest precedence after default)
|
|
88
|
+
if (process.env.LAZY_MCP_REQUEST_TIMEOUT) {
|
|
89
|
+
const v = parseInt(process.env.LAZY_MCP_REQUEST_TIMEOUT, 10);
|
|
90
|
+
if (!isNaN(v) && v > 0) {
|
|
91
|
+
resolved = v;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
console.error(`Warning: LAZY_MCP_REQUEST_TIMEOUT must be a positive integer, got "${process.env.LAZY_MCP_REQUEST_TIMEOUT}" — using default ${resolved}ms`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
// Layer 2: config file
|
|
98
|
+
if (configTimeout !== undefined && configTimeout > 0) {
|
|
99
|
+
resolved = configTimeout;
|
|
100
|
+
}
|
|
101
|
+
// Layer 3: CLI flag (highest precedence)
|
|
102
|
+
const cliTimeout = flags.get('--request-timeout');
|
|
103
|
+
if (cliTimeout !== undefined) {
|
|
104
|
+
const v = parseInt(cliTimeout, 10);
|
|
105
|
+
if (isNaN(v) || v <= 0) {
|
|
106
|
+
console.error(`Error: --request-timeout must be a positive integer (milliseconds), got "${cliTimeout}"`);
|
|
107
|
+
process.exit(1);
|
|
108
|
+
}
|
|
109
|
+
resolved = v;
|
|
110
|
+
}
|
|
111
|
+
return resolved;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Resolve the transport configuration by merging sources in priority order:
|
|
115
|
+
* CLI flags > config file > env vars > defaults
|
|
116
|
+
*/
|
|
117
|
+
function resolveTransportConfig(flags, configTransport) {
|
|
118
|
+
// Start with defaults
|
|
119
|
+
const resolved = {
|
|
120
|
+
type: 'stdio',
|
|
121
|
+
port: 8080,
|
|
122
|
+
host: '127.0.0.1',
|
|
123
|
+
path: '/mcp',
|
|
124
|
+
};
|
|
125
|
+
// Layer 1: env vars (lowest precedence after defaults)
|
|
126
|
+
if (process.env.LAZY_MCP_TRANSPORT) {
|
|
127
|
+
if (process.env.LAZY_MCP_TRANSPORT === 'http' || process.env.LAZY_MCP_TRANSPORT === 'stdio') {
|
|
128
|
+
resolved.type = process.env.LAZY_MCP_TRANSPORT;
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
console.error(`Warning: LAZY_MCP_TRANSPORT must be "stdio" or "http", got "${process.env.LAZY_MCP_TRANSPORT}" — using default "${resolved.type}"`);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
if (process.env.LAZY_MCP_PORT) {
|
|
135
|
+
const p = parseInt(process.env.LAZY_MCP_PORT, 10);
|
|
136
|
+
if (!isNaN(p) && p >= 1 && p <= 65535) {
|
|
137
|
+
resolved.port = p;
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
console.error(`Warning: LAZY_MCP_PORT must be an integer between 1 and 65535, got "${process.env.LAZY_MCP_PORT}" — using default ${resolved.port}`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
if (process.env.LAZY_MCP_HOST) {
|
|
144
|
+
resolved.host = process.env.LAZY_MCP_HOST;
|
|
145
|
+
}
|
|
146
|
+
if (process.env.LAZY_MCP_PATH) {
|
|
147
|
+
resolved.path = process.env.LAZY_MCP_PATH;
|
|
148
|
+
}
|
|
149
|
+
if (process.env.LAZY_MCP_AUTH_TOKEN) {
|
|
150
|
+
resolved.authToken = process.env.LAZY_MCP_AUTH_TOKEN;
|
|
151
|
+
}
|
|
152
|
+
if (process.env.LAZY_MCP_MAX_PAYLOAD_SIZE) {
|
|
153
|
+
const v = parseInt(process.env.LAZY_MCP_MAX_PAYLOAD_SIZE, 10);
|
|
154
|
+
if (!isNaN(v) && Number.isInteger(v) && v > 0) {
|
|
155
|
+
resolved.maxPayloadSize = v;
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
console.error(`Warning: LAZY_MCP_MAX_PAYLOAD_SIZE must be a positive integer (bytes), got "${process.env.LAZY_MCP_MAX_PAYLOAD_SIZE}" — using default`);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
// Layer 2: config file
|
|
162
|
+
if (configTransport) {
|
|
163
|
+
if (configTransport.type)
|
|
164
|
+
resolved.type = configTransport.type;
|
|
165
|
+
if (configTransport.port !== undefined)
|
|
166
|
+
resolved.port = configTransport.port;
|
|
167
|
+
if (configTransport.host !== undefined)
|
|
168
|
+
resolved.host = configTransport.host;
|
|
169
|
+
if (configTransport.path !== undefined)
|
|
170
|
+
resolved.path = configTransport.path;
|
|
171
|
+
if (configTransport.authToken !== undefined)
|
|
172
|
+
resolved.authToken = configTransport.authToken;
|
|
173
|
+
if (configTransport.allowedOrigins !== undefined)
|
|
174
|
+
resolved.allowedOrigins = configTransport.allowedOrigins;
|
|
175
|
+
if (configTransport.allowedHosts !== undefined)
|
|
176
|
+
resolved.allowedHosts = configTransport.allowedHosts;
|
|
177
|
+
if (configTransport.maxPayloadSize !== undefined)
|
|
178
|
+
resolved.maxPayloadSize = configTransport.maxPayloadSize;
|
|
179
|
+
}
|
|
180
|
+
// Layer 3: CLI flags (highest precedence)
|
|
181
|
+
const cliTransport = flags.get('--transport');
|
|
182
|
+
if (cliTransport === 'http' || cliTransport === 'stdio') {
|
|
183
|
+
resolved.type = cliTransport;
|
|
184
|
+
}
|
|
185
|
+
else if (cliTransport !== undefined) {
|
|
186
|
+
console.error(`Error: --transport must be "stdio" or "http", got "${cliTransport}"`);
|
|
187
|
+
process.exit(1);
|
|
188
|
+
}
|
|
189
|
+
const cliPort = flags.get('--port');
|
|
190
|
+
if (cliPort !== undefined) {
|
|
191
|
+
const p = parseInt(cliPort, 10);
|
|
192
|
+
if (isNaN(p) || p < 1 || p > 65535) {
|
|
193
|
+
console.error(`Error: --port must be an integer between 1 and 65535, got "${cliPort}"`);
|
|
194
|
+
process.exit(1);
|
|
195
|
+
}
|
|
196
|
+
resolved.port = p;
|
|
197
|
+
}
|
|
198
|
+
const cliHost = flags.get('--host');
|
|
199
|
+
if (cliHost !== undefined) {
|
|
200
|
+
resolved.host = cliHost;
|
|
201
|
+
}
|
|
202
|
+
const cliPath = flags.get('--path');
|
|
203
|
+
if (cliPath !== undefined) {
|
|
204
|
+
if (!cliPath.startsWith('/')) {
|
|
205
|
+
console.error(`Error: --path must start with /, got "${cliPath}"`);
|
|
206
|
+
process.exit(1);
|
|
207
|
+
}
|
|
208
|
+
resolved.path = cliPath;
|
|
209
|
+
}
|
|
210
|
+
const cliAuthToken = flags.get('--auth-token');
|
|
211
|
+
if (cliAuthToken !== undefined) {
|
|
212
|
+
resolved.authToken = cliAuthToken;
|
|
213
|
+
}
|
|
214
|
+
const cliMaxPayloadSize = flags.get('--max-payload-size');
|
|
215
|
+
if (cliMaxPayloadSize !== undefined) {
|
|
216
|
+
const v = parseInt(cliMaxPayloadSize, 10);
|
|
217
|
+
if (isNaN(v) || !Number.isInteger(v) || v <= 0) {
|
|
218
|
+
console.error(`Error: --max-payload-size must be a positive integer (bytes), got "${cliMaxPayloadSize}"`);
|
|
219
|
+
process.exit(1);
|
|
220
|
+
}
|
|
221
|
+
resolved.maxPayloadSize = v;
|
|
222
|
+
}
|
|
223
|
+
if (resolved.path && !resolved.path.startsWith('/')) {
|
|
224
|
+
console.error(`Error: transport path must start with /, got "${resolved.path}"`);
|
|
225
|
+
process.exit(1);
|
|
226
|
+
}
|
|
227
|
+
return resolved;
|
|
228
|
+
}
|
|
46
229
|
async function main() {
|
|
47
230
|
const args = process.argv.slice(2);
|
|
48
231
|
// Handle version flags: only when the sole argument
|
|
@@ -50,17 +233,7 @@ async function main() {
|
|
|
50
233
|
console.log(version_1.LAZY_MCP_VERSION);
|
|
51
234
|
process.exit(0);
|
|
52
235
|
}
|
|
53
|
-
|
|
54
|
-
// Reject unexpected positional args that may be leftover single-server invocations.
|
|
55
|
-
const configIndex = args.indexOf('--config');
|
|
56
|
-
const knownArgs = new Set();
|
|
57
|
-
if (configIndex !== -1) {
|
|
58
|
-
knownArgs.add(configIndex);
|
|
59
|
-
if (configIndex + 1 < args.length) {
|
|
60
|
-
knownArgs.add(configIndex + 1);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
const unexpected = args.filter((_, i) => !knownArgs.has(i));
|
|
236
|
+
const { flags, unexpected } = parseArgs(args);
|
|
64
237
|
if (unexpected.length > 0) {
|
|
65
238
|
console.error(`Error: Unexpected arguments: ${unexpected.join(' ')}`);
|
|
66
239
|
console.error('');
|
|
@@ -71,15 +244,28 @@ async function main() {
|
|
|
71
244
|
console.error('See https://gitlab.com/gitlab-org/ai/lazy-mcp#usage');
|
|
72
245
|
process.exit(1);
|
|
73
246
|
}
|
|
74
|
-
//
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
247
|
+
// Validate CLI flag values early (before config file loading) so that
|
|
248
|
+
// invalid values are rejected even when no config file is present.
|
|
249
|
+
const cliTimeout = flags.get('--request-timeout');
|
|
250
|
+
if (cliTimeout !== undefined) {
|
|
251
|
+
const v = parseInt(cliTimeout, 10);
|
|
252
|
+
if (isNaN(v) || v <= 0) {
|
|
253
|
+
console.error(`Error: --request-timeout must be a positive integer (milliseconds), got "${cliTimeout}"`);
|
|
254
|
+
process.exit(1);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
const cliMaxPayloadSize = flags.get('--max-payload-size');
|
|
258
|
+
if (cliMaxPayloadSize !== undefined) {
|
|
259
|
+
const v = parseInt(cliMaxPayloadSize, 10);
|
|
260
|
+
if (isNaN(v) || !Number.isInteger(v) || v <= 0) {
|
|
261
|
+
console.error(`Error: --max-payload-size must be a positive integer (bytes), got "${cliMaxPayloadSize}"`);
|
|
262
|
+
process.exit(1);
|
|
263
|
+
}
|
|
78
264
|
}
|
|
79
265
|
// Resolve config path: --config flag > LAZY_MCP_CONFIG env > default location
|
|
80
266
|
let configPath;
|
|
81
|
-
if (
|
|
82
|
-
configPath =
|
|
267
|
+
if (flags.has('--config')) {
|
|
268
|
+
configPath = flags.get('--config');
|
|
83
269
|
}
|
|
84
270
|
else if (process.env.LAZY_MCP_CONFIG) {
|
|
85
271
|
configPath = process.env.LAZY_MCP_CONFIG;
|
|
@@ -99,14 +285,20 @@ async function main() {
|
|
|
99
285
|
}
|
|
100
286
|
try {
|
|
101
287
|
const config = config_1.ConfigLoader.load(configPath);
|
|
102
|
-
|
|
288
|
+
(0, logger_1.configureLogger)(config.logging);
|
|
289
|
+
const logger = (0, logger_1.getLogger)();
|
|
290
|
+
const transportConfig = resolveTransportConfig(flags, config.transport);
|
|
291
|
+
const requestTimeoutMs = resolveRequestTimeout(flags, config.requestTimeout);
|
|
292
|
+
const serverManager = new server_manager_1.ServerManager(config.servers, config.cache, config.healthMonitor, configPath, requestTimeoutMs);
|
|
103
293
|
const lazyServer = new server_1.LazyMCPServer(serverManager);
|
|
104
294
|
let cleaningUp = false;
|
|
295
|
+
let httpShutdown;
|
|
105
296
|
const cleanup = async () => {
|
|
106
297
|
if (cleaningUp)
|
|
107
298
|
return;
|
|
108
299
|
cleaningUp = true;
|
|
109
|
-
|
|
300
|
+
logger.info('Shutting down...', { event: 'service_shutdown_start' });
|
|
301
|
+
httpShutdown?.();
|
|
110
302
|
(0, oauth_manager_1.releaseCallbackLock)();
|
|
111
303
|
await serverManager.closeAll();
|
|
112
304
|
process.exit(0);
|
|
@@ -119,34 +311,57 @@ async function main() {
|
|
|
119
311
|
// as a zombie holding the OAuth callback port.
|
|
120
312
|
// stdin is already in flowing mode (the SDK calls .on('data', ...)), so
|
|
121
313
|
// the 'end' event fires reliably when the write-end of the pipe closes.
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
314
|
+
// Only attach for stdio mode — HTTP mode doesn't use stdin.
|
|
315
|
+
if (transportConfig.type === 'stdio') {
|
|
316
|
+
process.stdin.on('end', () => {
|
|
317
|
+
logger.info('stdin closed — parent process exited, shutting down', {
|
|
318
|
+
event: 'stdio_parent_exit',
|
|
319
|
+
});
|
|
320
|
+
cleanup().catch((err) => {
|
|
321
|
+
logger.error('Error during shutdown', {
|
|
322
|
+
event: 'service_shutdown_error',
|
|
323
|
+
error: err,
|
|
324
|
+
});
|
|
325
|
+
process.exit(1);
|
|
326
|
+
});
|
|
127
327
|
});
|
|
128
|
-
}
|
|
328
|
+
}
|
|
129
329
|
// SIGHUP: reload config without restarting the process
|
|
130
330
|
// Not available on Windows — guard to avoid crash
|
|
131
331
|
if (process.platform !== 'win32') {
|
|
132
332
|
let reloading = false;
|
|
133
333
|
process.on('SIGHUP', async () => {
|
|
134
334
|
if (reloading) {
|
|
135
|
-
|
|
335
|
+
logger.info('Config reload already in progress, ignoring SIGHUP', {
|
|
336
|
+
event: 'config_reload_ignored',
|
|
337
|
+
});
|
|
136
338
|
return;
|
|
137
339
|
}
|
|
138
340
|
reloading = true;
|
|
139
341
|
try {
|
|
140
|
-
|
|
342
|
+
logger.info('Received SIGHUP, reloading config...', {
|
|
343
|
+
event: 'config_reload_start',
|
|
344
|
+
});
|
|
141
345
|
const newConfig = config_1.ConfigLoader.load(configPath);
|
|
142
346
|
const result = await serverManager.reload(newConfig.servers, newConfig.cache, newConfig.healthMonitor);
|
|
347
|
+
(0, logger_1.configureLogger)(newConfig.logging);
|
|
143
348
|
const enabledCount = newConfig.servers.filter(s => s.enabled !== false).length;
|
|
144
|
-
|
|
349
|
+
logger.info(`Config reloaded successfully: ${enabledCount} servers ` +
|
|
145
350
|
`(+${result.added.length} added, -${result.removed.length} removed, ` +
|
|
146
|
-
`~${result.modified.length} modified, =${result.unchanged.length} unchanged)
|
|
351
|
+
`~${result.modified.length} modified, =${result.unchanged.length} unchanged)`, {
|
|
352
|
+
event: 'config_reload_success',
|
|
353
|
+
enabledServers: enabledCount,
|
|
354
|
+
added: result.added.length,
|
|
355
|
+
removed: result.removed.length,
|
|
356
|
+
modified: result.modified.length,
|
|
357
|
+
unchanged: result.unchanged.length,
|
|
358
|
+
});
|
|
147
359
|
}
|
|
148
360
|
catch (error) {
|
|
149
|
-
|
|
361
|
+
logger.error('Config reload failed, keeping current config', {
|
|
362
|
+
event: 'config_reload_failed',
|
|
363
|
+
error,
|
|
364
|
+
});
|
|
150
365
|
}
|
|
151
366
|
finally {
|
|
152
367
|
reloading = false;
|
|
@@ -154,18 +369,42 @@ async function main() {
|
|
|
154
369
|
});
|
|
155
370
|
}
|
|
156
371
|
const enabledServers = config.servers.filter(s => s.enabled !== false);
|
|
157
|
-
|
|
158
|
-
|
|
372
|
+
logger.info(`Starting lazy MCP proxy with ${enabledServers.length} servers`, {
|
|
373
|
+
event: 'service_start',
|
|
374
|
+
serversCount: enabledServers.length,
|
|
375
|
+
});
|
|
376
|
+
logger.info(`Servers: ${enabledServers.map(s => s.name).join(', ')}`, {
|
|
377
|
+
event: 'service_servers',
|
|
378
|
+
servers: enabledServers.map((s) => s.name),
|
|
379
|
+
});
|
|
159
380
|
// Start background health monitor (probes all servers on startup + periodically)
|
|
160
381
|
serverManager.startHealthMonitor();
|
|
161
|
-
|
|
382
|
+
if (transportConfig.type === 'http') {
|
|
383
|
+
logger.info('Transport: Streamable HTTP', {
|
|
384
|
+
event: 'transport_http',
|
|
385
|
+
});
|
|
386
|
+
const result = await lazyServer.runHttp(transportConfig);
|
|
387
|
+
httpShutdown = result.shutdown;
|
|
388
|
+
// HTTP mode: keep the process running (the HTTP server holds it alive)
|
|
389
|
+
}
|
|
390
|
+
else {
|
|
391
|
+
await lazyServer.run();
|
|
392
|
+
}
|
|
162
393
|
}
|
|
163
394
|
catch (error) {
|
|
164
|
-
|
|
395
|
+
(0, logger_1.getLogger)().error('Error starting lazy-mcp', {
|
|
396
|
+
event: 'service_start_error',
|
|
397
|
+
error,
|
|
398
|
+
});
|
|
165
399
|
process.exit(1);
|
|
166
400
|
}
|
|
167
401
|
}
|
|
168
402
|
if (require.main === module) {
|
|
169
|
-
main().catch(
|
|
403
|
+
main().catch((error) => {
|
|
404
|
+
(0, logger_1.getLogger)().error('Unhandled CLI error', {
|
|
405
|
+
event: 'service_unhandled_error',
|
|
406
|
+
error,
|
|
407
|
+
});
|
|
408
|
+
});
|
|
170
409
|
}
|
|
171
410
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -6,6 +6,10 @@ export declare class ConfigLoader {
|
|
|
6
6
|
/** Validates a server entry. Returns an error string if invalid, null if valid.
|
|
7
7
|
* Also mutates `server.type` to infer it from url/command when absent. */
|
|
8
8
|
private static validateServer;
|
|
9
|
+
/** Validates the transport config block. Returns an error string if invalid, null if valid. */
|
|
10
|
+
private static validateTransport;
|
|
11
|
+
/** Validates the logging config block. Returns an error string if invalid, null if valid. */
|
|
12
|
+
private static validateLogging;
|
|
9
13
|
static expandEnvVars(value: string): string;
|
|
10
14
|
static processEnv(env: Record<string, string>): Record<string, string>;
|
|
11
15
|
}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,iBAAiB,EAAiC,MAAM,SAAS,CAAC;AAW1F,qBAAa,YAAY;IACvB,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB;IAmBlD,OAAO,CAAC,MAAM,CAAC,WAAW;IAO1B,OAAO,CAAC,MAAM,CAAC,QAAQ;IA8DvB;+EAC2E;IAC3E,OAAO,CAAC,MAAM,CAAC,cAAc;IA2F7B,+FAA+F;IAC/F,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA0DhC,6FAA6F;IAC7F,OAAO,CAAC,MAAM,CAAC,eAAe;IA0C9B,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAM3C,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAOvE"}
|
package/dist/config.js
CHANGED
|
@@ -92,6 +92,34 @@ class ConfigLoader {
|
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
});
|
|
95
|
+
// Validate requestTimeout if present
|
|
96
|
+
if (config.requestTimeout !== undefined) {
|
|
97
|
+
if (typeof config.requestTimeout !== 'number' ||
|
|
98
|
+
!Number.isInteger(config.requestTimeout) ||
|
|
99
|
+
config.requestTimeout <= 0) {
|
|
100
|
+
throw new Error('"requestTimeout" must be a positive integer (milliseconds)');
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// Validate transport config if present
|
|
104
|
+
if (config.transport !== undefined) {
|
|
105
|
+
const transportError = this.validateTransport(config.transport);
|
|
106
|
+
if (transportError) {
|
|
107
|
+
throw new Error(`Invalid transport config: ${transportError}`);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
// Expand env vars in authToken
|
|
111
|
+
if (config.transport.authToken) {
|
|
112
|
+
config.transport.authToken = this.expandEnvVars(config.transport.authToken);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// Validate logging config if present
|
|
117
|
+
if (config.logging !== undefined) {
|
|
118
|
+
const loggingError = this.validateLogging(config.logging);
|
|
119
|
+
if (loggingError) {
|
|
120
|
+
throw new Error(`Invalid logging config: ${loggingError}`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
95
123
|
return config;
|
|
96
124
|
}
|
|
97
125
|
/** Validates a server entry. Returns an error string if invalid, null if valid.
|
|
@@ -181,6 +209,95 @@ class ConfigLoader {
|
|
|
181
209
|
}
|
|
182
210
|
return null;
|
|
183
211
|
}
|
|
212
|
+
/** Validates the transport config block. Returns an error string if invalid, null if valid. */
|
|
213
|
+
static validateTransport(transport) {
|
|
214
|
+
if (typeof transport !== 'object' || transport === null) {
|
|
215
|
+
return '"transport" must be an object';
|
|
216
|
+
}
|
|
217
|
+
if (transport.type !== undefined && transport.type !== 'stdio' && transport.type !== 'http') {
|
|
218
|
+
return '"transport.type" must be "stdio" or "http"';
|
|
219
|
+
}
|
|
220
|
+
if (transport.port !== undefined) {
|
|
221
|
+
if (typeof transport.port !== 'number' || transport.port < 1 || transport.port > 65535 || !Number.isInteger(transport.port)) {
|
|
222
|
+
return '"transport.port" must be an integer between 1 and 65535';
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
if (transport.host !== undefined && typeof transport.host !== 'string') {
|
|
226
|
+
return '"transport.host" must be a string';
|
|
227
|
+
}
|
|
228
|
+
if (transport.path !== undefined) {
|
|
229
|
+
if (typeof transport.path !== 'string') {
|
|
230
|
+
return '"transport.path" must be a string';
|
|
231
|
+
}
|
|
232
|
+
if (!transport.path.startsWith('/')) {
|
|
233
|
+
return '"transport.path" must start with /';
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
if (transport.authToken !== undefined && typeof transport.authToken !== 'string') {
|
|
237
|
+
return '"transport.authToken" must be a string';
|
|
238
|
+
}
|
|
239
|
+
if (transport.allowedOrigins !== undefined) {
|
|
240
|
+
if (!Array.isArray(transport.allowedOrigins)) {
|
|
241
|
+
return '"transport.allowedOrigins" must be an array of strings';
|
|
242
|
+
}
|
|
243
|
+
for (let i = 0; i < transport.allowedOrigins.length; i++) {
|
|
244
|
+
if (typeof transport.allowedOrigins[i] !== 'string') {
|
|
245
|
+
return `"transport.allowedOrigins[${i}]" must be a string`;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
if (transport.allowedHosts !== undefined) {
|
|
250
|
+
if (!Array.isArray(transport.allowedHosts)) {
|
|
251
|
+
return '"transport.allowedHosts" must be an array of strings';
|
|
252
|
+
}
|
|
253
|
+
for (let i = 0; i < transport.allowedHosts.length; i++) {
|
|
254
|
+
if (typeof transport.allowedHosts[i] !== 'string') {
|
|
255
|
+
return `"transport.allowedHosts[${i}]" must be a string`;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
if (transport.maxPayloadSize !== undefined) {
|
|
260
|
+
if (typeof transport.maxPayloadSize !== 'number' ||
|
|
261
|
+
!Number.isInteger(transport.maxPayloadSize) ||
|
|
262
|
+
transport.maxPayloadSize <= 0) {
|
|
263
|
+
return '"transport.maxPayloadSize" must be a positive integer (bytes)';
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
return null;
|
|
267
|
+
}
|
|
268
|
+
/** Validates the logging config block. Returns an error string if invalid, null if valid. */
|
|
269
|
+
static validateLogging(logging) {
|
|
270
|
+
if (typeof logging !== 'object' || logging === null) {
|
|
271
|
+
return '"logging" must be an object';
|
|
272
|
+
}
|
|
273
|
+
if (logging.level !== undefined && !['error', 'info', 'debug'].includes(logging.level)) {
|
|
274
|
+
return '"logging.level" must be "error", "info", or "debug"';
|
|
275
|
+
}
|
|
276
|
+
if (logging.format !== undefined && !['plain', 'json'].includes(logging.format)) {
|
|
277
|
+
return '"logging.format" must be "plain" or "json"';
|
|
278
|
+
}
|
|
279
|
+
if (logging.dumpBodies !== undefined && typeof logging.dumpBodies !== 'boolean') {
|
|
280
|
+
return '"logging.dumpBodies" must be a boolean';
|
|
281
|
+
}
|
|
282
|
+
if (logging.maxBodyLogBytes !== undefined) {
|
|
283
|
+
if (typeof logging.maxBodyLogBytes !== 'number' ||
|
|
284
|
+
!Number.isInteger(logging.maxBodyLogBytes) ||
|
|
285
|
+
logging.maxBodyLogBytes <= 0) {
|
|
286
|
+
return '"logging.maxBodyLogBytes" must be a positive integer (bytes)';
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
if (logging.redactKeys !== undefined) {
|
|
290
|
+
if (!Array.isArray(logging.redactKeys)) {
|
|
291
|
+
return '"logging.redactKeys" must be an array of strings';
|
|
292
|
+
}
|
|
293
|
+
for (let i = 0; i < logging.redactKeys.length; i++) {
|
|
294
|
+
if (typeof logging.redactKeys[i] !== 'string') {
|
|
295
|
+
return `"logging.redactKeys[${i}]" must be a string`;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
return null;
|
|
300
|
+
}
|
|
184
301
|
static expandEnvVars(value) {
|
|
185
302
|
return value.replace(/\$\{([^}]+)\}/g, (match, varName) => {
|
|
186
303
|
return process.env[varName] || match;
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { TransportConfig } from './types';
|
|
2
|
+
import { ServerManager } from './server-manager';
|
|
3
|
+
export declare const DEFAULT_MAX_PAYLOAD_SIZE: number;
|
|
4
|
+
/**
|
|
5
|
+
* Start an HTTP server exposing the MCP Streamable HTTP transport.
|
|
6
|
+
*
|
|
7
|
+
* Design:
|
|
8
|
+
* - Each request creates a fresh StreamableHTTPServerTransport (stateless)
|
|
9
|
+
* - Each transport gets a fresh Server instance sharing the same ServerManager
|
|
10
|
+
* - This allows concurrent multi-client access without session conflicts
|
|
11
|
+
* - Node.js http.createServer handles concurrency via the event loop
|
|
12
|
+
*
|
|
13
|
+
* Returns a shutdown function that the caller should invoke on process exit.
|
|
14
|
+
* Signal handling is intentionally NOT registered here — the caller (cli.ts)
|
|
15
|
+
* owns process lifecycle and calls shutdown() from its own signal handlers.
|
|
16
|
+
*/
|
|
17
|
+
export declare function startHttpServer(serverManager: ServerManager, config: TransportConfig): Promise<{
|
|
18
|
+
shutdown: () => void;
|
|
19
|
+
}>;
|
|
20
|
+
//# sourceMappingURL=http-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOjD,eAAO,MAAM,wBAAwB,QAAkB,CAAC;AAqKxD;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CA8YnC"}
|