@1mcp/agent 0.29.2 → 0.30.0-beta1

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 (127) hide show
  1. package/build/commands/serve/index.d.ts +58 -0
  2. package/build/commands/serve/index.d.ts.map +1 -1
  3. package/build/commands/serve/index.js +70 -0
  4. package/build/commands/serve/index.js.map +1 -1
  5. package/build/commands/serve/serve.d.ts +11 -0
  6. package/build/commands/serve/serve.d.ts.map +1 -1
  7. package/build/commands/serve/serve.js +73 -1
  8. package/build/commands/serve/serve.js.map +1 -1
  9. package/build/constants/mcp.d.ts +1 -1
  10. package/build/constants/mcp.d.ts.map +1 -1
  11. package/build/constants/mcp.js +1 -1
  12. package/build/constants/mcp.js.map +1 -1
  13. package/build/core/capabilities/capabilityAggregator.d.ts.map +1 -1
  14. package/build/core/capabilities/capabilityAggregator.js +42 -18
  15. package/build/core/capabilities/capabilityAggregator.js.map +1 -1
  16. package/build/core/capabilities/capabilityManager.d.ts +3 -2
  17. package/build/core/capabilities/capabilityManager.d.ts.map +1 -1
  18. package/build/core/capabilities/capabilityManager.js +3 -3
  19. package/build/core/capabilities/capabilityManager.js.map +1 -1
  20. package/build/core/capabilities/internal/installationTools.d.ts.map +1 -1
  21. package/build/core/capabilities/internal/installationTools.js +4 -0
  22. package/build/core/capabilities/internal/installationTools.js.map +1 -1
  23. package/build/core/capabilities/internal/lazyTools.d.ts +11 -0
  24. package/build/core/capabilities/internal/lazyTools.d.ts.map +1 -0
  25. package/build/core/capabilities/internal/lazyTools.js +48 -0
  26. package/build/core/capabilities/internal/lazyTools.js.map +1 -0
  27. package/build/core/capabilities/internal/managementTools.d.ts.map +1 -1
  28. package/build/core/capabilities/internal/managementTools.js +9 -0
  29. package/build/core/capabilities/internal/managementTools.js.map +1 -1
  30. package/build/core/capabilities/internalCapabilitiesProvider.d.ts +7 -1
  31. package/build/core/capabilities/internalCapabilitiesProvider.d.ts.map +1 -1
  32. package/build/core/capabilities/internalCapabilitiesProvider.js +31 -2
  33. package/build/core/capabilities/internalCapabilitiesProvider.js.map +1 -1
  34. package/build/core/capabilities/lazyLoadingOrchestrator.d.ts +175 -0
  35. package/build/core/capabilities/lazyLoadingOrchestrator.d.ts.map +1 -0
  36. package/build/core/capabilities/lazyLoadingOrchestrator.js +515 -0
  37. package/build/core/capabilities/lazyLoadingOrchestrator.js.map +1 -0
  38. package/build/core/capabilities/metaToolProvider.d.ts +118 -0
  39. package/build/core/capabilities/metaToolProvider.d.ts.map +1 -0
  40. package/build/core/capabilities/metaToolProvider.js +374 -0
  41. package/build/core/capabilities/metaToolProvider.js.map +1 -0
  42. package/build/core/capabilities/schemaCache.d.ts +124 -0
  43. package/build/core/capabilities/schemaCache.d.ts.map +1 -0
  44. package/build/core/capabilities/schemaCache.js +248 -0
  45. package/build/core/capabilities/schemaCache.js.map +1 -0
  46. package/build/core/capabilities/schemas/metaToolSchemas.d.ts +92 -0
  47. package/build/core/capabilities/schemas/metaToolSchemas.d.ts.map +1 -0
  48. package/build/core/capabilities/schemas/metaToolSchemas.js +68 -0
  49. package/build/core/capabilities/schemas/metaToolSchemas.js.map +1 -0
  50. package/build/core/capabilities/toolRegistry.d.ts +140 -0
  51. package/build/core/capabilities/toolRegistry.d.ts.map +1 -0
  52. package/build/core/capabilities/toolRegistry.js +284 -0
  53. package/build/core/capabilities/toolRegistry.js.map +1 -0
  54. package/build/core/client/clientManager.d.ts.map +1 -1
  55. package/build/core/client/clientManager.js +11 -5
  56. package/build/core/client/clientManager.js.map +1 -1
  57. package/build/core/flags/flagManager.d.ts.map +1 -1
  58. package/build/core/flags/flagManager.js +14 -1
  59. package/build/core/flags/flagManager.js.map +1 -1
  60. package/build/core/instructions/instructionAggregator.d.ts +21 -0
  61. package/build/core/instructions/instructionAggregator.d.ts.map +1 -1
  62. package/build/core/instructions/instructionAggregator.js +78 -3
  63. package/build/core/instructions/instructionAggregator.js.map +1 -1
  64. package/build/core/instructions/templateTypes.d.ts +40 -1
  65. package/build/core/instructions/templateTypes.d.ts.map +1 -1
  66. package/build/core/instructions/templateTypes.js +70 -0
  67. package/build/core/instructions/templateTypes.js.map +1 -1
  68. package/build/core/protocol/requestHandlers.d.ts +2 -1
  69. package/build/core/protocol/requestHandlers.d.ts.map +1 -1
  70. package/build/core/protocol/requestHandlers.js +112 -84
  71. package/build/core/protocol/requestHandlers.js.map +1 -1
  72. package/build/core/server/adapters/ExternalServerAdapter.d.ts +38 -0
  73. package/build/core/server/adapters/ExternalServerAdapter.d.ts.map +1 -0
  74. package/build/core/server/adapters/ExternalServerAdapter.js +50 -0
  75. package/build/core/server/adapters/ExternalServerAdapter.js.map +1 -0
  76. package/build/core/server/adapters/ServerRegistry.d.ts +63 -0
  77. package/build/core/server/adapters/ServerRegistry.d.ts.map +1 -0
  78. package/build/core/server/adapters/ServerRegistry.js +92 -0
  79. package/build/core/server/adapters/ServerRegistry.js.map +1 -0
  80. package/build/core/server/adapters/TemplateServerAdapter.d.ts +47 -0
  81. package/build/core/server/adapters/TemplateServerAdapter.d.ts.map +1 -0
  82. package/build/core/server/adapters/TemplateServerAdapter.js +99 -0
  83. package/build/core/server/adapters/TemplateServerAdapter.js.map +1 -0
  84. package/build/core/server/adapters/index.d.ts +5 -0
  85. package/build/core/server/adapters/index.d.ts.map +1 -0
  86. package/build/core/server/adapters/index.js +6 -0
  87. package/build/core/server/adapters/index.js.map +1 -0
  88. package/build/core/server/adapters/types.d.ts +122 -0
  89. package/build/core/server/adapters/types.d.ts.map +1 -0
  90. package/build/core/server/adapters/types.js +48 -0
  91. package/build/core/server/adapters/types.js.map +1 -0
  92. package/build/core/server/agentConfig.d.ts +19 -0
  93. package/build/core/server/agentConfig.d.ts.map +1 -1
  94. package/build/core/server/agentConfig.js +19 -0
  95. package/build/core/server/agentConfig.js.map +1 -1
  96. package/build/core/server/connectionManager.d.ts +17 -1
  97. package/build/core/server/connectionManager.d.ts.map +1 -1
  98. package/build/core/server/connectionManager.js +65 -5
  99. package/build/core/server/connectionManager.js.map +1 -1
  100. package/build/core/server/connectionResolver.d.ts +81 -0
  101. package/build/core/server/connectionResolver.d.ts.map +1 -0
  102. package/build/core/server/connectionResolver.js +140 -0
  103. package/build/core/server/connectionResolver.js.map +1 -0
  104. package/build/core/server/serverManager.d.ts +13 -0
  105. package/build/core/server/serverManager.d.ts.map +1 -1
  106. package/build/core/server/serverManager.js +49 -2
  107. package/build/core/server/serverManager.js.map +1 -1
  108. package/build/core/server/templateServerManager.d.ts +16 -0
  109. package/build/core/server/templateServerManager.d.ts.map +1 -1
  110. package/build/core/server/templateServerManager.js +45 -0
  111. package/build/core/server/templateServerManager.js.map +1 -1
  112. package/build/domains/preset/manager/presetManager.d.ts +5 -0
  113. package/build/domains/preset/manager/presetManager.d.ts.map +1 -1
  114. package/build/domains/preset/manager/presetManager.js +7 -0
  115. package/build/domains/preset/manager/presetManager.js.map +1 -1
  116. package/build/logger/logger.d.ts +13 -0
  117. package/build/logger/logger.d.ts.map +1 -1
  118. package/build/logger/logger.js +41 -0
  119. package/build/logger/logger.js.map +1 -1
  120. package/build/server.d.ts +3 -0
  121. package/build/server.d.ts.map +1 -1
  122. package/build/server.js +32 -0
  123. package/build/server.js.map +1 -1
  124. package/build/transport/http/middlewares/tagsExtractor.d.ts.map +1 -1
  125. package/build/transport/http/middlewares/tagsExtractor.js +71 -1
  126. package/build/transport/http/middlewares/tagsExtractor.js.map +1 -1
  127. package/package.json +1 -1
@@ -26,12 +26,26 @@ import { DEFAULT_INSTRUCTION_TEMPLATE, DEFAULT_TEMPLATE_CONFIG, } from './templa
26
26
  export class InstructionAggregator extends EventEmitter {
27
27
  serverInstructions = new Map();
28
28
  isInitialized = false;
29
+ lazyLoadingOrchestrator;
29
30
  constructor() {
30
31
  super();
31
32
  this.setMaxListeners(50);
32
33
  // Register custom Handlebars helpers for template processing
33
34
  registerTemplateHelpers();
34
35
  }
36
+ /**
37
+ * Set the lazy loading orchestrator instance
38
+ */
39
+ setLazyLoadingOrchestrator(orchestrator) {
40
+ this.lazyLoadingOrchestrator = orchestrator;
41
+ debugIf('Lazy loading orchestrator set for InstructionAggregator');
42
+ }
43
+ /**
44
+ * Get the lazy loading orchestrator instance
45
+ */
46
+ getLazyLoadingOrchestrator() {
47
+ return this.lazyLoadingOrchestrator;
48
+ }
35
49
  /**
36
50
  * Set or update instructions for a specific server
37
51
  * @param serverName The name of the server
@@ -105,8 +119,11 @@ export class InstructionAggregator extends EventEmitter {
105
119
  error: errorMessage,
106
120
  templateLength: config.customTemplate.length,
107
121
  });
108
- // Fall back to default template
109
- return this.renderTemplate(DEFAULT_INSTRUCTION_TEMPLATE, filteredConnections, config);
122
+ // Fall back to default template with LLM-directed notice
123
+ const fallbackContent = this.renderTemplate(DEFAULT_INSTRUCTION_TEMPLATE, filteredConnections, config);
124
+ // Prepend notice for LLM to inform the user about template failure
125
+ const llmNotice = `⚠️ IMPORTANT: The user's custom instruction template failed to render due to an error: "${errorMessage}". Please inform the user that their custom template configuration has an issue and the default template is being used instead. They should check their template syntax.\n\n`;
126
+ return llmNotice + fallbackContent;
110
127
  }
111
128
  }
112
129
  else {
@@ -181,6 +198,26 @@ export class InstructionAggregator extends EventEmitter {
181
198
  const serverNames = this.getServerNames();
182
199
  return `${serverCount} servers with instructions: ${serverNames.join(', ')}`;
183
200
  }
201
+ /**
202
+ * Extract a short description from server instructions
203
+ * @param instructions The full server instructions
204
+ * @returns A short description or undefined
205
+ */
206
+ extractDescription(instructions) {
207
+ if (!instructions)
208
+ return undefined;
209
+ // Try to extract first line or first sentence
210
+ const firstLine = instructions.split('\n')[0].trim();
211
+ if (firstLine && firstLine.length < 100) {
212
+ return firstLine.replace(/^#+\s*/, ''); // Remove markdown heading
213
+ }
214
+ // Look for a sentence ending with period
215
+ const firstSentence = instructions.match(/^[^.]*\./)?.[0];
216
+ if (firstSentence && firstSentence.length < 100) {
217
+ return firstSentence.trim();
218
+ }
219
+ return undefined; // No suitable description found
220
+ }
184
221
  /**
185
222
  * Render a Handlebars template with template variables
186
223
  * @param template Template string (custom or default)
@@ -227,18 +264,25 @@ export class InstructionAggregator extends EventEmitter {
227
264
  const servers = [];
228
265
  // Sort filtered connections by name for consistent output
229
266
  const sortedConnections = Array.from(filteredConnections.entries()).sort(([a], [b]) => a.localeCompare(b));
230
- for (const [serverName, _connection] of sortedConnections) {
267
+ for (const [_key, connection] of sortedConnections) {
268
+ // Use clean name from connection object instead of Map key
269
+ // Template servers use hash-based keys (e.g., "serena:6fa053f1...") but we want
270
+ // to display the clean name (e.g., "serena") in instructions
271
+ const serverName = connection.name;
231
272
  const serverInstructions = this.serverInstructions.get(serverName);
232
273
  const instructions = serverInstructions?.trim() || '';
233
274
  if (instructions) {
234
275
  // Wrap instructions in XML-like tags
235
276
  const wrappedInstructions = `<${serverName}>\n${instructions}\n</${serverName}>`;
236
277
  serverInstructionSections.push(wrappedInstructions);
278
+ // Extract description from instructions
279
+ const description = this.extractDescription(instructions);
237
280
  // Add individual server data for iteration
238
281
  servers.push({
239
282
  name: serverName,
240
283
  instructions: instructions,
241
284
  hasInstructions: true,
285
+ description: description,
242
286
  });
243
287
  }
244
288
  else {
@@ -285,6 +329,37 @@ export class InstructionAggregator extends EventEmitter {
285
329
  toolPattern: templateConfig.toolPattern,
286
330
  title: templateConfig.title,
287
331
  examples: templateConfig.examples,
332
+ // Lazy loading state
333
+ lazyLoading: this.generateLazyLoadingState(),
334
+ };
335
+ }
336
+ /**
337
+ * Generate lazy loading state for template variables
338
+ * @returns Lazy loading state object or undefined
339
+ */
340
+ generateLazyLoadingState() {
341
+ if (!this.lazyLoadingOrchestrator) {
342
+ return undefined;
343
+ }
344
+ const isEnabled = this.lazyLoadingOrchestrator.isEnabled();
345
+ const stats = this.lazyLoadingOrchestrator.getStatistics();
346
+ // Calculate exposed tools based on enabled state
347
+ let exposedToolsCount = stats.registeredToolCount;
348
+ if (isEnabled) {
349
+ // Meta-tool mode: only meta-tools exposed
350
+ exposedToolsCount = 3; // tool_list, tool_schema, tool_invoke
351
+ }
352
+ // Get meta-tools list if enabled
353
+ const metaTools = isEnabled ? ['tool_list', 'tool_schema', 'tool_invoke'] : undefined;
354
+ return {
355
+ enabled: isEnabled,
356
+ mode: isEnabled ? 'metatool' : 'full',
357
+ availableToolsCount: stats.registeredToolCount,
358
+ exposedToolsCount,
359
+ directExposeCount: 0, // TODO: get from config
360
+ cachedToolsCount: stats.cachedToolCount,
361
+ metaTools,
362
+ catalog: undefined, // TODO: implement inline catalog
288
363
  };
289
364
  }
290
365
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"instructionAggregator.js","sourceRoot":"","sources":["../../../src/core/instructions/instructionAggregator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAE3E,OAAO,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,GAGxB,MAAM,oBAAoB,CAAC;AAS5B;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IAC7C,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,aAAa,GAAY,KAAK,CAAC;IAEvC;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAEzB,6DAA6D;QAC7D,uBAAuB,EAAE,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACI,eAAe,CAAC,UAAkB,EAAE,YAAgC;QACzE,MAAM,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,oBAAoB,KAAK,YAAY,CAAC;QAEzD,IAAI,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;YACzB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,oCAAoC,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QACvG,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,oCAAoC,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QACvG,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,OAAO,CAAC,mCAAmC,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,0DAA0D,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;YACtG,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,UAAkB;QACpC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE3C,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,gCAAgC,UAAU,wBAAwB,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9G,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACI,uBAAuB,CAAC,MAA+B,EAAE,WAAgC;QAC9F,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACb,OAAO,EAAE,sDAAsD;YAC/D,IAAI,EAAE;gBACJ,UAAU,EAAE,MAAM,CAAC,aAAa;gBAChC,gBAAgB,EAAE,WAAW,CAAC,IAAI;gBAClC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI;gBAC/C,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc;aAC3C;SACF,CAAC,CAAC,CAAC;QAEJ,mDAAmD;QACnD,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAEzF,oCAAoC;QACpC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;QACxG,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,gBAAgB,CAAC,CAAC;QAE1E,8DAA8D;QAC9D,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/G,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;YACjF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAE5E,mCAAmC;gBACnC,MAAM,CAAC,KAAK,CAAC,iFAAiF,EAAE;oBAC9F,KAAK,EAAE,YAAY;oBACnB,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM;iBAC7C,CAAC,CAAC;gBAEH,gCAAgC;gBAChC,OAAO,IAAI,CAAC,cAAc,CAAC,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,gCAAgC;YAChC,OAAO,IAAI,CAAC,cAAc,CAAC,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,cAAc;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;IACtC,CAAC;IAED;;;OAGG;IACI,cAAc;QACnB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACI,eAAe,CAAC,UAAkB;QACvC,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACI,qBAAqB,CAAC,UAAkB;QAC7C,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACI,KAAK;QACV,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAEhC,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,iCAAiC,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,MAA+B;QACtD,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,KAAK,MAAM,EAAE,CAAC;YAC7D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAChE,OAAO,uBAAuB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1D,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,KAAK,UAAU,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YAChE,OAAO,oCAAoC,CAAC;QAC9C,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,uBAAuB,CAAC;QACjC,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,UAAU;QACf,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,OAAO,GAAG,WAAW,+BAA+B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC/E,CAAC;IAED;;;;;;OAMG;IACK,cAAc,CACpB,QAAgB,EAChB,mBAAwC,EACxC,MAA+B;QAE/B,2CAA2C;QAC3C,6BAA6B;QAC7B,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,uBAAuB,CAAC,iBAAiB,CAAC;QAChG,IAAI,QAAQ,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,CAAC,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,IAAI,KAAK,CACb,uBAAuB,MAAM,WAAW,OAAO,OAAO;gBACpD,yEAAyE;gBACzE,+DAA+D,CAClE,CAAC;QACJ,CAAC;QAED,4BAA4B;QAC5B,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1E,8BAA8B;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAE9E,kBAAkB;QAClB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAE7C,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACb,OAAO,EAAE,yDAAyD;YAClE,IAAI,EAAE;gBACJ,cAAc,EAAE,QAAQ,CAAC,MAAM;gBAC/B,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM;gBAC5C,cAAc,EAAE,QAAQ,CAAC,MAAM;aAChC;SACF,CAAC,CAAC,CAAC;QAEJ,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACK,yBAAyB,CAC/B,mBAAwC,EACxC,MAA+B;QAE/B,gEAAgE;QAChE,MAAM,yBAAyB,GAAa,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAiB,EAAE,CAAC;QAEjC,0DAA0D;QAC1D,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3G,KAAK,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAC1D,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACnE,MAAM,YAAY,GAAG,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACtD,IAAI,YAAY,EAAE,CAAC;gBACjB,qCAAqC;gBACrC,MAAM,mBAAmB,GAAG,IAAI,UAAU,MAAM,YAAY,OAAO,UAAU,GAAG,CAAC;gBACjF,yBAAyB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAEpD,2CAA2C;gBAC3C,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,UAAU;oBAChB,YAAY,EAAE,YAAY;oBAC1B,eAAe,EAAE,IAAI;iBACtB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,UAAU;oBAChB,YAAY,EAAE,EAAE;oBAChB,eAAe,EAAE,KAAK;iBACvB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,IAAI,CAAC;QACtD,MAAM,uBAAuB,GAAG,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,yBAAyB,CAAC,MAAM,CAAC;QACrD,MAAM,UAAU,GAAG,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC;QAExD,yDAAyD;QACzD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpG,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1C,oCAAoC;QACpC,MAAM,cAAc,GAAG;YACrB,GAAG,uBAAuB;YAC1B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,uBAAuB,CAAC,KAAK;YACpD,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,uBAAuB,CAAC,WAAW;YACtE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,uBAAuB,CAAC,QAAQ;SAC9D,CAAC;QAEF,OAAO;YACL,eAAe;YACf,oBAAoB;YACpB,uBAAuB;YACvB,WAAW;YACX,wBAAwB,EAAE,WAAW,EAAE,oBAAoB;YAC3D,UAAU;YACV,UAAU;YACV,WAAW;YACX,OAAO;YACP,aAAa,EAAE,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACvD,KAAK,EAAE,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAEvC,wCAAwC;YACxC,sBAAsB,EAAE,oBAAoB,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACzE,cAAc,EAAE,oBAAoB,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAEzD,UAAU;YACV,YAAY,EAAE,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC;YACpD,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAE5C,gBAAgB;YAChB,WAAW,EAAE,cAAc,CAAC,WAAW;YACvC,KAAK,EAAE,cAAc,CAAC,KAAK;YAC3B,QAAQ,EAAE,cAAc,CAAC,QAAQ;SAClC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,OAAO;QACZ,OAAO,CAAC,yCAAyC,CAAC,CAAC;QAEnD,4BAA4B;QAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,4BAA4B;QAC5B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAEhC,6BAA6B;QAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,MAAM,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;IAClF,CAAC;CACF"}
1
+ {"version":3,"file":"instructionAggregator.js","sourceRoot":"","sources":["../../../src/core/instructions/instructionAggregator.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ export interface ServerData {
8
8
  instructions: string;
9
9
  /** Whether this server has instructions */
10
10
  hasInstructions: boolean;
11
+ /** Optional description for tool categories (extracted from instructions) */
12
+ description?: string;
11
13
  }
12
14
  /**
13
15
  * Template variables available for custom instruction templates
@@ -48,6 +50,43 @@ export interface TemplateVariables {
48
50
  title: string;
49
51
  /** Array of tool examples for documentation */
50
52
  examples: TemplateExample[];
53
+ /** Lazy loading configuration and statistics */
54
+ lazyLoading?: LazyLoadingState;
55
+ }
56
+ /**
57
+ * Lazy loading state for template variables
58
+ * Present when lazy loading is configured (enabled or disabled)
59
+ */
60
+ export interface LazyLoadingState {
61
+ /** Whether lazy loading is enabled */
62
+ enabled: boolean;
63
+ /** Lazy loading mode */
64
+ mode: 'metatool' | 'hybrid' | 'full';
65
+ /** Total number of tools available across all servers */
66
+ availableToolsCount: number;
67
+ /** Number of tools exposed via tools/list (varies by mode) */
68
+ exposedToolsCount: number;
69
+ /** Number of tools in directExpose list (hybrid mode only) */
70
+ directExposeCount: number;
71
+ /** Number of tools currently cached with schemas */
72
+ cachedToolsCount: number;
73
+ /** Meta-tool names (metatool mode only) */
74
+ metaTools?: string[];
75
+ /** Full tool catalog (if inlineCatalog=true) */
76
+ catalog?: ToolCatalogEntry[];
77
+ }
78
+ /**
79
+ * Tool catalog entry for inline catalog
80
+ */
81
+ export interface ToolCatalogEntry {
82
+ /** Tool name */
83
+ name: string;
84
+ /** Server name */
85
+ server: string;
86
+ /** Tool description */
87
+ description?: string;
88
+ /** Tool category (derived from server name) */
89
+ category?: string;
51
90
  }
52
91
  /**
53
92
  * Tool example for template documentation
@@ -85,5 +124,5 @@ export declare const DEFAULT_TEMPLATE_CONFIG: Required<Omit<TemplateConfig, 'cus
85
124
  * Default instruction template using Handlebars syntax
86
125
  * This template is used when no custom template is provided
87
126
  */
88
- export declare const DEFAULT_INSTRUCTION_TEMPLATE = "# {{title}}\n\n{{#if hasServers}}\nYou are interacting with 1MCP, a proxy server that aggregates capabilities from multiple MCP (Model Context Protocol) servers. 1MCP acts as a unified gateway, allowing you to access tools and resources from various specialized MCP servers through a single connection.\n\n## How 1MCP Works\n\n- **Unified Access**: Connect to multiple MCP servers through one proxy\n- **Tool Aggregation**: All tools are available with the naming pattern `{{toolPattern}}`\n- **Resource Sharing**: Access files, data, and capabilities across different servers\n- **Intelligent Routing**: Your requests are automatically routed to the appropriate servers\n\n## Currently Connected Servers\n\n{{connectedServerCount}} MCP {{connectedPluralServers}} {{connectedIsAre}} currently available{{filterContext}}:\n\n{{#each servers}}\n{{name}}\n{{/each}}\n\n{{#if hasInstructionalServers}}\n## Available Capabilities\n\nAll tools from connected servers are accessible using the format: `{{toolPattern}}`\n\nExamples:\n{{#each examples}}\n- `{{name}}` - {{description}}\n{{/each}}\n\n## Server-Specific Instructions\n\nThe following sections contain instructions from each connected MCP server. Each server's instructions are wrapped in XML-like tags (e.g., `<server-name>instructions</server-name>`) to clearly identify their source and scope.\n\n{{#each servers}}\n{{#if hasInstructions}}\n<{{name}}>\n{{instructions}}\n</{{name}}>\n\n{{/if}}\n{{/each}}\n\n## Tips for Using 1MCP\n\n- Tools are namespaced by server to avoid conflicts\n\n{{else}}\n## Status\n\nConnected servers are available but have not provided instructions yet. Tools and capabilities will become available once servers provide their instructions.\n{{/if}}\n{{else}}\nYou are interacting with 1MCP, a proxy server that aggregates capabilities from multiple MCP (Model Context Protocol) servers.\n\n## Current Status\n\nNo MCP servers are currently connected. 1MCP is ready to connect to servers and provide unified access to their capabilities once they become available.\n\n## What 1MCP Provides\n\n- **Unified Access**: Connect to multiple MCP servers through one proxy\n- **Tool Aggregation**: Access tools using the pattern `{{toolPattern}}`\n- **Resource Sharing**: Share files, data, and capabilities across servers\n- **Intelligent Routing**: Automatic request routing to appropriate servers\n\n1MCP will automatically detect and connect to available MCP servers. Once connected, their tools and capabilities will become available through the unified interface.\n{{/if}}";
127
+ export declare const DEFAULT_INSTRUCTION_TEMPLATE = "# {{title}}\n\n{{#if hasServers}}\nYou are interacting with 1MCP, a proxy server that aggregates capabilities from multiple MCP (Model Context Protocol) servers. 1MCP acts as a unified gateway, allowing you to access tools and resources from various specialized MCP servers through a single connection.\n\n{{#if lazyLoading.enabled}}\n## Tool Access: Meta-Tool Discovery Mode\n\n1MCP is running in {{lazyLoading.mode}} mode for optimized token usage. Tools are loaded on-demand using meta-tools for discovery.\n\n### Meta-Tool Workflow\n\nWhen you need to use a tool, follow this three-step discovery process:\n\n1. **List Available Tools**: Call `tool_list` to see all available tools\n - Returns tool names, source servers, and descriptions\n - Use optional filters: `server`, `pattern`, `tag`, `limit`, `cursor`\n\n2. **Describe Tool**: Call `tool_schema` with `server` and `toolName` to get the full input schema\n - Returns complete tool definition including required parameters\n - Load schema only when you need to use the tool\n\n3. **Call Tool**: Invoke `tool_invoke` with `server`, `toolName`, and `args`\n - Executes the tool on the upstream server\n - Returns the result with structured responses\n\n### Error Handling\n\nMeta-tools use structured error responses with `_errorType` field:\n\n- **validation_error**: Missing or invalid parameters\n - Fix: Provide all required parameters with correct types\n\n- **not_found_error**: Tool or server not found\n - Fix: Call `tool_list` to verify tool exists\n\n- **upstream_error**: Server-side error or connection issue\n - Fix: This is an upstream server issue - may need to retry or report\n\n### Tool Categories\n\nTools are organized by server for easier discovery:\n{{#each servers}}\n- **{{name}}**: {{#if hasInstructions}}{{description}}{{else}}Various tools from {{name}}{{/if}}\n{{/each}}\n\n{{#if lazyLoading.catalog}}\n### Tool Catalog ({{lazyLoading.availableToolsCount}} tools)\n\n{{#each lazyLoading.catalog}}\n- `{{server}}:{{name}}` - {{description}}\n{{/each}}\n\n{{#if (gt lazyLoading.availableToolsCount 100)}}\n### Pagination for Large Tool Sets\n\nWhen working with many tools, use pagination:\n- Start with `tool_list` with `limit` parameter\n- Use returned `cursor` for next page\n- Continue until `hasMore` is false\n{{/if}}\n{{/if}}\n\n{{else}}\n## How 1MCP Works\n\n- **Unified Access**: Connect to multiple MCP servers through one proxy\n- **Tool Aggregation**: All tools are available with the naming pattern `{{toolPattern}}`\n- **Resource Sharing**: Access files, data, and capabilities across different servers\n- **Intelligent Routing**: Your requests are automatically routed to the appropriate servers\n{{/if}}\n\n## Currently Connected Servers\n\n{{connectedServerCount}} MCP {{connectedPluralServers}} {{connectedIsAre}} currently available{{filterContext}}:\n\n{{#each servers}}\n{{name}}\n{{/each}}\n\n{{#if hasInstructionalServers}}\n{{#unless lazyLoading.enabled}}\n## Available Capabilities\n\nAll tools from connected servers are accessible using the format: `{{toolPattern}}`\n\nExamples:\n{{#each examples}}\n- `{{name}}` - {{description}}\n{{/each}}\n{{/unless}}\n\n## Server-Specific Instructions\n\nThe following sections contain instructions from each connected MCP server. Each server's instructions are wrapped in XML-like tags (e.g., `<server-name>instructions</server-name>`) to clearly identify their source and scope.\n\n{{#each servers}}\n{{#if hasInstructions}}\n<{{name}}>\n{{instructions}}\n</{{name}}>\n\n{{/if}}\n{{/each}}\n\n## Tips for Using 1MCP\n\n{{#if lazyLoading.enabled}}\n- Use meta-tools for efficient tool discovery and on-demand loading\n- Tools are organized by server name to avoid naming conflicts\n- Cache statistics: {{lazyLoading.cachedToolsCount}}/{{lazyLoading.availableToolsCount}} tools loaded\n- Call `tool_list` first to discover available tools\n{{else}}\n- Tools are namespaced by server to avoid conflicts\n{{/if}}\n\n{{else}}\n## Status\n\nConnected servers are available but have not provided instructions yet. Tools and capabilities will become available once servers provide their instructions.\n{{/if}}\n\n{{else}}\nYou are interacting with 1MCP, a proxy server that aggregates capabilities from multiple MCP (Model Context Protocol) servers.\n\n## Current Status\n\nNo MCP servers are currently connected. 1MCP is ready to connect to servers and provide unified access to their capabilities once they become available.\n\n## What 1MCP Provides\n\n- **Unified Access**: Connect to multiple MCP servers through one proxy\n- **Tool Aggregation**: Access tools using the pattern `{{toolPattern}}`\n- **Resource Sharing**: Share files, data, and capabilities across servers\n- **Intelligent Routing**: Automatic request routing to appropriate servers\n\n1MCP will automatically detect and connect to available MCP servers. Once connected, their tools and capabilities will become available through the unified interface.\n{{/if}}";
89
128
  //# sourceMappingURL=templateTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"templateTypes.d.ts","sourceRoot":"","sources":["../../../src/core/instructions/templateTypes.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IAEb,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IAErB,2CAA2C;IAC3C,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAEhC,wGAAwG;IACxG,WAAW,EAAE,MAAM,CAAC;IAEpB,wFAAwF;IACxF,wBAAwB,EAAE,MAAM,CAAC;IAEjC,+EAA+E;IAC/E,oBAAoB,EAAE,MAAM,CAAC;IAE7B,wEAAwE;IACxE,UAAU,EAAE,OAAO,CAAC;IAEpB,wEAAwE;IACxE,uBAAuB,EAAE,OAAO,CAAC;IAEjC,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IAEnB,yDAAyD;IACzD,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB,oEAAoE;IACpE,OAAO,EAAE,UAAU,EAAE,CAAC;IAEtB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IAEtB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IAEd,4DAA4D;IAC5D,sBAAsB,EAAE,MAAM,CAAC;IAE/B,oDAAoD;IACpD,cAAc,EAAE,MAAM,CAAC;IAGvB,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IAErB,gFAAgF;IAChF,aAAa,EAAE,MAAM,CAAC;IAGtB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;IAEpB,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;IAEd,+CAA+C;IAC/C,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IAEb,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAE7B,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,eAAe,EAatD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAKpF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,kgFAmEjC,CAAC"}
1
+ {"version":3,"file":"templateTypes.d.ts","sourceRoot":"","sources":["../../../src/core/instructions/templateTypes.ts"],"names":[],"mappings":"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"}
@@ -33,12 +33,72 @@ export const DEFAULT_INSTRUCTION_TEMPLATE = `# {{title}}
33
33
  {{#if hasServers}}
34
34
  You are interacting with 1MCP, a proxy server that aggregates capabilities from multiple MCP (Model Context Protocol) servers. 1MCP acts as a unified gateway, allowing you to access tools and resources from various specialized MCP servers through a single connection.
35
35
 
36
+ {{#if lazyLoading.enabled}}
37
+ ## Tool Access: Meta-Tool Discovery Mode
38
+
39
+ 1MCP is running in {{lazyLoading.mode}} mode for optimized token usage. Tools are loaded on-demand using meta-tools for discovery.
40
+
41
+ ### Meta-Tool Workflow
42
+
43
+ When you need to use a tool, follow this three-step discovery process:
44
+
45
+ 1. **List Available Tools**: Call \`tool_list\` to see all available tools
46
+ - Returns tool names, source servers, and descriptions
47
+ - Use optional filters: \`server\`, \`pattern\`, \`tag\`, \`limit\`, \`cursor\`
48
+
49
+ 2. **Describe Tool**: Call \`tool_schema\` with \`server\` and \`toolName\` to get the full input schema
50
+ - Returns complete tool definition including required parameters
51
+ - Load schema only when you need to use the tool
52
+
53
+ 3. **Call Tool**: Invoke \`tool_invoke\` with \`server\`, \`toolName\`, and \`args\`
54
+ - Executes the tool on the upstream server
55
+ - Returns the result with structured responses
56
+
57
+ ### Error Handling
58
+
59
+ Meta-tools use structured error responses with \`_errorType\` field:
60
+
61
+ - **validation_error**: Missing or invalid parameters
62
+ - Fix: Provide all required parameters with correct types
63
+
64
+ - **not_found_error**: Tool or server not found
65
+ - Fix: Call \`tool_list\` to verify tool exists
66
+
67
+ - **upstream_error**: Server-side error or connection issue
68
+ - Fix: This is an upstream server issue - may need to retry or report
69
+
70
+ ### Tool Categories
71
+
72
+ Tools are organized by server for easier discovery:
73
+ {{#each servers}}
74
+ - **{{name}}**: {{#if hasInstructions}}{{description}}{{else}}Various tools from {{name}}{{/if}}
75
+ {{/each}}
76
+
77
+ {{#if lazyLoading.catalog}}
78
+ ### Tool Catalog ({{lazyLoading.availableToolsCount}} tools)
79
+
80
+ {{#each lazyLoading.catalog}}
81
+ - \`{{server}}:{{name}}\` - {{description}}
82
+ {{/each}}
83
+
84
+ {{#if (gt lazyLoading.availableToolsCount 100)}}
85
+ ### Pagination for Large Tool Sets
86
+
87
+ When working with many tools, use pagination:
88
+ - Start with \`tool_list\` with \`limit\` parameter
89
+ - Use returned \`cursor\` for next page
90
+ - Continue until \`hasMore\` is false
91
+ {{/if}}
92
+ {{/if}}
93
+
94
+ {{else}}
36
95
  ## How 1MCP Works
37
96
 
38
97
  - **Unified Access**: Connect to multiple MCP servers through one proxy
39
98
  - **Tool Aggregation**: All tools are available with the naming pattern \`{{toolPattern}}\`
40
99
  - **Resource Sharing**: Access files, data, and capabilities across different servers
41
100
  - **Intelligent Routing**: Your requests are automatically routed to the appropriate servers
101
+ {{/if}}
42
102
 
43
103
  ## Currently Connected Servers
44
104
 
@@ -49,6 +109,7 @@ You are interacting with 1MCP, a proxy server that aggregates capabilities from
49
109
  {{/each}}
50
110
 
51
111
  {{#if hasInstructionalServers}}
112
+ {{#unless lazyLoading.enabled}}
52
113
  ## Available Capabilities
53
114
 
54
115
  All tools from connected servers are accessible using the format: \`{{toolPattern}}\`
@@ -57,6 +118,7 @@ Examples:
57
118
  {{#each examples}}
58
119
  - \`{{name}}\` - {{description}}
59
120
  {{/each}}
121
+ {{/unless}}
60
122
 
61
123
  ## Server-Specific Instructions
62
124
 
@@ -73,13 +135,21 @@ The following sections contain instructions from each connected MCP server. Each
73
135
 
74
136
  ## Tips for Using 1MCP
75
137
 
138
+ {{#if lazyLoading.enabled}}
139
+ - Use meta-tools for efficient tool discovery and on-demand loading
140
+ - Tools are organized by server name to avoid naming conflicts
141
+ - Cache statistics: {{lazyLoading.cachedToolsCount}}/{{lazyLoading.availableToolsCount}} tools loaded
142
+ - Call \`tool_list\` first to discover available tools
143
+ {{else}}
76
144
  - Tools are namespaced by server to avoid conflicts
145
+ {{/if}}
77
146
 
78
147
  {{else}}
79
148
  ## Status
80
149
 
81
150
  Connected servers are available but have not provided instructions yet. Tools and capabilities will become available once servers provide their instructions.
82
151
  {{/if}}
152
+
83
153
  {{else}}
84
154
  You are interacting with 1MCP, a proxy server that aggregates capabilities from multiple MCP (Model Context Protocol) servers.
85
155
 
@@ -1 +1 @@
1
- {"version":3,"file":"templateTypes.js","sourceRoot":"","sources":["../../../src/core/instructions/templateTypes.ts"],"names":[],"mappings":"AAyGA;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,sCAAsC;KACpD;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,yCAAyC;KACvD;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAqD;IACvF,KAAK,EAAE,qCAAqC;IAC5C,WAAW,EAAE,sBAAsB;IACnC,QAAQ,EAAE,yBAAyB;IACnC,iBAAiB,EAAE,IAAI,GAAG,IAAI,EAAE,cAAc;CAC/C,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAmEpC,CAAC"}
1
+ {"version":3,"file":"templateTypes.js","sourceRoot":"","sources":["../../../src/core/instructions/templateTypes.ts"],"names":[],"mappings":"AA+JA;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,sCAAsC;KACpD;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,yCAAyC;KACvD;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAqD;IACvF,KAAK,EAAE,qCAAqC;IAC5C,WAAW,EAAE,sBAAsB;IACnC,QAAQ,EAAE,yBAAyB;IACnC,iBAAiB,EAAE,IAAI,GAAG,IAAI,EAAE,cAAc;CAC/C,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAyIpC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { LazyLoadingOrchestrator } from '../../core/capabilities/lazyLoadingOrchestrator.js';
1
2
  import { InboundConnection, OutboundConnections } from '../../core/types/index.js';
2
3
  /**
3
4
  * Registers all request handlers based on available capabilities
@@ -6,5 +7,5 @@ import { InboundConnection, OutboundConnections } from '../../core/types/index.j
6
7
  * @param capabilities The server capabilities
7
8
  * @param tags Array of tags to filter clients by
8
9
  */
9
- export declare function registerRequestHandlers(outboundConns: OutboundConnections, inboundConn: InboundConnection): void;
10
+ export declare function registerRequestHandlers(outboundConns: OutboundConnections, inboundConn: InboundConnection, lazyLoadingOrchestrator?: LazyLoadingOrchestrator): void;
10
11
  //# sourceMappingURL=requestHandlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"requestHandlers.d.ts","sourceRoot":"","sources":["../../../src/core/protocol/requestHandlers.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAgB,iBAAiB,EAAsB,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAqMpH;;;;;;GAMG;AAEH,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,iBAAiB,GAAG,IAAI,CA6ChH"}
1
+ {"version":3,"file":"requestHandlers.d.ts","sourceRoot":"","sources":["../../../src/core/protocol/requestHandlers.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAK5F,OAAO,EAAgB,iBAAiB,EAAsB,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAsIpH;;;;;;GAMG;AAEH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,mBAAmB,EAClC,WAAW,EAAE,iBAAiB,EAC9B,uBAAuB,CAAC,EAAE,uBAAuB,GAChD,IAAI,CA6CN"}