lazy-mcp 2.2.6 → 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 +287 -29
- 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 +119 -2
- 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/oauth-manager.d.ts +6 -1
- package/dist/oauth-manager.d.ts.map +1 -1
- package/dist/oauth-manager.js +121 -5
- package/dist/oauth-manager.js.map +1 -1
- package/dist/pid-lock.d.ts +38 -0
- package/dist/pid-lock.d.ts.map +1 -0
- package/dist/pid-lock.js +149 -0
- package/dist/pid-lock.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 +61 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -41,7 +41,191 @@ const server_1 = require("./server");
|
|
|
41
41
|
const config_1 = require("./config");
|
|
42
42
|
const server_manager_1 = require("./server-manager");
|
|
43
43
|
const version_1 = require("./version");
|
|
44
|
+
const oauth_manager_1 = require("./oauth-manager");
|
|
45
|
+
const logger_1 = require("./logger");
|
|
44
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
|
+
}
|
|
45
229
|
async function main() {
|
|
46
230
|
const args = process.argv.slice(2);
|
|
47
231
|
// Handle version flags: only when the sole argument
|
|
@@ -49,17 +233,7 @@ async function main() {
|
|
|
49
233
|
console.log(version_1.LAZY_MCP_VERSION);
|
|
50
234
|
process.exit(0);
|
|
51
235
|
}
|
|
52
|
-
|
|
53
|
-
// Reject unexpected positional args that may be leftover single-server invocations.
|
|
54
|
-
const configIndex = args.indexOf('--config');
|
|
55
|
-
const knownArgs = new Set();
|
|
56
|
-
if (configIndex !== -1) {
|
|
57
|
-
knownArgs.add(configIndex);
|
|
58
|
-
if (configIndex + 1 < args.length) {
|
|
59
|
-
knownArgs.add(configIndex + 1);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
const unexpected = args.filter((_, i) => !knownArgs.has(i));
|
|
236
|
+
const { flags, unexpected } = parseArgs(args);
|
|
63
237
|
if (unexpected.length > 0) {
|
|
64
238
|
console.error(`Error: Unexpected arguments: ${unexpected.join(' ')}`);
|
|
65
239
|
console.error('');
|
|
@@ -70,15 +244,28 @@ async function main() {
|
|
|
70
244
|
console.error('See https://gitlab.com/gitlab-org/ai/lazy-mcp#usage');
|
|
71
245
|
process.exit(1);
|
|
72
246
|
}
|
|
73
|
-
//
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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
|
+
}
|
|
77
264
|
}
|
|
78
265
|
// Resolve config path: --config flag > LAZY_MCP_CONFIG env > default location
|
|
79
266
|
let configPath;
|
|
80
|
-
if (
|
|
81
|
-
configPath =
|
|
267
|
+
if (flags.has('--config')) {
|
|
268
|
+
configPath = flags.get('--config');
|
|
82
269
|
}
|
|
83
270
|
else if (process.env.LAZY_MCP_CONFIG) {
|
|
84
271
|
configPath = process.env.LAZY_MCP_CONFIG;
|
|
@@ -98,36 +285,83 @@ async function main() {
|
|
|
98
285
|
}
|
|
99
286
|
try {
|
|
100
287
|
const config = config_1.ConfigLoader.load(configPath);
|
|
101
|
-
|
|
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);
|
|
102
293
|
const lazyServer = new server_1.LazyMCPServer(serverManager);
|
|
294
|
+
let cleaningUp = false;
|
|
295
|
+
let httpShutdown;
|
|
103
296
|
const cleanup = async () => {
|
|
104
|
-
|
|
297
|
+
if (cleaningUp)
|
|
298
|
+
return;
|
|
299
|
+
cleaningUp = true;
|
|
300
|
+
logger.info('Shutting down...', { event: 'service_shutdown_start' });
|
|
301
|
+
httpShutdown?.();
|
|
302
|
+
(0, oauth_manager_1.releaseCallbackLock)();
|
|
105
303
|
await serverManager.closeAll();
|
|
106
304
|
process.exit(0);
|
|
107
305
|
};
|
|
108
306
|
process.on('SIGINT', cleanup);
|
|
109
307
|
process.on('SIGTERM', cleanup);
|
|
308
|
+
// Detect when the parent process closes our stdin (EOF). This happens when
|
|
309
|
+
// the MCP host (e.g. opencode) exits. The MCP SDK only listens for 'data'
|
|
310
|
+
// and 'error' on stdin, so without this handler lazy-mcp runs indefinitely
|
|
311
|
+
// as a zombie holding the OAuth callback port.
|
|
312
|
+
// stdin is already in flowing mode (the SDK calls .on('data', ...)), so
|
|
313
|
+
// the 'end' event fires reliably when the write-end of the pipe closes.
|
|
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
|
+
});
|
|
327
|
+
});
|
|
328
|
+
}
|
|
110
329
|
// SIGHUP: reload config without restarting the process
|
|
111
330
|
// Not available on Windows — guard to avoid crash
|
|
112
331
|
if (process.platform !== 'win32') {
|
|
113
332
|
let reloading = false;
|
|
114
333
|
process.on('SIGHUP', async () => {
|
|
115
334
|
if (reloading) {
|
|
116
|
-
|
|
335
|
+
logger.info('Config reload already in progress, ignoring SIGHUP', {
|
|
336
|
+
event: 'config_reload_ignored',
|
|
337
|
+
});
|
|
117
338
|
return;
|
|
118
339
|
}
|
|
119
340
|
reloading = true;
|
|
120
341
|
try {
|
|
121
|
-
|
|
342
|
+
logger.info('Received SIGHUP, reloading config...', {
|
|
343
|
+
event: 'config_reload_start',
|
|
344
|
+
});
|
|
122
345
|
const newConfig = config_1.ConfigLoader.load(configPath);
|
|
123
346
|
const result = await serverManager.reload(newConfig.servers, newConfig.cache, newConfig.healthMonitor);
|
|
347
|
+
(0, logger_1.configureLogger)(newConfig.logging);
|
|
124
348
|
const enabledCount = newConfig.servers.filter(s => s.enabled !== false).length;
|
|
125
|
-
|
|
349
|
+
logger.info(`Config reloaded successfully: ${enabledCount} servers ` +
|
|
126
350
|
`(+${result.added.length} added, -${result.removed.length} removed, ` +
|
|
127
|
-
`~${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
|
+
});
|
|
128
359
|
}
|
|
129
360
|
catch (error) {
|
|
130
|
-
|
|
361
|
+
logger.error('Config reload failed, keeping current config', {
|
|
362
|
+
event: 'config_reload_failed',
|
|
363
|
+
error,
|
|
364
|
+
});
|
|
131
365
|
}
|
|
132
366
|
finally {
|
|
133
367
|
reloading = false;
|
|
@@ -135,18 +369,42 @@ async function main() {
|
|
|
135
369
|
});
|
|
136
370
|
}
|
|
137
371
|
const enabledServers = config.servers.filter(s => s.enabled !== false);
|
|
138
|
-
|
|
139
|
-
|
|
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
|
+
});
|
|
140
380
|
// Start background health monitor (probes all servers on startup + periodically)
|
|
141
381
|
serverManager.startHealthMonitor();
|
|
142
|
-
|
|
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
|
+
}
|
|
143
393
|
}
|
|
144
394
|
catch (error) {
|
|
145
|
-
|
|
395
|
+
(0, logger_1.getLogger)().error('Error starting lazy-mcp', {
|
|
396
|
+
event: 'service_start_error',
|
|
397
|
+
error,
|
|
398
|
+
});
|
|
146
399
|
process.exit(1);
|
|
147
400
|
}
|
|
148
401
|
}
|
|
149
402
|
if (require.main === module) {
|
|
150
|
-
main().catch(
|
|
403
|
+
main().catch((error) => {
|
|
404
|
+
(0, logger_1.getLogger)().error('Unhandled CLI error', {
|
|
405
|
+
event: 'service_unhandled_error',
|
|
406
|
+
error,
|
|
407
|
+
});
|
|
408
|
+
});
|
|
151
409
|
}
|
|
152
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.
|
|
@@ -172,8 +200,8 @@ class ConfigLoader {
|
|
|
172
200
|
if (o.clientSecret !== undefined && typeof o.clientSecret !== 'string') {
|
|
173
201
|
return `${id}: oauth.clientSecret must be a string`;
|
|
174
202
|
}
|
|
175
|
-
if (o.callbackPort !== undefined && (typeof o.callbackPort !== 'number' || o.callbackPort <
|
|
176
|
-
return `${id}: oauth.callbackPort must be a valid port number (
|
|
203
|
+
if (o.callbackPort !== undefined && (typeof o.callbackPort !== 'number' || o.callbackPort < 0 || o.callbackPort > 65535)) {
|
|
204
|
+
return `${id}: oauth.callbackPort must be a valid port number (0-65535, where 0 = OS-assigned ephemeral port)`;
|
|
177
205
|
}
|
|
178
206
|
if (o.extraHeaders !== undefined && typeof o.extraHeaders !== 'object') {
|
|
179
207
|
return `${id}: oauth.extraHeaders must be an object`;
|
|
@@ -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"}
|