@sonoma-security/mcp-gateway 0.1.13 → 0.1.15

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/dist/config.js CHANGED
@@ -42,12 +42,16 @@ function validateConfigPath(configPath) {
42
42
  const allowedPrefixes = [
43
43
  home,
44
44
  "/usr/local/etc/sonoma",
45
+ // System-level managed MCP paths (enterprise MDM)
46
+ "/Library/Application Support/ClaudeCode",
47
+ "/etc/claude-code",
45
48
  process.cwd(),
46
49
  tempDir,
47
50
  resolvedTempDir,
48
51
  // Windows paths
49
52
  process.env.APPDATA || "",
50
53
  process.env.LOCALAPPDATA || "",
54
+ process.env.PROGRAMFILES || "",
51
55
  ].filter(Boolean);
52
56
  const isAllowed = allowedPrefixes.some((prefix) => realPath.startsWith(prefix) || realPath === prefix);
53
57
  if (!isAllowed) {
@@ -147,35 +151,77 @@ export function loadFromParentConfig(configPath, gatewayName = "sonoma-local") {
147
151
  break;
148
152
  }
149
153
  }
150
- if (!gatewayEntry?.servers) {
151
- // Fall back to loading all servers except our own gateway
152
- const servers = [];
153
- for (const [name, server] of Object.entries(raw.mcpServers)) {
154
+ const servers = [];
155
+ const serverNames = new Set();
156
+ const proxyUrlPattern = /^http:\/\/localhost:\d+\/proxy\/[^/]+\/mcp$/;
157
+ // 1. Nested gateway entry (legacy `sonoma-local.servers` layout)
158
+ if (gatewayEntry?.servers) {
159
+ for (const [name, server] of Object.entries(gatewayEntry.servers)) {
154
160
  if (server.disabled)
155
161
  continue;
156
162
  if (!server.command && !server.url)
157
163
  continue;
158
- // Skip gateway entries (they have --mcp-json-path in args)
159
- const isGateway = server.args?.some(arg => arg.includes("mcp-gateway") || arg.includes("--mcp-json-path"));
160
- if (!isGateway) {
164
+ servers.push({
165
+ name,
166
+ command: server.command,
167
+ args: server.args,
168
+ env: server.env,
169
+ url: server.url,
170
+ headers: server.headers,
171
+ oauth: server.oauth,
172
+ });
173
+ serverNames.add(name);
174
+ }
175
+ }
176
+ // 2. _sonomaBackup: the enforcement script stores the original upstream config
177
+ // here when it rewrites a top-level entry to point at the proxy.
178
+ const sonomaBackup = raw._sonomaBackup;
179
+ if (sonomaBackup) {
180
+ for (const [name, backup] of Object.entries(sonomaBackup)) {
181
+ if (serverNames.has(name))
182
+ continue;
183
+ if (!backup._sonomaGatewayed && backup._action !== "gateway")
184
+ continue;
185
+ if (!backup.url && !backup.command)
186
+ continue;
187
+ servers.push({
188
+ name,
189
+ command: backup.command,
190
+ args: backup.args,
191
+ env: backup.env,
192
+ url: backup.url,
193
+ headers: backup.headers,
194
+ oauth: backup.oauth,
195
+ });
196
+ serverNames.add(name);
197
+ }
198
+ }
199
+ // 3. Top-level mcpServers. Proxy-rewritten entries are resolved via
200
+ // _sonomaBackup; anything else is a plain stdio/HTTP server.
201
+ for (const [name, server] of Object.entries(raw.mcpServers)) {
202
+ if (serverNames.has(name))
203
+ continue;
204
+ if (server.disabled)
205
+ continue;
206
+ const isGateway = server.args?.some(arg => arg.includes("mcp-gateway") || arg.includes("--mcp-json-path"));
207
+ if (isGateway)
208
+ continue;
209
+ if (server.url && proxyUrlPattern.test(server.url)) {
210
+ const backup = sonomaBackup?.[name];
211
+ if (backup?.url || backup?.command) {
161
212
  servers.push({
162
213
  name,
163
- command: server.command,
164
- args: server.args,
165
- env: server.env,
166
- url: server.url,
167
- headers: server.headers,
168
- oauth: server.oauth,
214
+ command: backup.command,
215
+ args: backup.args,
216
+ env: backup.env,
217
+ url: backup.url,
218
+ headers: backup.headers,
219
+ oauth: backup.oauth,
169
220
  });
221
+ serverNames.add(name);
170
222
  }
171
- }
172
- return { servers };
173
- }
174
- // Extract nested servers from gateway entry
175
- const servers = [];
176
- for (const [name, server] of Object.entries(gatewayEntry.servers)) {
177
- if (server.disabled)
178
223
  continue;
224
+ }
179
225
  if (!server.command && !server.url)
180
226
  continue;
181
227
  servers.push({
@@ -187,6 +233,7 @@ export function loadFromParentConfig(configPath, gatewayName = "sonoma-local") {
187
233
  headers: server.headers,
188
234
  oauth: server.oauth,
189
235
  });
236
+ serverNames.add(name);
190
237
  }
191
238
  return { servers };
192
239
  }
@@ -242,6 +289,28 @@ export function getMcpConfigPaths() {
242
289
  name: "Windsurf",
243
290
  description: "Windsurf editor MCP config",
244
291
  });
292
+ // Claude Code managed MCP (enterprise, deployed via MDM)
293
+ if (platform === "darwin") {
294
+ paths.push({
295
+ path: "/Library/Application Support/ClaudeCode/managed-mcp.json",
296
+ name: "Claude Code Managed",
297
+ description: "Enterprise managed MCP servers (macOS, deployed via MDM)",
298
+ });
299
+ }
300
+ else if (platform === "linux") {
301
+ paths.push({
302
+ path: "/etc/claude-code/managed-mcp.json",
303
+ name: "Claude Code Managed",
304
+ description: "Enterprise managed MCP servers (Linux)",
305
+ });
306
+ }
307
+ else if (platform === "win32") {
308
+ paths.push({
309
+ path: join(process.env.PROGRAMFILES || "C:\\Program Files", "ClaudeCode", "managed-mcp.json"),
310
+ name: "Claude Code Managed",
311
+ description: "Enterprise managed MCP servers (Windows)",
312
+ });
313
+ }
245
314
  return paths;
246
315
  }
247
316
  /**
@@ -312,6 +381,22 @@ export function autoDetectConfig(debug = false) {
312
381
  return { path, gatewayName: entryName };
313
382
  }
314
383
  }
384
+ // Daemon-managed layout: no sonoma-local stub, upstreams live in
385
+ // _sonomaBackup (with _sonomaGatewayed markers) or as top-level proxy
386
+ // URLs pointing at localhost:<port>/proxy/*/mcp. loadFromParentConfig
387
+ // knows how to resolve both.
388
+ const backup = config._sonomaBackup;
389
+ if (backup && typeof backup === "object") {
390
+ const gatewayedNames = Object.entries(backup)
391
+ .filter(([, v]) => v?._sonomaGatewayed || v?._action === "gateway")
392
+ .map(([k]) => k);
393
+ if (gatewayedNames.length > 0) {
394
+ if (debug) {
395
+ console.error(`[config] Found ${name} config with _sonomaBackup upstreams (${gatewayedNames.length}): ${path}`);
396
+ }
397
+ return { path, gatewayName: "sonoma-local" };
398
+ }
399
+ }
315
400
  }
316
401
  catch {
317
402
  if (debug)
@@ -363,7 +448,7 @@ export function discoverClaudeCodePlugins(debug = false) {
363
448
  try {
364
449
  const content = readFileSync(mcpJsonPath, "utf-8");
365
450
  const mcpConfig = JSON.parse(content);
366
- // Check for _sonomaBackup: enforce.sh rewrites plugin URLs to the
451
+ // Check for _sonomaBackup: agent.sh rewrites plugin URLs to the
367
452
  // gateway's HTTP proxy and stores the original config in _sonomaBackup.
368
453
  // The gateway needs the ORIGINAL upstream URL (not the proxy URL) to
369
454
  // connect to the actual server.
@@ -379,10 +464,11 @@ export function discoverClaudeCodePlugins(debug = false) {
379
464
  continue;
380
465
  if (!server.command && !server.url)
381
466
  continue;
382
- // If enforce.sh rewrote this entry to a proxy URL, use the original
467
+ // If agent.sh rewrote this entry to a proxy URL, use the original
383
468
  // config from _sonomaBackup so the gateway connects to the real upstream.
384
469
  const backup = sonomaBackup?.[name];
385
- const source = backup?._sonomaGatewayed ? backup : server;
470
+ const backupIsGatewayed = backup?._sonomaGatewayed || backup?._action === "gateway";
471
+ const source = backupIsGatewayed ? backup : server;
386
472
  servers.push({
387
473
  name,
388
474
  command: source.command,
@@ -393,7 +479,7 @@ export function discoverClaudeCodePlugins(debug = false) {
393
479
  oauth: source.oauth,
394
480
  });
395
481
  if (debug) {
396
- const label = backup?._sonomaGatewayed ? "backup" : "direct";
482
+ const label = backupIsGatewayed ? "backup" : "direct";
397
483
  console.error(`[config] Plugin ${pluginId}: found server "${name}" (${source.url || source.command}) [${label}]`);
398
484
  }
399
485
  }
@@ -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":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAG5C;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,yCAAyC;IACzC,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAE7C,oBAAoB;IACpB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,wBAAwB,UAAU,2CAA2C,CAC9E,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,qDAAqD;IACrD,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;YAEvB,sBAAsB;YACtB,0BAA0B;YAC1B,wCAAwC;YACxC,8BAA8B;YAC9B,4DAA4D;YAC5D,gFAAgF;YAChF,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;YACzB,IAAI,eAAe,GAAG,OAAO,CAAC;YAC9B,IAAI,CAAC;gBACH,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,8CAA8C;YAChD,CAAC;YACD,MAAM,eAAe,GAAG;gBACtB,IAAI;gBACJ,uBAAuB;gBACvB,kDAAkD;gBAClD,yCAAyC;gBACzC,kBAAkB;gBAClB,OAAO,CAAC,GAAG,EAAE;gBACb,OAAO;gBACP,eAAe;gBACf,gBAAgB;gBAChB,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE;gBACzB,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE;gBAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE;aAC/B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAElB,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CACpC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,QAAQ,KAAK,MAAM,CAC/D,CAAC;YAEF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb,wCAAwC,UAAU,IAAI;oBACpD,uEAAuE,CAC1E,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,uFAAuF;YACvF,IAAK,CAA2B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnD,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAmBD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,UAAkB;IAC3C,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAE/B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,4DAA4D;IAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAwC,CAAC;IAE5E,iDAAiD;IACjD,IAAI,YAAY,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QAC1C,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,2CAA2C;IAC3C,OAAO,GAAoB,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,MAA2B;IACtD,MAAM,OAAO,GAAsB,EAAE,CAAC;IAEtC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/D,IAAI,MAAM,CAAC,QAAQ;gBAAE,SAAS;YAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG;gBAAE,SAAS;YAC7C,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI;gBACJ,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAkB,EAAE,WAAW,GAAG,cAAc;IACnF,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAEzD,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAEjC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACpD,4DAA4D;IAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAwB,CAAC;IAE5D,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,oFAAoF;IACpF,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,aAAa,CAAC,CAAC;IACtH,IAAI,YAAwC,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;YACnB,YAAY,GAAG,KAAK,CAAC;YACrB,MAAM;QACR,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,eAAe,GAAG,6CAA6C,CAAC;IAEtE,iEAAiE;IACjE,IAAI,YAAY,EAAE,OAAO,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAClE,IAAI,MAAM,CAAC,QAAQ;gBAAE,SAAS;YAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG;gBAAE,SAAS;YAC7C,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI;gBACJ,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAC;YACH,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,oEAAoE;IACpE,MAAM,YAAY,GAAI,GAA+B,CAAC,aAC4G,CAAC;IAEnK,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1D,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YACpC,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;gBAAE,SAAS;YACvE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,SAAS;YAC7C,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI;gBACJ,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAC;YACH,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,gEAAgE;IAChE,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACpC,IAAI,MAAM,CAAC,QAAQ;YAAE,SAAS;QAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CACxC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAC/D,CAAC;QACF,IAAI,SAAS;YAAE,SAAS;QAExB,IAAI,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI;oBACJ,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB,CAAC,CAAC;gBACH,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG;YAAE,SAAS;QAC7C,OAAO,CAAC,IAAI,CAAC;YACX,IAAI;YACJ,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;QACH,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC;AAqBD,MAAM,UAAU,iBAAiB;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,KAAK,GAAwB,EAAE,CAAC;IAEtC,kDAAkD;IAClD,uDAAuD;IACvD,KAAK,CAAC,IAAI,CAAC;QACT,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC;QAChC,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,4CAA4C;KAC1D,CAAC,CAAC;IAEH,6CAA6C;IAC7C,KAAK,CAAC,IAAI,CAAC;QACT,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;QACvC,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,0BAA0B;KACxC,CAAC,CAAC;IAEH,4CAA4C;IAC5C,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,EAAE,4BAA4B,CAAC;YAC1F,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,4BAA4B;SAC1C,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,QAAQ,EAAE,4BAA4B,CAAC;YAC7E,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,8BAA8B;SAC5C,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,QAAQ;QACR,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,4BAA4B,CAAC;YACnE,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,4BAA4B;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,UAAU;IACV,KAAK,CAAC,IAAI,CAAC;QACT,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;QACvC,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,mCAAmC;KACjD,CAAC,CAAC;IAEH,8BAA8B;IAC9B,KAAK,CAAC,IAAI,CAAC;QACT,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC;QAC3D,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,4BAA4B;KAC1C,CAAC,CAAC;IAEH,yDAAyD;IACzD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,0DAA0D;YAChE,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,0DAA0D;SACxE,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,mCAAmC;YACzC,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,wCAAwC;SACtD,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,IAAI,CACR,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,mBAAmB,EAC/C,YAAY,EACZ,kBAAkB,CACnB;YACD,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,0CAA0C;SACxD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAElC,IAAI,UAAkB,CAAC;IACvB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,UAAU,GAAG,IAAI,CACf,OAAO,EAAE,EACT,SAAS,EACT,qBAAqB,EACrB,QAAQ,EACR,4BAA4B,CAC7B,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,UAAU,GAAG,IAAI,CACf,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,EACzB,QAAQ,EACR,4BAA4B,CAC7B,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,QAAQ;QACR,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC;IAClF,CAAC;IAED,OAAO,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAK,GAAG,KAAK;IAC5C,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IACxC,MAAM,eAAe,GAAG;QACtB,cAAc;QACd,QAAQ;QACR,gBAAgB;QAChB,sBAAsB;QACtB,0BAA0B;QAC1B,aAAa;QACb,8BAA8B;KAC/B,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,KAAK;gBAAE,OAAO,CAAC,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;YACxD,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,4DAA4D;YAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAwB,CAAC;YAE/D,IAAI,CAAC,MAAM,CAAC,UAAU;gBAAE,SAAS;YAEjC,kGAAkG;YAClG,KAAK,MAAM,WAAW,IAAI,eAAe,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBAC7C,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;oBACnB,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,CAAC,KAAK,CAAC,kBAAkB,IAAI,yBAAyB,WAAW,MAAM,IAAI,EAAE,CAAC,CAAC;oBACxF,CAAC;oBACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,mEAAmE;YACnE,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnE,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CACtC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,8BAA8B,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAC5F,CAAC;gBACF,IAAI,eAAe,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBACrC,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,CAAC,KAAK,CAAC,kBAAkB,IAAI,yBAAyB,SAAS,MAAM,IAAI,EAAE,CAAC,CAAC;oBACtF,CAAC;oBACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;gBAC1C,CAAC;YACH,CAAC;YAED,iEAAiE;YACjE,sEAAsE;YACtE,sEAAsE;YACtE,6BAA6B;YAC7B,MAAM,MAAM,GAAI,MAAkC,CAAC,aAAa,CAAC;YACjE,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CACnC,MAA2E,CAC5E;qBACE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,gBAAgB,IAAI,CAAC,EAAE,OAAO,KAAK,SAAS,CAAC;qBAClE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,CAAC,KAAK,CAAC,kBAAkB,IAAI,yCAAyC,cAAc,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;oBAClH,CAAC;oBACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,KAAK;gBAAE,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAK,GAAG,KAAK;IACrD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,wBAAwB,CAAC,CAAC;IAEpF,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,IAAI,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACrE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,WAEH,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACnD,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,4BAA4B,WAAW,EAAE,CAAC,CAAC;QACpE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAEpC,MAAM,OAAO,GAAsB,EAAE,CAAC;IAEtC,KAAK,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5E,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC,YAAY,CAAC,WAAW;gBAAE,SAAS;YAExC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7B,IAAI,KAAK;oBAAE,OAAO,CAAC,KAAK,CAAC,mBAAmB,QAAQ,qBAAqB,WAAW,EAAE,CAAC,CAAC;gBACxF,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACnD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;gBAEjE,gEAAgE;gBAChE,wEAAwE;gBACxE,qEAAqE;gBACrE,gCAAgC;gBAChC,MAAM,YAAY,GAAG,SAAS,CAAC,aAAiL,CAAC;gBAEjN,uDAAuD;gBACvD,MAAM,UAAU,GAAG,SAAS,CAAC,UAAwD,CAAC;gBACtF,MAAM,OAAO,GAAG,UAAU;oBACxB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;oBAC5B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAC9B,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,YAAY,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,CACjG,CAAC;gBAEN,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;oBAClC,MAAM,MAAM,GAAG,GAA8F,CAAC;oBAC9G,IAAI,MAAM,CAAC,QAAQ;wBAAE,SAAS;oBAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG;wBAAE,SAAS;oBAE7C,kEAAkE;oBAClE,0EAA0E;oBAC1E,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;oBACpC,MAAM,iBAAiB,GAAG,MAAM,EAAE,gBAAgB,IAAI,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC;oBACpF,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;oBAEnD,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI;wBACJ,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,GAAG,EAAE,MAAM,CAAC,GAAG;wBACf,GAAG,EAAE,MAAM,CAAC,GAAG;wBACf,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;qBACpB,CAAC,CAAC;oBAEH,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;wBACtD,OAAO,CAAC,KAAK,CAAC,mBAAmB,QAAQ,mBAAmB,IAAI,MAAM,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,OAAO,MAAM,KAAK,GAAG,CAAC,CAAC;oBACpH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,KAAK;oBAAE,OAAO,CAAC,KAAK,CAAC,mBAAmB,QAAQ,qBAAqB,WAAW,EAAE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,IAAI;KACZ,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAiBH,OAAO,KAAK,EACV,aAAa,EAEb,aAAa,EACd,MAAM,YAAY,CAAC;AA4BpB,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,qBAAqB,CAA+C;IAC5E,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,SAAS,CAAgC;IAIjD,OAAO,CAAC,WAAW,CAA6E;IAChG,OAAO,CAAC,wBAAwB,CAA+C;IAK/E,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,qBAAqB,CAA6B;gBAE9C,MAAM,EAAE,aAAa;IA8BjC,OAAO,CAAC,GAAG;IAOX;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,aAAa;IAsCrB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;OAEG;IACH,OAAO,CAAC,aAAa;IA4QrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAyB5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;YACW,kBAAkB;IAehC;;;OAGG;YACW,eAAe;IAiK7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8CzB;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;YACW,aAAa;IAW3B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiJ5B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IA0B7B;;;;OAIG;YACW,cAAc;IAgD5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA+C3B;;OAEG;IACH,SAAS,IAAI,aAAa,EAAE;IAI5B;;OAEG;IACH,WAAW,IAAI,IAAI;CAGpB"}
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAiBH,OAAO,KAAK,EACV,aAAa,EAEb,aAAa,EACd,MAAM,YAAY,CAAC;AA4BpB,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,qBAAqB,CAA+C;IAC5E,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,SAAS,CAAgC;IAIjD,OAAO,CAAC,WAAW,CAA6E;IAChG,OAAO,CAAC,wBAAwB,CAA+C;IAK/E,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,qBAAqB,CAA6B;gBAE9C,MAAM,EAAE,aAAa;IA8BjC,OAAO,CAAC,GAAG;IAOX;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,aAAa;IAsCrB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;OAEG;IACH,OAAO,CAAC,aAAa;IA4QrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA8B5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;YACW,kBAAkB;IAehC;;;OAGG;YACW,eAAe;IAwK7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8CzB;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;YACW,aAAa;IAW3B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiJ5B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IA0B7B;;;;OAIG;YACW,cAAc;IA8J5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA+C3B;;OAEG;IACH,SAAS,IAAI,aAAa,EAAE;IAI5B;;OAEG;IACH,WAAW,IAAI,IAAI;CAGpB"}
package/dist/gateway.js CHANGED
@@ -388,11 +388,15 @@ export class McpGateway {
388
388
  }
389
389
  Object.assign(env, config.env);
390
390
  }
391
+ // Use the configured cwd, or fall back to the user's home directory.
392
+ // Spawning from the workspace directory can cause npm override conflicts
393
+ // when npx installs packages (workspace overrides may be incompatible).
394
+ const cwd = config.cwd ?? process.env.HOME ?? "/tmp";
391
395
  return new StdioClientTransport({
392
396
  command: config.command,
393
397
  args: config.args,
394
398
  env,
395
- cwd: config.cwd,
399
+ cwd,
396
400
  });
397
401
  }
398
402
  /**
@@ -422,31 +426,37 @@ export class McpGateway {
422
426
  const label = config.url ?? config.command ?? config.name;
423
427
  this.log(`Connecting to upstream: ${config.name} (${label})`);
424
428
  const serverName = config.name;
429
+ // Stdio servers: disable autoRefresh to prevent a cascade where
430
+ // sendToolListChanged() errors on the downstream transport cause
431
+ // the upstream stdio process to disconnect repeatedly.
432
+ const isStdio = !config.url && !!config.command;
425
433
  const makeClient = () => new Client({
426
434
  name: `gateway-client-${serverName}`,
427
435
  version: "0.1.0",
428
436
  }, {
429
437
  capabilities: {},
430
- listChanged: {
431
- tools: {
432
- autoRefresh: true,
433
- debounceMs: 200,
434
- onChanged: (error, tools) => {
435
- if (error) {
436
- this.log(`Failed to refresh tools from ${serverName}: ${error.message}`);
437
- return;
438
- }
439
- const upstream = this.upstreams.get(serverName);
440
- if (upstream) {
441
- upstream.tools = tools || [];
442
- this.log(`Tools updated from ${serverName}: ${upstream.tools.length} tools`);
443
- }
444
- this.server.sendToolListChanged().catch((err) => {
445
- this.log(`Failed to notify client of tool list change: ${err}`);
446
- });
438
+ ...(!isStdio ? {
439
+ listChanged: {
440
+ tools: {
441
+ autoRefresh: true,
442
+ debounceMs: 200,
443
+ onChanged: (error, tools) => {
444
+ if (error) {
445
+ this.log(`Failed to refresh tools from ${serverName}: ${error.message}`);
446
+ return;
447
+ }
448
+ const upstream = this.upstreams.get(serverName);
449
+ if (upstream) {
450
+ upstream.tools = tools || [];
451
+ this.log(`Tools updated from ${serverName}: ${upstream.tools.length} tools`);
452
+ }
453
+ this.server.sendToolListChanged().catch((err) => {
454
+ this.log(`Failed to notify client of tool list change: ${err}`);
455
+ });
456
+ },
447
457
  },
448
458
  },
449
- },
459
+ } : {}),
450
460
  });
451
461
  let client;
452
462
  let transport;
@@ -791,20 +801,127 @@ export class McpGateway {
791
801
  * to use tools through the gateway while keeping skills active.
792
802
  */
793
803
  async startHttpProxy(port) {
804
+ // Resolve a proxy server name to the actual upstream name.
805
+ // Handles mismatches like "aikido" -> "aikido-mcp" (plugin names may differ
806
+ // from the names the enforcement script writes into .claude.json).
807
+ const resolveServerName = (serverName) => {
808
+ // Exact match first
809
+ if (this.upstreams.has(serverName))
810
+ return serverName;
811
+ if (this.config.servers.some((s) => s.name === serverName))
812
+ return serverName;
813
+ // Try common variations: "foo" -> "foo-mcp", "foo-mcp" -> "foo"
814
+ const withSuffix = `${serverName}-mcp`;
815
+ if (this.upstreams.has(withSuffix))
816
+ return withSuffix;
817
+ if (serverName.endsWith("-mcp")) {
818
+ const withoutSuffix = serverName.slice(0, -4);
819
+ if (this.upstreams.has(withoutSuffix))
820
+ return withoutSuffix;
821
+ }
822
+ // Check config for the same variations
823
+ const configMatch = this.config.servers.find((s) => s.name === withSuffix || (serverName.endsWith("-mcp") && s.name === serverName.slice(0, -4)));
824
+ if (configMatch)
825
+ return configMatch.name;
826
+ return serverName;
827
+ };
794
828
  const callbacks = {
795
- getUpstreams: () => {
796
- const result = new Map();
797
- for (const [name, upstream] of this.upstreams) {
798
- result.set(name, {
799
- name,
800
- client: upstream.client,
801
- connected: upstream.connected,
802
- });
829
+ getUpstreamUrl: (serverName) => {
830
+ const resolved = resolveServerName(serverName);
831
+ // Check upstream connections first (may have resolved URL)
832
+ const upstream = this.upstreams.get(resolved);
833
+ if (upstream?.config.url)
834
+ return upstream.config.url;
835
+ // Check pending auth servers
836
+ const pending = this.pendingAuth.get(resolved);
837
+ if (pending?.config.url)
838
+ return pending.config.url;
839
+ // Fall back to the config (available from startup, before connections)
840
+ const serverConfig = this.config.servers.find((s) => s.name === resolved);
841
+ return serverConfig?.url ?? undefined;
842
+ },
843
+ hasStdioUpstream: (serverName) => {
844
+ // Only true for command-based (stdio) servers with no HTTP endpoint.
845
+ // HTTP upstreams are forwarded transparently so Claude Code can run
846
+ // its own OAuth directly against the upstream and users see the
847
+ // upstream's real login page (Sentry, BetterStack, etc.) instead of
848
+ // a synthesized gateway page.
849
+ const resolved = resolveServerName(serverName);
850
+ const upstream = this.upstreams.get(resolved);
851
+ if (upstream) {
852
+ return !!upstream.config.command && !upstream.config.url;
853
+ }
854
+ const config = this.config.servers.find((s) => s.name === resolved);
855
+ return !!config?.command && !config.url;
856
+ },
857
+ forwardJsonRpc: async (serverName, method, params) => {
858
+ const resolved = resolveServerName(serverName);
859
+ let upstream = this.upstreams.get(resolved);
860
+ // If the upstream is temporarily disconnected (reconnect cycle), wait briefly
861
+ if (upstream && !upstream.connected) {
862
+ for (let i = 0; i < 10; i++) {
863
+ await new Promise((r) => setTimeout(r, 500));
864
+ upstream = this.upstreams.get(resolved);
865
+ if (upstream?.connected)
866
+ break;
867
+ }
868
+ }
869
+ if (!upstream?.connected) {
870
+ return { error: { code: -32603, message: `Server ${resolved} is not connected` } };
871
+ }
872
+ const client = upstream.client;
873
+ const p = params;
874
+ try {
875
+ switch (method) {
876
+ case "initialize":
877
+ // Return the server's capabilities directly (already initialized)
878
+ return {
879
+ result: {
880
+ protocolVersion: "2025-03-26",
881
+ capabilities: { tools: { listChanged: true } },
882
+ serverInfo: { name: serverName, version: "1.0.0" },
883
+ },
884
+ };
885
+ case "notifications/initialized":
886
+ // No-op: the upstream is already initialized
887
+ return { result: {} };
888
+ case "ping":
889
+ await client.ping();
890
+ return { result: {} };
891
+ case "tools/list":
892
+ return { result: await client.listTools(p) };
893
+ case "tools/call": {
894
+ const toolParams = p;
895
+ const result = await client.callTool(toolParams);
896
+ return { result };
897
+ }
898
+ case "resources/list":
899
+ return { result: await client.listResources(p) };
900
+ case "resources/read": {
901
+ const readParams = p;
902
+ return { result: await client.readResource(readParams) };
903
+ }
904
+ case "prompts/list":
905
+ return { result: await client.listPrompts(p) };
906
+ case "prompts/get": {
907
+ const promptParams = p;
908
+ return { result: await client.getPrompt(promptParams) };
909
+ }
910
+ case "completion/complete": {
911
+ const completeParams = p;
912
+ return { result: await client.complete(completeParams) };
913
+ }
914
+ default:
915
+ return { error: { code: -32601, message: `Method not supported: ${method}` } };
916
+ }
917
+ }
918
+ catch (error) {
919
+ const message = error instanceof Error ? error.message : String(error);
920
+ return { error: { code: -32603, message } };
803
921
  }
804
- return result;
805
922
  },
806
923
  isToolBlocked: (serverName, toolName) => {
807
- return this.isToolBlocked(serverName, toolName);
924
+ return this.isToolBlocked(resolveServerName(serverName), toolName);
808
925
  },
809
926
  recordToolCall: (event) => {
810
927
  this.recordEvent({
@@ -812,25 +929,11 @@ export class McpGateway {
812
929
  timestamp: new Date().toISOString(),
813
930
  });
814
931
  },
815
- getPendingAuthServers: () => {
816
- return new Set(this.pendingAuth.keys());
817
- },
818
- getUpstreamUrl: (serverName) => {
819
- const upstream = this.upstreams.get(serverName);
820
- if (upstream?.config.url)
821
- return upstream.config.url;
822
- const pending = this.pendingAuth.get(serverName);
823
- if (pending?.config.url)
824
- return pending.config.url;
825
- // Fall back to the config (available from startup, before connections)
826
- const serverConfig = this.config.servers.find((s) => s.name === serverName);
827
- return serverConfig?.url ?? undefined;
828
- },
829
932
  log: (message) => {
830
933
  this.log(message);
831
934
  },
832
935
  };
833
- this.httpProxy = new HttpProxyServer(port, callbacks);
936
+ this.httpProxy = new HttpProxyServer(port, callbacks, this.config.httpProxyServer);
834
937
  await this.httpProxy.start();
835
938
  // Log available proxy URLs
836
939
  for (const [name] of this.upstreams) {