agentinit 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +93 -10
  3. package/dist/agentinit-1.7.0.tgz +0 -0
  4. package/dist/cli.js +315 -36
  5. package/dist/commands/apply.d.ts.map +1 -1
  6. package/dist/commands/apply.js +2 -2
  7. package/dist/commands/apply.js.map +1 -1
  8. package/dist/commands/verifyMcp.d.ts.map +1 -1
  9. package/dist/commands/verifyMcp.js +26 -4
  10. package/dist/commands/verifyMcp.js.map +1 -1
  11. package/dist/constants/index.d.ts +1 -1
  12. package/dist/constants/index.d.ts.map +1 -1
  13. package/dist/constants/index.js +1 -1
  14. package/dist/constants/index.js.map +1 -1
  15. package/dist/constants/mcp.d.ts +1 -0
  16. package/dist/constants/mcp.d.ts.map +1 -1
  17. package/dist/constants/mcp.js +2 -0
  18. package/dist/constants/mcp.js.map +1 -1
  19. package/dist/core/mcpClient.d.ts +124 -6
  20. package/dist/core/mcpClient.d.ts.map +1 -1
  21. package/dist/core/mcpClient.js +385 -39
  22. package/dist/core/mcpClient.js.map +1 -1
  23. package/dist/lib/utils/index.d.ts +3 -1
  24. package/dist/lib/utils/index.d.ts.map +1 -1
  25. package/dist/lib/utils/index.js +4 -1
  26. package/dist/lib/utils/index.js.map +1 -1
  27. package/dist/types/index.d.ts +10 -1
  28. package/dist/types/index.d.ts.map +1 -1
  29. package/dist/types/jsonSchema.d.ts +31 -0
  30. package/dist/types/jsonSchema.d.ts.map +1 -0
  31. package/dist/types/jsonSchema.js +6 -0
  32. package/dist/types/jsonSchema.js.map +1 -0
  33. package/dist/utils/packageVersion.d.ts +105 -0
  34. package/dist/utils/packageVersion.d.ts.map +1 -0
  35. package/dist/utils/packageVersion.js +219 -0
  36. package/dist/utils/packageVersion.js.map +1 -0
  37. package/package.json +1 -1
  38. package/dist/agentinit-1.6.0.tgz +0 -0
@@ -4,8 +4,10 @@ import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/
4
4
  import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";
5
5
  import { countTokens } from 'contextcalc';
6
6
  import { green, yellow, red } from 'kleur/colors';
7
+ import { logger } from '../utils/logger.js';
8
+ import { extractPackageFromCommand, fetchLatestVersion } from '../utils/packageVersion.js';
7
9
  import { MCPServerType } from '../types/index.js';
8
- import { DEFAULT_CONNECTION_TIMEOUT_MS, MCP_VERIFIER_CONFIG, TimeoutError, TOKEN_COUNT_THRESHOLDS } from '../constants/index.js';
10
+ import { DEFAULT_CONNECTION_TIMEOUT_MS, MAX_RESOURCE_CONTENT_SIZE, MCP_VERIFIER_CONFIG, TimeoutError, TOKEN_COUNT_THRESHOLDS } from '../constants/index.js';
9
11
  export class MCPVerificationError extends Error {
10
12
  serverName;
11
13
  constructor(message, serverName) {
@@ -16,6 +18,18 @@ export class MCPVerificationError extends Error {
16
18
  }
17
19
  export class MCPVerifier {
18
20
  defaultTimeout;
21
+ /**
22
+ * Creates a new MCP server verifier instance
23
+ *
24
+ * @param defaultTimeout - Default connection timeout in milliseconds (default: 30000)
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * const verifier = new MCPVerifier();
29
+ * // or with custom timeout
30
+ * const verifier = new MCPVerifier(15000);
31
+ * ```
32
+ */
19
33
  constructor(defaultTimeout = DEFAULT_CONNECTION_TIMEOUT_MS) {
20
34
  this.defaultTimeout = defaultTimeout;
21
35
  }
@@ -29,6 +43,122 @@ export class MCPVerifier {
29
43
  return yellow(tokenCount.toString());
30
44
  return red(tokenCount.toString());
31
45
  }
46
+ /**
47
+ * Check if tool has valid input schema with properties
48
+ */
49
+ hasValidInputSchema(tool) {
50
+ return tool.inputSchema !== undefined
51
+ && typeof tool.inputSchema === 'object'
52
+ && Object.keys(tool.inputSchema.properties || {}).length > 0;
53
+ }
54
+ /**
55
+ * Format type information from schema property
56
+ */
57
+ formatType(schema) {
58
+ const type = schema.type || 'any';
59
+ return Array.isArray(type) ? type.join(' | ') : type;
60
+ }
61
+ /**
62
+ * Format number range constraints
63
+ */
64
+ formatNumberRange(schema) {
65
+ const min = schema.minimum !== undefined ? schema.minimum : '-∞';
66
+ const max = schema.maximum !== undefined ? schema.maximum : '∞';
67
+ return `(${min}-${max})`;
68
+ }
69
+ /**
70
+ * Format string length constraints
71
+ */
72
+ formatStringLength(schema) {
73
+ const minLen = schema.minLength !== undefined ? schema.minLength : 0;
74
+ const maxLen = schema.maxLength !== undefined ? schema.maxLength : '∞';
75
+ return `length: ${minLen}-${maxLen}`;
76
+ }
77
+ /**
78
+ * Format array item constraints
79
+ */
80
+ formatArrayConstraints(schema) {
81
+ const constraints = [];
82
+ if (schema.items) {
83
+ const itemType = schema.items.type;
84
+ const itemTypeStr = itemType
85
+ ? (Array.isArray(itemType) ? itemType.join(' | ') : itemType)
86
+ : 'any';
87
+ constraints.push(`items: ${itemTypeStr}`);
88
+ if (schema.minItems !== undefined || schema.maxItems !== undefined) {
89
+ const minItems = schema.minItems !== undefined ? schema.minItems : 0;
90
+ const maxItems = schema.maxItems !== undefined ? schema.maxItems : '∞';
91
+ constraints.push(`(${minItems}-${maxItems} items)`);
92
+ }
93
+ }
94
+ return constraints;
95
+ }
96
+ /**
97
+ * Collect all constraints for a parameter
98
+ */
99
+ formatConstraints(schema, typeInfo) {
100
+ const constraints = [];
101
+ // Enum values
102
+ if (schema.enum && Array.isArray(schema.enum)) {
103
+ constraints.push(`[${schema.enum.join(', ')}]`);
104
+ }
105
+ // Min/Max for numbers
106
+ if (schema.minimum !== undefined || schema.maximum !== undefined) {
107
+ constraints.push(this.formatNumberRange(schema));
108
+ }
109
+ // Default value
110
+ if (schema.default !== undefined) {
111
+ constraints.push(`default: ${JSON.stringify(schema.default)}`);
112
+ }
113
+ // Min/Max length for strings
114
+ if (schema.minLength !== undefined || schema.maxLength !== undefined) {
115
+ constraints.push(this.formatStringLength(schema));
116
+ }
117
+ // Pattern for strings
118
+ if (schema.pattern) {
119
+ constraints.push(`pattern: ${schema.pattern}`);
120
+ }
121
+ // Array items - handle both single type and union types
122
+ const isArray = Array.isArray(schema.type)
123
+ ? schema.type.includes('array')
124
+ : schema.type === 'array';
125
+ if (isArray) {
126
+ constraints.push(...this.formatArrayConstraints(schema));
127
+ }
128
+ return constraints;
129
+ }
130
+ /**
131
+ * Format a single parameter for display
132
+ */
133
+ formatParameter(name, schema, isRequired) {
134
+ const parts = [];
135
+ const typeInfo = this.formatType(schema);
136
+ // Parameter name with required/optional label
137
+ parts.push(`${name} (${isRequired ? 'required' : 'optional'})`);
138
+ parts.push(typeInfo);
139
+ // Add description if available
140
+ if (schema.description) {
141
+ parts.push(schema.description);
142
+ }
143
+ // Add constraints
144
+ const constraints = this.formatConstraints(schema, typeInfo);
145
+ if (constraints.length > 0) {
146
+ parts.push(constraints.join(', '));
147
+ }
148
+ return ` • ${parts.join(' - ')}`;
149
+ }
150
+ /**
151
+ * Format tool parameters from inputSchema for display
152
+ */
153
+ formatToolParameters(tool) {
154
+ if (!this.hasValidInputSchema(tool)) {
155
+ return [];
156
+ }
157
+ const schema = tool.inputSchema;
158
+ const properties = schema.properties || {};
159
+ const required = schema.required || [];
160
+ return Object.entries(properties).map(([name, prop]) => this.formatParameter(name, prop, required.includes(name)));
161
+ }
32
162
  /**
33
163
  * Calculate token counts for MCP tools based on how they appear in Claude's context
34
164
  */
@@ -76,26 +206,71 @@ export class MCPVerifier {
76
206
  const functionDefinition = JSON.stringify(toolForCounting);
77
207
  const claudeToolRepresentation = `<function>${functionDefinition}</function>`;
78
208
  // Count tokens for the complete tool representation including wrapper
79
- // TODO: This 5x multiplier is a temporary fix to better match Claude Code's context calculation
80
- // Needs further investigation for accurate token counting
81
- const tokenCount = countTokens(claudeToolRepresentation) * 5;
209
+ //
210
+ // Token Counting Methodology:
211
+ // We use a 9x multiplier based on empirical testing against Claude Code v2.x /context command.
212
+ // Base calculation counts JSON schema representation, but Claude Code adds significant overhead:
213
+ // - System instructions for MCP tool usage patterns
214
+ // - Additional formatting and metadata per tool
215
+ // - Function calling protocol overhead
216
+ //
217
+ // Example (everything MCP server):
218
+ // Our base count: ~340 tokens (echo tool)
219
+ // Claude Code actual: 596 tokens (echo tool)
220
+ // Ratio: 596/340 = 1.75x
221
+ // Applied multiplier: 5x * 1.75 = 8.75x ≈ 9x
222
+ //
223
+ // This multiplier was validated against @modelcontextprotocol/server-everything v0.6.2
224
+ // on Claude Code v2.x in October 2025.
225
+ const tokenCount = countTokens(claudeToolRepresentation) * 9;
82
226
  toolTokenCounts.set(tool.name, tokenCount);
83
227
  totalToolTokens += tokenCount;
84
228
  }
85
229
  catch (error) {
86
230
  // If token counting fails for a specific tool, default to 0
87
- console.warn(`Failed to count tokens for tool ${tool.name}:`, error);
231
+ logger.error(`Failed to count tokens for tool ${tool.name}: ${error instanceof Error ? error.message : String(error)}`);
88
232
  toolTokenCounts.set(tool.name, 0);
89
233
  }
90
234
  }
91
235
  return { toolTokenCounts, totalToolTokens };
92
236
  }
93
237
  /**
94
- * Verify a single MCP server
238
+ * Verifies a single MCP server and retrieves its capabilities
239
+ *
240
+ * @param server - MCP server configuration
241
+ * @param options - Verification options
242
+ * @param options.timeout - Connection timeout in milliseconds (overrides default)
243
+ * @param options.includeResourceContents - Fetch actual resource data (may be slow for large resources)
244
+ * @param options.includePromptDetails - Fetch prompt templates with full message content
245
+ * @param options.includeTokenCounts - Calculate token usage for tools (default: true)
246
+ * @returns Verification result with server capabilities, connection time, and status
247
+ *
248
+ * @example
249
+ * ```typescript
250
+ * const verifier = new MCPVerifier();
251
+ * const result = await verifier.verifyServer(
252
+ * {
253
+ * name: 'filesystem',
254
+ * type: MCPServerType.STDIO,
255
+ * command: 'npx',
256
+ * args: ['-y', '@modelcontextprotocol/server-filesystem', '/workspace']
257
+ * },
258
+ * {
259
+ * timeout: 10000,
260
+ * includeResourceContents: true,
261
+ * includePromptDetails: true
262
+ * }
263
+ * );
264
+ *
265
+ * if (result.status === 'success') {
266
+ * console.log(`Tools: ${result.capabilities.tools.length}`);
267
+ * console.log(`Total tokens: ${result.capabilities.totalToolTokens}`);
268
+ * }
269
+ * ```
95
270
  */
96
- async verifyServer(server, timeout) {
271
+ async verifyServer(server, options) {
97
272
  const startTime = Date.now();
98
- const timeoutMs = timeout || this.defaultTimeout;
273
+ const timeoutMs = options?.timeout || this.defaultTimeout;
99
274
  const abortController = new AbortController();
100
275
  let client = null;
101
276
  let transport = null;
@@ -131,7 +306,7 @@ export class MCPVerifier {
131
306
  });
132
307
  });
133
308
  // Connect to the server with timeout
134
- const connectPromise = this.connectAndVerify(client, transport, server, abortController.signal);
309
+ const connectPromise = this.connectAndVerify(client, transport, server, abortController.signal, options);
135
310
  const capabilities = await Promise.race([connectPromise, timeoutPromise]);
136
311
  const connectionTime = Date.now() - startTime;
137
312
  return {
@@ -169,10 +344,37 @@ export class MCPVerifier {
169
344
  }
170
345
  }
171
346
  /**
172
- * Verify multiple MCP servers
347
+ * Verifies multiple MCP servers in parallel
348
+ *
349
+ * @param servers - Array of MCP server configurations to verify
350
+ * @param options - Verification options (applied to all servers)
351
+ * @returns Array of verification results for each server
352
+ *
353
+ * @example
354
+ * ```typescript
355
+ * const verifier = new MCPVerifier();
356
+ * const servers = [
357
+ * {
358
+ * name: 'filesystem',
359
+ * type: MCPServerType.STDIO,
360
+ * command: 'npx',
361
+ * args: ['-y', '@modelcontextprotocol/server-filesystem', '/workspace']
362
+ * },
363
+ * {
364
+ * name: 'github',
365
+ * type: MCPServerType.HTTP,
366
+ * url: 'https://api.githubcopilot.com/mcp/',
367
+ * headers: { Authorization: 'Bearer YOUR_TOKEN' }
368
+ * }
369
+ * ];
370
+ *
371
+ * const results = await verifier.verifyServers(servers, { timeout: 15000 });
372
+ * const successCount = results.filter(r => r.status === 'success').length;
373
+ * console.log(`${successCount}/${results.length} servers verified successfully`);
374
+ * ```
173
375
  */
174
- async verifyServers(servers, timeout) {
175
- const results = await Promise.allSettled(servers.map(server => this.verifyServer(server, timeout)));
376
+ async verifyServers(servers, options) {
377
+ const results = await Promise.allSettled(servers.map(server => this.verifyServer(server, options)));
176
378
  return results.map((result, index) => {
177
379
  if (result.status === 'fulfilled') {
178
380
  return result.value;
@@ -231,7 +433,7 @@ export class MCPVerifier {
231
433
  /**
232
434
  * Connect to the server and retrieve capabilities
233
435
  */
234
- async connectAndVerify(client, transport, server, abortSignal) {
436
+ async connectAndVerify(client, transport, server, abortSignal, options) {
235
437
  try {
236
438
  // Check if operation was aborted before starting
237
439
  if (abortSignal?.aborted) {
@@ -239,12 +441,39 @@ export class MCPVerifier {
239
441
  }
240
442
  // Connect to the server
241
443
  await client.connect(transport);
242
- // Get server info
444
+ // Extract server version from MCP protocol
445
+ const serverVersion = client.getServerVersion();
446
+ logger.debug(`[Version Detection] MCP protocol returned: ${JSON.stringify(serverVersion)}`);
447
+ // Get server info from MCP protocol or fallback to defaults
243
448
  const serverInfo = {
244
- name: server.name,
245
- version: "unknown",
449
+ name: serverVersion?.name || server.name,
450
+ version: serverVersion?.version || "unknown",
246
451
  protocolVersion: "unknown"
247
452
  };
453
+ // If version is still unknown and this is a STDIO server, try npm registry fallback
454
+ if (serverInfo.version === "unknown" && server.type === MCPServerType.STDIO) {
455
+ logger.debug(`[Version Detection] Version unknown, attempting npm registry fallback for STDIO server`);
456
+ const packageSpec = extractPackageFromCommand(server.command, server.args);
457
+ if (packageSpec) {
458
+ logger.debug(`[Version Detection] Extracted package: ${packageSpec}`);
459
+ try {
460
+ const registryVersion = await fetchLatestVersion(packageSpec, { timeout: 3000 });
461
+ if (registryVersion) {
462
+ serverInfo.version = registryVersion;
463
+ logger.debug(`[Version Detection] npm registry returned: ${registryVersion}`);
464
+ }
465
+ else {
466
+ logger.debug(`[Version Detection] npm registry returned no version for: ${packageSpec}`);
467
+ }
468
+ }
469
+ catch (error) {
470
+ logger.debug(`[Version Detection] npm registry lookup failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
471
+ }
472
+ }
473
+ else {
474
+ logger.debug(`[Version Detection] Could not extract package name from command: ${server.command} ${server.args?.join(' ')}`);
475
+ }
476
+ }
248
477
  // Check for abort before continuing
249
478
  if (abortSignal?.aborted) {
250
479
  throw new Error('Operation aborted');
@@ -257,6 +486,7 @@ export class MCPVerifier {
257
486
  const mcpTool = { name: tool.name };
258
487
  if (tool.description !== undefined)
259
488
  mcpTool.description = tool.description;
489
+ // Cast to any since MCP SDK type doesn't exactly match our JSONSchema interface
260
490
  if (tool.inputSchema !== undefined)
261
491
  mcpTool.inputSchema = tool.inputSchema;
262
492
  return mcpTool;
@@ -273,7 +503,8 @@ export class MCPVerifier {
273
503
  const resources = [];
274
504
  try {
275
505
  const resourcesResponse = await client.listResources();
276
- resources.push(...resourcesResponse.resources.map(resource => {
506
+ // Fetch all resources in parallel for better performance
507
+ const resourcePromises = resourcesResponse.resources.map(async (resource) => {
277
508
  const mcpResource = { uri: resource.uri };
278
509
  if (resource.name !== undefined)
279
510
  mcpResource.name = resource.name;
@@ -281,8 +512,42 @@ export class MCPVerifier {
281
512
  mcpResource.description = resource.description;
282
513
  if (resource.mimeType !== undefined)
283
514
  mcpResource.mimeType = resource.mimeType;
515
+ // Optionally fetch resource contents
516
+ if (options?.includeResourceContents) {
517
+ try {
518
+ const resourceData = await client.readResource({ uri: resource.uri });
519
+ if (resourceData.contents && resourceData.contents.length > 0) {
520
+ const content = resourceData.contents[0];
521
+ if (content && 'text' in content && typeof content.text === 'string') {
522
+ // Check size limit for text content
523
+ const contentSize = Buffer.byteLength(content.text, 'utf8');
524
+ if (contentSize > MAX_RESOURCE_CONTENT_SIZE) {
525
+ logger.debug(`Resource content too large for ${resource.uri}: ${contentSize} bytes (max: ${MAX_RESOURCE_CONTENT_SIZE})`);
526
+ }
527
+ else {
528
+ mcpResource.contents = content.text;
529
+ }
530
+ }
531
+ else if (content && 'blob' in content && typeof content.blob === 'string') {
532
+ // Check size limit for blob content
533
+ const blobBuffer = Buffer.from(content.blob, 'base64');
534
+ if (blobBuffer.length > MAX_RESOURCE_CONTENT_SIZE) {
535
+ logger.debug(`Resource content too large for ${resource.uri}: ${blobBuffer.length} bytes (max: ${MAX_RESOURCE_CONTENT_SIZE})`);
536
+ }
537
+ else {
538
+ mcpResource.contents = new Uint8Array(blobBuffer);
539
+ }
540
+ }
541
+ }
542
+ }
543
+ catch (resourceError) {
544
+ // Failed to fetch resource content, continue without it
545
+ logger.debug(`Failed to fetch resource content for ${resource.uri}: ${resourceError instanceof Error ? resourceError.message : 'Unknown error'}`);
546
+ }
547
+ }
284
548
  return mcpResource;
285
- }));
549
+ });
550
+ resources.push(...await Promise.all(resourcePromises));
286
551
  }
287
552
  catch (error) {
288
553
  // Resources might not be supported, continue
@@ -295,7 +560,8 @@ export class MCPVerifier {
295
560
  const prompts = [];
296
561
  try {
297
562
  const promptsResponse = await client.listPrompts();
298
- prompts.push(...promptsResponse.prompts.map(prompt => {
563
+ // Fetch all prompts in parallel for better performance
564
+ const promptPromises = promptsResponse.prompts.map(async (prompt) => {
299
565
  const mcpPrompt = { name: prompt.name };
300
566
  if (prompt.description !== undefined)
301
567
  mcpPrompt.description = prompt.description;
@@ -310,22 +576,53 @@ export class MCPVerifier {
310
576
  return mcpArg;
311
577
  });
312
578
  }
579
+ // Optionally fetch prompt template
580
+ if (options?.includePromptDetails) {
581
+ try {
582
+ // Get prompt with empty arguments to see the template structure
583
+ const promptData = await client.getPrompt({ name: prompt.name, arguments: {} });
584
+ if (promptData.messages && promptData.messages.length > 0) {
585
+ // Combine all message contents into the template
586
+ mcpPrompt.template = promptData.messages
587
+ .map(msg => {
588
+ if (typeof msg.content === 'string')
589
+ return msg.content;
590
+ if (typeof msg.content === 'object' && 'text' in msg.content)
591
+ return msg.content.text;
592
+ return JSON.stringify(msg.content);
593
+ })
594
+ .join('\n\n');
595
+ }
596
+ }
597
+ catch (promptError) {
598
+ // Failed to fetch prompt details, continue without it
599
+ logger.debug(`Failed to fetch prompt template for ${prompt.name}: ${promptError instanceof Error ? promptError.message : 'Unknown error'}`);
600
+ }
601
+ }
313
602
  return mcpPrompt;
314
- }));
603
+ });
604
+ prompts.push(...await Promise.all(promptPromises));
315
605
  }
316
606
  catch (error) {
317
607
  // Prompts might not be supported, continue
318
608
  }
319
- // Calculate token counts for tools
320
- const { toolTokenCounts, totalToolTokens } = this.calculateToolTokens(tools, server.name);
321
- return {
609
+ // Calculate token counts for tools (unless disabled)
610
+ const shouldIncludeTokenCounts = options?.includeTokenCounts !== false;
611
+ const tokenData = shouldIncludeTokenCounts
612
+ ? this.calculateToolTokens(tools, server.name)
613
+ : undefined;
614
+ const capabilities = {
322
615
  tools,
323
616
  resources,
324
617
  prompts,
325
- serverInfo,
326
- toolTokenCounts,
327
- totalToolTokens
618
+ serverInfo
328
619
  };
620
+ // Only include token fields when they're calculated
621
+ if (tokenData) {
622
+ capabilities.toolTokenCounts = tokenData.toolTokenCounts;
623
+ capabilities.totalToolTokens = tokenData.totalToolTokens;
624
+ }
625
+ return capabilities;
329
626
  }
330
627
  finally {
331
628
  // Clean up the connection
@@ -338,7 +635,23 @@ export class MCPVerifier {
338
635
  }
339
636
  }
340
637
  /**
341
- * Format verification results for display
638
+ * Formats verification results for console display with color-coded output
639
+ *
640
+ * @param results - Array of verification results to format
641
+ * @returns Formatted string with tools, resources, prompts, and connection status
642
+ *
643
+ * @remarks
644
+ * - Token counts are color-coded: green (≤5k), yellow (5k-15k), red (>15k)
645
+ * - Resources and prompts are shown when DEBUG=1 or when content/templates are fetched
646
+ * - Failed servers display connection details for debugging
647
+ *
648
+ * @example
649
+ * ```typescript
650
+ * const verifier = new MCPVerifier();
651
+ * const results = await verifier.verifyServers(servers);
652
+ * const formatted = verifier.formatResults(results);
653
+ * console.log(formatted);
654
+ * ```
342
655
  */
343
656
  formatResults(results) {
344
657
  const isDebugMode = process.env.DEBUG === '1';
@@ -360,21 +673,54 @@ export class MCPVerifier {
360
673
  const tokenCount = capabilities.toolTokenCounts?.get(tool.name) || 0;
361
674
  const tokenDisplay = tokenCount > 0 ? ` (${tokenCount} tokens)` : '';
362
675
  output.push(` • ${tool.name}${tokenDisplay}${tool.description ? ` - ${tool.description}` : ''}`);
676
+ // Display parameters if available
677
+ const parameters = this.formatToolParameters(tool);
678
+ if (parameters.length > 0) {
679
+ parameters.forEach(param => output.push(param));
680
+ }
363
681
  });
364
682
  }
365
- // Only show resources and prompts in debug mode
366
- if (isDebugMode && capabilities.resources.length > 0) {
367
- output.push(` \n Resources (${capabilities.resources.length}):`);
368
- capabilities.resources.forEach(resource => {
369
- const resourceName = resource.name || resource.uri.split('/').pop() || resource.uri;
370
- output.push(` • ${resourceName}${resource.description ? ` - ${resource.description}` : ''}`);
371
- });
683
+ // Show resources (in debug mode or if contents were fetched)
684
+ if (capabilities.resources.length > 0) {
685
+ const hasContents = capabilities.resources.some(r => r.contents !== undefined);
686
+ if (isDebugMode || hasContents) {
687
+ output.push(` \n Resources (${capabilities.resources.length}):`);
688
+ capabilities.resources.forEach(resource => {
689
+ const resourceName = resource.name || resource.uri.split('/').pop() || resource.uri;
690
+ output.push(` • ${resourceName}${resource.description ? ` - ${resource.description}` : ''}`);
691
+ // Show content preview if fetched
692
+ if (resource.contents) {
693
+ const contentStr = typeof resource.contents === 'string'
694
+ ? resource.contents
695
+ : `<binary data: ${resource.contents.length} bytes>`;
696
+ const preview = contentStr.length > 100
697
+ ? contentStr.slice(0, 100) + '...'
698
+ : contentStr;
699
+ output.push(` Content: ${preview}`);
700
+ }
701
+ });
702
+ }
372
703
  }
373
- if (isDebugMode && capabilities.prompts.length > 0) {
374
- output.push(` \n Prompts (${capabilities.prompts.length}):`);
375
- capabilities.prompts.forEach(prompt => {
376
- output.push(` • ${prompt.name}${prompt.description ? ` - ${prompt.description}` : ''}`);
377
- });
704
+ // Show prompts (in debug mode or if templates were fetched)
705
+ if (capabilities.prompts.length > 0) {
706
+ const hasTemplates = capabilities.prompts.some(p => p.template !== undefined);
707
+ if (isDebugMode || hasTemplates) {
708
+ output.push(` \n Prompts (${capabilities.prompts.length}):`);
709
+ capabilities.prompts.forEach(prompt => {
710
+ output.push(` • ${prompt.name}${prompt.description ? ` - ${prompt.description}` : ''}`);
711
+ // Show template preview if fetched
712
+ if (prompt.template) {
713
+ const preview = prompt.template.length > 100
714
+ ? prompt.template.slice(0, 100) + '...'
715
+ : prompt.template;
716
+ output.push(` Template: ${preview}`);
717
+ }
718
+ // Show arguments if present
719
+ if (prompt.arguments && prompt.arguments.length > 0) {
720
+ output.push(` Arguments: ${prompt.arguments.map(a => `${a.name}${a.required ? '*' : ''}`).join(', ')}`);
721
+ }
722
+ });
723
+ }
378
724
  }
379
725
  if (capabilities.tools.length === 0 && capabilities.resources.length === 0 && capabilities.prompts.length === 0) {
380
726
  output.push(` ⚠️ No tools, resources, or prompts available`);
@@ -1 +1 @@
1
- {"version":3,"file":"mcpClient.js","sourceRoot":"","sources":["../../src/core/mcpClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcpClient.js","sourceRoot":"","sources":["../../src/core/mcpClient.ts"],"names":[],"mappings":"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"}