@1mcp/agent 0.31.0-beta1 → 0.31.0-beta3

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.
Files changed (71) hide show
  1. package/build/commands/cliSetup/setupFiles.d.ts.map +1 -1
  2. package/build/commands/cliSetup/setupFiles.js +8 -1
  3. package/build/commands/cliSetup/setupFiles.js.map +1 -1
  4. package/build/commands/mcp/add.d.ts.map +1 -1
  5. package/build/commands/mcp/add.js +21 -2
  6. package/build/commands/mcp/add.js.map +1 -1
  7. package/build/commands/mcp/index.d.ts.map +1 -1
  8. package/build/commands/mcp/index.js +5 -4
  9. package/build/commands/mcp/index.js.map +1 -1
  10. package/build/commands/mcp/list.d.ts.map +1 -1
  11. package/build/commands/mcp/list.js +52 -8
  12. package/build/commands/mcp/list.js.map +1 -1
  13. package/build/commands/mcp/status.d.ts.map +1 -1
  14. package/build/commands/mcp/status.js +59 -26
  15. package/build/commands/mcp/status.js.map +1 -1
  16. package/build/commands/serve/index.d.ts +0 -22
  17. package/build/commands/serve/index.d.ts.map +1 -1
  18. package/build/commands/serve/index.js +0 -23
  19. package/build/commands/serve/index.js.map +1 -1
  20. package/build/commands/serve/serve.d.ts +23 -23
  21. package/build/commands/serve/serve.d.ts.map +1 -1
  22. package/build/commands/serve/serve.js +67 -51
  23. package/build/commands/serve/serve.js.map +1 -1
  24. package/build/commands/shared/baseConfigUtils.d.ts +15 -1
  25. package/build/commands/shared/baseConfigUtils.d.ts.map +1 -1
  26. package/build/commands/shared/baseConfigUtils.js +146 -41
  27. package/build/commands/shared/baseConfigUtils.js.map +1 -1
  28. package/build/config/configLoader.d.ts +28 -2
  29. package/build/config/configLoader.d.ts.map +1 -1
  30. package/build/config/configLoader.js +155 -28
  31. package/build/config/configLoader.js.map +1 -1
  32. package/build/config/configManager.d.ts +2 -1
  33. package/build/config/configManager.d.ts.map +1 -1
  34. package/build/config/configManager.js +20 -4
  35. package/build/config/configManager.js.map +1 -1
  36. package/build/config/mcpConfigManager.d.ts +18 -5
  37. package/build/config/mcpConfigManager.d.ts.map +1 -1
  38. package/build/config/mcpConfigManager.js +51 -44
  39. package/build/config/mcpConfigManager.js.map +1 -1
  40. package/build/config/mcpConfigMerge.d.ts +15 -0
  41. package/build/config/mcpConfigMerge.d.ts.map +1 -0
  42. package/build/config/mcpConfigMerge.js +87 -0
  43. package/build/config/mcpConfigMerge.js.map +1 -0
  44. package/build/constants/mcp.d.ts +2 -1
  45. package/build/constants/mcp.d.ts.map +1 -1
  46. package/build/constants/mcp.js +2 -1
  47. package/build/constants/mcp.js.map +1 -1
  48. package/build/constants/paths.d.ts +5 -0
  49. package/build/constants/paths.d.ts.map +1 -1
  50. package/build/constants/paths.js +9 -1
  51. package/build/constants/paths.js.map +1 -1
  52. package/build/core/tools/handlers/serverManagementHandler.d.ts +5 -0
  53. package/build/core/tools/handlers/serverManagementHandler.d.ts.map +1 -1
  54. package/build/core/tools/internal/adapters/helpers/configTransformers.d.ts +1 -0
  55. package/build/core/tools/internal/adapters/helpers/configTransformers.d.ts.map +1 -1
  56. package/build/core/types/transport.d.ts +146 -0
  57. package/build/core/types/transport.d.ts.map +1 -1
  58. package/build/core/types/transport.js +75 -0
  59. package/build/core/types/transport.js.map +1 -1
  60. package/build/index.d.ts +2 -0
  61. package/build/index.d.ts.map +1 -1
  62. package/build/index.js +4 -3
  63. package/build/index.js.map +1 -1
  64. package/build/utils/cli/normalizedArgv.d.ts +3 -0
  65. package/build/utils/cli/normalizedArgv.d.ts.map +1 -0
  66. package/build/utils/cli/normalizedArgv.js +9 -0
  67. package/build/utils/cli/normalizedArgv.js.map +1 -0
  68. package/build/utils/validation/urlDetection.d.ts.map +1 -1
  69. package/build/utils/validation/urlDetection.js +2 -1
  70. package/build/utils/validation/urlDetection.js.map +1 -1
  71. package/package.json +5 -4
@@ -3,17 +3,32 @@ import path from 'path';
3
3
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
4
  import ConfigContext from '../../config/configContext.js';
5
5
  import { ConfigManager } from '../../config/configManager.js';
6
- import { getDefaultInstructionsTemplatePath } from '../../constants.js';
7
- import { getConfigDir } from '../../constants.js';
6
+ import { getConfigDir, getDefaultInstructionsTemplatePath, HOST, PORT } from '../../constants.js';
8
7
  import { FlagManager } from '../../core/flags/flagManager.js';
9
8
  import { formatValidationError, validateTemplateContent } from '../../core/instructions/templateValidator.js';
10
9
  import { AgentConfigManager } from '../../core/server/agentConfig.js';
11
10
  import { cleanupPidFileOnExit, registerPidFileCleanup, writePidFile } from '../../core/server/pidFileManager.js';
12
11
  import { TagQueryParser } from '../../domains/preset/parsers/tagQueryParser.js';
12
+ import { configureGlobalLogger } from '../../logger/configureGlobalLogger.js';
13
13
  import logger, { debugIf } from '../../logger/logger.js';
14
14
  import { setupServer } from '../../server.js';
15
15
  import { ExpressServer } from '../../transport/http/server.js';
16
16
  import { displayLogo } from '../../utils/ui/logo.js';
17
+ function parseCommaSeparatedList(value) {
18
+ return value ? value.split(',').map((entry) => entry.trim()) : [];
19
+ }
20
+ function parseInternalToolsList(value) {
21
+ if (!value) {
22
+ return [];
23
+ }
24
+ try {
25
+ return FlagManager.getInstance().parseToolsList(value);
26
+ }
27
+ catch (error) {
28
+ logger.error(`Failed to parse internal-tools list: ${error instanceof Error ? error.message : String(error)}`);
29
+ process.exit(1);
30
+ }
31
+ }
17
32
  /**
18
33
  * Load custom instructions template from file with validation
19
34
  * @param templatePath Path to template file (CLI option or default)
@@ -181,29 +196,40 @@ export async function serveCommand(parsedArgv) {
181
196
  // Initialize MCP config manager using resolved config path
182
197
  const configFilePath = configContext.getResolvedConfigPath();
183
198
  const mcpConfigManager = ConfigManager.getInstance(configFilePath);
199
+ // Load app-level config from config.toml (CLI args take precedence)
200
+ const appConfig = mcpConfigManager.getAppConfig();
184
201
  // Get server count for logo display
185
202
  const transportConfig = mcpConfigManager.getTransportConfig();
186
203
  const serverCount = Object.keys(transportConfig).length;
187
204
  // Handle backward compatibility for auth flag
188
- const authEnabled = parsedArgv['enable-auth'] ?? parsedArgv['auth'] ?? false;
205
+ const authEnabled = parsedArgv['enable-auth'] ?? parsedArgv['auth'] ?? appConfig.auth?.enabled ?? false;
189
206
  // Display logo with runtime information (skip for stdio or when logging to file)
190
- if (parsedArgv.transport !== 'stdio' && !parsedArgv['log-file']) {
207
+ const effectiveTransport = parsedArgv.transport ?? appConfig.transport ?? 'http';
208
+ const effectivePort = parsedArgv.port ?? appConfig.port ?? PORT;
209
+ const effectiveHost = parsedArgv.host ?? appConfig.host ?? HOST;
210
+ configureGlobalLogger({
211
+ ...parsedArgv,
212
+ 'log-level': parsedArgv['log-level'] ?? appConfig.logLevel,
213
+ 'log-file': parsedArgv['log-file'] ?? appConfig.logFile,
214
+ }, effectiveTransport);
215
+ const effectiveLogFile = parsedArgv['log-file'] ?? appConfig.logFile;
216
+ if (effectiveTransport !== 'stdio' && !effectiveLogFile) {
191
217
  displayLogo({
192
- transport: parsedArgv.transport,
193
- port: parsedArgv.port,
194
- host: parsedArgv.host,
218
+ transport: effectiveTransport,
219
+ port: effectivePort,
220
+ host: effectiveHost,
195
221
  serverCount,
196
222
  authEnabled,
197
- logLevel: parsedArgv['log-level'],
223
+ logLevel: parsedArgv['log-level'] ?? appConfig.logLevel,
198
224
  configDir: getConfigDir(parsedArgv['config-dir']),
199
225
  });
200
226
  }
201
- // Configure server settings from CLI arguments
227
+ // Configure server settings from CLI arguments (CLI args take precedence over appConfig)
202
228
  const serverConfigManager = AgentConfigManager.getInstance();
203
- const scopeValidationEnabled = parsedArgv['enable-scope-validation'] ?? authEnabled;
204
- const enhancedSecurityEnabled = parsedArgv['enable-enhanced-security'] ?? false;
229
+ const scopeValidationEnabled = parsedArgv['enable-scope-validation'] ?? appConfig.auth?.enableScopeValidation ?? true;
230
+ const enhancedSecurityEnabled = parsedArgv['enable-enhanced-security'] ?? appConfig.auth?.enableEnhancedSecurity ?? false;
205
231
  // Handle trust proxy configuration (convert 'true'/'false' strings to boolean)
206
- const trustProxyValue = parsedArgv['trust-proxy'];
232
+ const trustProxyValue = parsedArgv['trust-proxy'] ?? appConfig.auth?.trustProxy ?? 'loopback';
207
233
  const trustProxy = trustProxyValue === 'true' ? true : trustProxyValue === 'false' ? false : trustProxyValue;
208
234
  // Derive session storage path: explicit option > config-dir/sessions > global default
209
235
  let sessionStoragePath = parsedArgv['session-storage-path'];
@@ -212,74 +238,64 @@ export async function serveCommand(parsedArgv) {
212
238
  // store sessions within the config directory to maintain isolation
213
239
  sessionStoragePath = path.join(parsedArgv['config-dir'], 'sessions');
214
240
  }
241
+ const internalToolsList = parseInternalToolsList(parsedArgv['internal-tools']);
242
+ const directExpose = parseCommaSeparatedList(parsedArgv['lazy-direct-expose']);
243
+ const preloadPatterns = parseCommaSeparatedList(parsedArgv['lazy-preload']);
244
+ const preloadKeywords = parseCommaSeparatedList(parsedArgv['lazy-preload-keywords']);
245
+ const sessionTtlMinutes = parsedArgv['session-ttl'] ?? appConfig.auth?.sessionTtl ?? 1440;
215
246
  serverConfigManager.updateConfig({
216
- host: parsedArgv.host,
217
- port: parsedArgv.port,
247
+ host: effectiveHost,
248
+ port: effectivePort,
218
249
  externalUrl: parsedArgv['external-url'],
219
250
  trustProxy,
220
251
  auth: {
221
252
  enabled: authEnabled,
222
- sessionTtlMinutes: parsedArgv['session-ttl'],
253
+ sessionTtlMinutes,
223
254
  sessionStoragePath,
224
255
  oauthCodeTtlMs: 60 * 1000, // 1 minute
225
- oauthTokenTtlMs: parsedArgv['session-ttl'] * 60 * 1000, // Convert minutes to milliseconds
256
+ oauthTokenTtlMs: sessionTtlMinutes * 60 * 1000,
226
257
  },
227
258
  rateLimit: {
228
- windowMs: parsedArgv['rate-limit-window'] * 60 * 1000, // Convert minutes to milliseconds
229
- max: parsedArgv['rate-limit-max'],
259
+ windowMs: (parsedArgv['rate-limit-window'] ?? appConfig.auth?.rateLimitWindow ?? 15) * 60 * 1000,
260
+ max: parsedArgv['rate-limit-max'] ?? appConfig.auth?.rateLimitMax ?? 100,
230
261
  },
231
262
  features: {
232
263
  auth: authEnabled,
233
264
  scopeValidation: scopeValidationEnabled,
234
265
  enhancedSecurity: enhancedSecurityEnabled,
235
- configReload: parsedArgv['enable-config-reload'],
266
+ configReload: parsedArgv['enable-config-reload'] ?? appConfig.configReload?.enabled ?? true,
236
267
  envSubstitution: parsedArgv['enable-env-substitution'],
237
268
  sessionPersistence: parsedArgv['enable-session-persistence'],
238
269
  clientNotifications: parsedArgv['enable-client-notifications'],
239
270
  jsonRpcErrorLogging: parsedArgv['enable-jsonrpc-error-logging'],
240
271
  // Internal tool configuration from CLI flags
241
272
  internalTools: parsedArgv['enable-internal-tools'],
242
- internalToolsList: parsedArgv['internal-tools']
243
- ? (() => {
244
- try {
245
- const flagManager = FlagManager.getInstance();
246
- return flagManager.parseToolsList(parsedArgv['internal-tools']);
247
- }
248
- catch (error) {
249
- logger.error(`Failed to parse internal-tools list: ${error instanceof Error ? error.message : String(error)}`);
250
- process.exit(1);
251
- }
252
- })()
253
- : [],
273
+ internalToolsList,
254
274
  },
255
275
  health: {
256
276
  detailLevel: parsedArgv['health-info-level'],
257
277
  },
258
278
  asyncLoading: {
259
- enabled: parsedArgv['enable-async-loading'],
279
+ enabled: parsedArgv['enable-async-loading'] ?? appConfig.asyncLoading?.enabled ?? false,
260
280
  notifyOnServerReady: parsedArgv['async-notify-on-ready'],
261
- waitForMinimumServers: parsedArgv['async-min-servers'],
262
- initialLoadTimeoutMs: parsedArgv['async-timeout'],
263
- batchNotifications: parsedArgv['async-batch-notifications'],
264
- batchDelayMs: parsedArgv['async-batch-delay'],
281
+ waitForMinimumServers: parsedArgv['async-min-servers'] ?? appConfig.asyncLoading?.minServers ?? 1,
282
+ initialLoadTimeoutMs: parsedArgv['async-timeout'] ?? appConfig.asyncLoading?.timeout ?? 30000,
283
+ batchNotifications: parsedArgv['async-batch-notifications'] ?? appConfig.asyncLoading?.batchNotifications ?? true,
284
+ batchDelayMs: parsedArgv['async-batch-delay'] ?? appConfig.asyncLoading?.batchDelay ?? 100,
265
285
  },
266
286
  lazyLoading: {
267
- enabled: parsedArgv['enable-lazy-loading'],
268
- inlineCatalog: parsedArgv['lazy-inline-catalog'],
287
+ enabled: parsedArgv['enable-lazy-loading'] ?? appConfig.lazyLoading?.enabled ?? false,
288
+ inlineCatalog: parsedArgv['lazy-inline-catalog'] ?? appConfig.lazyLoading?.inlineCatalog ?? false,
269
289
  catalogFormat: (parsedArgv['lazy-catalog-format'] || 'grouped'),
270
- directExpose: parsedArgv['lazy-direct-expose']
271
- ? parsedArgv['lazy-direct-expose'].split(',').map((s) => s.trim())
272
- : [],
290
+ directExpose,
273
291
  cache: {
274
- maxEntries: parsedArgv['lazy-cache-max-entries'],
292
+ maxEntries: parsedArgv['lazy-cache-max-entries'] ?? appConfig.lazyLoading?.cacheMaxEntries ?? 1000,
275
293
  strategy: 'lru',
276
294
  ttlMs: parsedArgv['lazy-cache-ttl'],
277
295
  },
278
296
  preload: {
279
- patterns: parsedArgv['lazy-preload'] ? parsedArgv['lazy-preload'].split(',').map((s) => s.trim()) : [],
280
- keywords: parsedArgv['lazy-preload-keywords']
281
- ? parsedArgv['lazy-preload-keywords'].split(',').map((s) => s.trim())
282
- : [],
297
+ patterns: preloadPatterns,
298
+ keywords: preloadKeywords,
283
299
  },
284
300
  fallback: {
285
301
  onError: (parsedArgv['lazy-fallback-on-error'] || 'skip'),
@@ -287,7 +303,7 @@ export async function serveCommand(parsedArgv) {
287
303
  },
288
304
  },
289
305
  configReload: {
290
- debounceMs: parsedArgv['config-reload-debounce'],
306
+ debounceMs: parsedArgv['config-reload-debounce'] ?? appConfig.configReload?.debounce ?? 500,
291
307
  },
292
308
  sessionPersistence: {
293
309
  persistRequests: parsedArgv['session-persist-requests'],
@@ -304,7 +320,7 @@ export async function serveCommand(parsedArgv) {
304
320
  // Load custom instructions template if provided (applies to all transport types)
305
321
  const customTemplate = loadInstructionsTemplate(parsedArgv['instructions-template'], parsedArgv['config-dir']);
306
322
  let expressServer;
307
- switch (parsedArgv.transport) {
323
+ switch (effectiveTransport) {
308
324
  case 'stdio': {
309
325
  // DEPRECATION WARNING
310
326
  logger.warn('⚠️ DEPRECATION WARNING: `serve --transport stdio` is deprecated');
@@ -434,8 +450,8 @@ export async function serveCommand(parsedArgv) {
434
450
  writePidFile(configDir, {
435
451
  pid: process.pid,
436
452
  url: `${serverUrl}/mcp`,
437
- port: parsedArgv.port,
438
- host: parsedArgv.host,
453
+ port: effectivePort,
454
+ host: effectiveHost,
439
455
  transport: 'http',
440
456
  startedAt: new Date().toISOString(),
441
457
  configDir,
@@ -445,7 +461,7 @@ export async function serveCommand(parsedArgv) {
445
461
  break;
446
462
  }
447
463
  default:
448
- logger.error(`Invalid transport: ${parsedArgv.transport}`);
464
+ logger.error(`Invalid transport: ${effectiveTransport}`);
449
465
  process.exit(1);
450
466
  }
451
467
  // Set up graceful shutdown handling
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/commands/serve/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/commands/serve/serve.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { MCPServerParams } from '../../core/types/index.js';
1
+ import { GlobalTransportConfig, MCPServerParams } from '../../core/types/index.js';
2
2
  /**
3
3
  * Configuration file utilities for server management commands
4
4
  */
@@ -8,6 +8,7 @@ import { MCPServerParams } from '../../core/types/index.js';
8
8
  */
9
9
  export declare function initializeConfigContext(configPath?: string, configDir?: string): void;
10
10
  export interface ServerConfig {
11
+ serverDefaults?: GlobalTransportConfig;
11
12
  mcpServers: Record<string, MCPServerParams>;
12
13
  }
13
14
  /**
@@ -28,6 +29,14 @@ export declare function serverExists(serverName: string): boolean;
28
29
  * Get a specific server configuration
29
30
  */
30
31
  export declare function getServer(serverName: string): MCPServerParams | null;
32
+ /**
33
+ * Get global MCP configuration from file.
34
+ */
35
+ export declare function getGlobalConfig(): GlobalTransportConfig;
36
+ /**
37
+ * Get effective merged configuration for a specific server.
38
+ */
39
+ export declare function getEffectiveServerConfig(serverName: string): MCPServerParams | null;
31
40
  /**
32
41
  * Add or update a server in the configuration
33
42
  */
@@ -40,6 +49,10 @@ export declare function removeServer(serverName: string): boolean;
40
49
  * Get all servers in the configuration
41
50
  */
42
51
  export declare function getAllServers(): Record<string, MCPServerParams>;
52
+ /**
53
+ * Get all effective server configurations after applying global inheritance.
54
+ */
55
+ export declare function getAllEffectiveServers(): Record<string, MCPServerParams>;
43
56
  /**
44
57
  * Parse environment variables from key=value format
45
58
  */
@@ -68,4 +81,5 @@ export declare function validateServerConfig(serverConfig: MCPServerParams): voi
68
81
  * Reload MCP config manager after configuration changes
69
82
  */
70
83
  export declare function reloadMcpConfig(): void;
84
+ export declare function getInheritedKeys(rawConfig: MCPServerParams, effectiveConfig: MCPServerParams, globalConfig: GlobalTransportConfig): string[];
71
85
  //# sourceMappingURL=baseConfigUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseConfigUtils.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/baseConfigUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAgBrF;AAwBD,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CA+C5D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAmBrD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAOxD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAOpE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,GAAG,IAAI,CAiBjF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAexD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAO/D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwBxE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwB5E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CASvD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAuB9D;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAcrC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,eAAe,GAAG,IAAI,CAkDxE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAYtC"}
1
+ {"version":3,"file":"baseConfigUtils.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/baseConfigUtils.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAIlF;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAgBrF;AAwBD,MAAM,WAAW,YAAY;IAC3B,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C;AA0CD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CAE5D;AASD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAmBrD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAOxD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAWpE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,qBAAqB,CAWvD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAkBnF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,GAAG,IAAI,CAiBjF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAexD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAW/D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAUxE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwBxE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwB5E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CASvD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAuB9D;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAcrC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,eAAe,GAAG,IAAI,CAmDxE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAYtC;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,eAAe,EAC1B,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,qBAAqB,GAClC,MAAM,EAAE,CAsDV"}
@@ -1,8 +1,11 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
3
  import ConfigContext from '../../config/configContext.js';
4
+ import { ConfigLoader } from '../../config/configLoader.js';
4
5
  import { McpConfigManager } from '../../config/mcpConfigManager.js';
6
+ import { mergeGlobalAndServerConfig, mergeGlobalWithServers } from '../../config/mcpConfigMerge.js';
5
7
  import logger from '../../logger/logger.js';
8
+ import { normalizedArgv } from '../../utils/cli/normalizedArgv.js';
6
9
  /**
7
10
  * Configuration file utilities for server management commands
8
11
  */
@@ -31,8 +34,8 @@ export function initializeConfigContext(configPath, configDir) {
31
34
  }
32
35
  }
33
36
  function getExplicitCliOptionValue(flags) {
34
- for (let index = 0; index < process.argv.length; index += 1) {
35
- const arg = process.argv[index];
37
+ for (let index = 0; index < normalizedArgv.length; index += 1) {
38
+ const arg = normalizedArgv[index];
36
39
  if (!flags.includes(arg)) {
37
40
  const matchingFlag = flags.find((flag) => arg.startsWith(`${flag}=`));
38
41
  if (!matchingFlag) {
@@ -41,57 +44,56 @@ function getExplicitCliOptionValue(flags) {
41
44
  const [, value] = arg.split(/=(.*)/su);
42
45
  return value || undefined;
43
46
  }
44
- const value = process.argv[index + 1];
47
+ const value = normalizedArgv[index + 1];
45
48
  if (value && !value.startsWith('-')) {
46
49
  return value;
47
50
  }
48
51
  }
49
52
  return undefined;
50
53
  }
51
- /**
52
- * Load the MCP configuration from a file
53
- * Uses ConfigContext to resolve the appropriate config file path
54
- */
55
- export function loadConfig(configPath) {
54
+ function createCommandConfigLoader(configPath) {
55
+ return new ConfigLoader(configPath, { ensureConfigExists: false });
56
+ }
57
+ function loadSharedConfigState(configPath) {
56
58
  const configContext = ConfigContext.getInstance();
57
59
  const filePath = configPath || configContext.getResolvedConfigPath();
60
+ if (!fs.existsSync(filePath)) {
61
+ throw new Error(`Configuration file not found: ${filePath}`);
62
+ }
58
63
  try {
59
- if (!fs.existsSync(filePath)) {
60
- throw new Error(`Configuration file not found: ${filePath}`);
61
- }
62
- const configData = JSON.parse(fs.readFileSync(filePath, 'utf8'));
63
- // Type guard to ensure configData has proper structure
64
- if (!configData || typeof configData !== 'object') {
65
- throw new Error(`Invalid configuration format: ${filePath}`);
66
- }
67
- const configObj = configData;
68
- // Ensure mcpServers exists and is properly typed
69
- if (!configObj.mcpServers || typeof configObj.mcpServers !== 'object') {
70
- configObj.mcpServers = {};
64
+ const loader = createCommandConfigLoader(filePath);
65
+ const loadedConfig = loader.loadParsedConfig({ substituteEnv: false, includeAppConfig: false });
66
+ const config = {
67
+ ...loadedConfig.processedConfig,
68
+ serverDefaults: loadedConfig.globalConfig,
69
+ mcpServers: loadedConfig.rawServers,
70
+ };
71
+ if (loadedConfig.schemaInjected) {
72
+ delete config.$schema;
71
73
  }
72
- // Validate that mcpServers is properly structured
73
- if (typeof configObj.mcpServers === 'object' && configObj.mcpServers !== null) {
74
- // Ensure mcpServers is a Record<string, MCPServerParams>
75
- const mcpServers = configObj.mcpServers;
76
- const validatedMcpServers = {};
77
- for (const [key, value] of Object.entries(mcpServers)) {
78
- if (value && typeof value === 'object') {
79
- // Basic validation - ensure it has at least a type property
80
- const serverConfig = value;
81
- validatedMcpServers[key] = serverConfig;
82
- }
83
- }
84
- configObj.mcpServers = validatedMcpServers;
85
- }
86
- return configObj;
74
+ return {
75
+ config,
76
+ effectiveServers: mergeGlobalWithServers(loadedConfig.globalConfig, loadedConfig.rawServers),
77
+ };
87
78
  }
88
79
  catch (error) {
89
- if (error instanceof SyntaxError) {
80
+ if (error instanceof Error && error.cause instanceof SyntaxError) {
90
81
  throw new Error(`Invalid JSON in configuration file: ${filePath}`);
91
82
  }
92
83
  throw error;
93
84
  }
94
85
  }
86
+ /**
87
+ * Load the MCP configuration from a file
88
+ * Uses ConfigContext to resolve the appropriate config file path
89
+ */
90
+ export function loadConfig(configPath) {
91
+ return loadSharedConfigState(configPath).config;
92
+ }
93
+ function isMissingConfigError(error) {
94
+ return ((error instanceof Error && error.message.includes('Configuration file not found')) ||
95
+ (typeof error === 'object' && error !== null && 'code' in error && error.code === 'ENOENT'));
96
+ }
95
97
  /**
96
98
  * Save the MCP configuration to a file
97
99
  * Uses ConfigContext to resolve the appropriate config file path
@@ -134,8 +136,47 @@ export function getServer(serverName) {
134
136
  const config = loadConfig();
135
137
  return config.mcpServers[serverName] || null;
136
138
  }
137
- catch (_error) {
138
- return null;
139
+ catch (error) {
140
+ logger.warn(`Failed to get server '${serverName}': ${error instanceof Error ? error.message : String(error)}`);
141
+ if (isMissingConfigError(error)) {
142
+ return null;
143
+ }
144
+ throw error;
145
+ }
146
+ }
147
+ /**
148
+ * Get global MCP configuration from file.
149
+ */
150
+ export function getGlobalConfig() {
151
+ try {
152
+ const config = loadConfig();
153
+ return config.serverDefaults || {};
154
+ }
155
+ catch (error) {
156
+ logger.warn(`Failed to get global config: ${error instanceof Error ? error.message : String(error)}`);
157
+ if (isMissingConfigError(error)) {
158
+ return {};
159
+ }
160
+ throw error;
161
+ }
162
+ }
163
+ /**
164
+ * Get effective merged configuration for a specific server.
165
+ */
166
+ export function getEffectiveServerConfig(serverName) {
167
+ try {
168
+ const { config, effectiveServers } = loadSharedConfigState();
169
+ if (!config.mcpServers[serverName]) {
170
+ return null;
171
+ }
172
+ return (effectiveServers[serverName] || mergeGlobalAndServerConfig(config.serverDefaults, config.mcpServers[serverName]));
173
+ }
174
+ catch (error) {
175
+ logger.warn(`Failed to get effective server config for '${serverName}': ${error instanceof Error ? error.message : String(error)}`);
176
+ if (isMissingConfigError(error)) {
177
+ return null;
178
+ }
179
+ throw error;
139
180
  }
140
181
  }
141
182
  /**
@@ -183,8 +224,27 @@ export function getAllServers() {
183
224
  const config = loadConfig();
184
225
  return config.mcpServers;
185
226
  }
186
- catch (_error) {
187
- return {};
227
+ catch (error) {
228
+ logger.warn(`Failed to get all servers: ${error instanceof Error ? error.message : String(error)}`);
229
+ if (isMissingConfigError(error)) {
230
+ return {};
231
+ }
232
+ throw error;
233
+ }
234
+ }
235
+ /**
236
+ * Get all effective server configurations after applying global inheritance.
237
+ */
238
+ export function getAllEffectiveServers() {
239
+ try {
240
+ return loadSharedConfigState().effectiveServers;
241
+ }
242
+ catch (error) {
243
+ logger.warn(`Failed to get all effective servers: ${error instanceof Error ? error.message : String(error)}`);
244
+ if (isMissingConfigError(error)) {
245
+ return {};
246
+ }
247
+ throw error;
188
248
  }
189
249
  }
190
250
  /**
@@ -302,6 +362,7 @@ export function validateServerConfig(serverConfig) {
302
362
  break;
303
363
  case 'http':
304
364
  case 'sse':
365
+ case 'streamableHttp':
305
366
  if (!serverConfig.url) {
306
367
  throw new Error(`URL is required for ${serverConfig.type} servers`);
307
368
  }
@@ -346,7 +407,51 @@ export function reloadMcpConfig() {
346
407
  logger.info('MCP configuration reloaded');
347
408
  }
348
409
  catch (error) {
349
- logger.warn(`Failed to reload MCP configuration: ${error}`);
410
+ logger.warn(`Failed to reload MCP configuration: ${error instanceof Error ? error.message : String(error)}`);
411
+ }
412
+ }
413
+ export function getInheritedKeys(rawConfig, effectiveConfig, globalConfig) {
414
+ const inherited = [];
415
+ const fallbackKeys = [
416
+ 'timeout',
417
+ 'connectionTimeout',
418
+ 'requestTimeout',
419
+ 'oauth',
420
+ 'headers',
421
+ 'inheritParentEnv',
422
+ ];
423
+ for (const key of fallbackKeys) {
424
+ if (rawConfig[key] === undefined &&
425
+ effectiveConfig[key] !== undefined &&
426
+ globalConfig[key] !== undefined) {
427
+ inherited.push(String(key));
428
+ }
429
+ }
430
+ if (rawConfig.env === undefined && effectiveConfig.env !== undefined && globalConfig.env !== undefined) {
431
+ inherited.push('env');
432
+ }
433
+ if (rawConfig.envFilter === undefined &&
434
+ Array.isArray(effectiveConfig.envFilter) &&
435
+ effectiveConfig.envFilter.length > 0 &&
436
+ Array.isArray(globalConfig.envFilter) &&
437
+ globalConfig.envFilter.length > 0) {
438
+ inherited.push('envFilter');
439
+ }
440
+ if (rawConfig.env &&
441
+ effectiveConfig.env &&
442
+ typeof rawConfig.env === 'object' &&
443
+ typeof effectiveConfig.env === 'object' &&
444
+ !Array.isArray(rawConfig.env) &&
445
+ !Array.isArray(effectiveConfig.env) &&
446
+ typeof globalConfig.env === 'object' &&
447
+ globalConfig.env !== null &&
448
+ !Array.isArray(globalConfig.env)) {
449
+ const rawEnv = rawConfig.env;
450
+ const effectiveEnv = effectiveConfig.env;
451
+ if (Object.keys(effectiveEnv).some((key) => !(key in rawEnv))) {
452
+ inherited.push('env(merged)');
453
+ }
350
454
  }
455
+ return inherited;
351
456
  }
352
457
  //# sourceMappingURL=baseConfigUtils.js.map