@cogitator-ai/mcp 17.0.11 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -171,12 +171,14 @@ interface MCPRetryConfig {
171
171
 
172
172
  #### Automatic Retry Behavior
173
173
 
174
- All MCP operations (`callTool`, `listResources`, `readResource`, `listPrompts`, `getPrompt`) automatically retry on:
174
+ All MCP operations (`callTool`, `listResources`, `readResource`, `listPrompts`, `getPrompt`) automatically retry on transient failures:
175
175
 
176
- - Connection errors (ECONNREFUSED, ECONNRESET, etc.)
177
- - Timeout errors
176
+ - Connection errors (ECONNREFUSED, ECONNRESET, closed connections)
177
+ - Request timeouts
178
178
  - Network failures
179
179
 
180
+ Deterministic failures are **not** retried: JSON-RPC protocol errors from the server (invalid params, unknown tool, internal handler errors), tool results with `isError: true`, and calls whose `signal` was aborted fail immediately.
181
+
180
182
  When a connection error is detected with `autoReconnect: true`, the client will:
181
183
 
182
184
  1. Close the existing connection
@@ -184,6 +186,8 @@ When a connection error is detected with `autoReconnect: true`, the client will:
184
186
  3. Reconnect with exponential backoff
185
187
  4. Continue the operation on the new connection
186
188
 
189
+ Concurrent operations that lose the connection at the same time share a single reconnection.
190
+
187
191
  #### Manual Reconnection
188
192
 
189
193
  ```typescript
@@ -219,10 +223,15 @@ const tools = await client.getTools();
219
223
 
220
224
  const result = await client.callTool('tool_name', { arg: 'value' });
221
225
 
226
+ const controller = new AbortController();
227
+ await client.callTool('slow_tool', {}, { signal: controller.signal, timeout: 10_000 });
228
+
222
229
  const resources = await client.listResources();
223
230
 
224
231
  const content = await client.readResource('file://path/to/file');
225
232
 
233
+ const allParts = await client.readResourceContents('file://path/to/dir');
234
+
226
235
  const prompts = await client.listPrompts();
227
236
 
228
237
  const messages = await client.getPrompt('prompt_name', { arg: 'value' });
@@ -230,6 +239,24 @@ const messages = await client.getPrompt('prompt_name', { arg: 'value' });
230
239
  await client.close();
231
240
  ```
232
241
 
242
+ ### Tool Results and Errors
243
+
244
+ `callTool` returns the server's `structuredContent` when present; otherwise the content blocks are unwrapped — text blocks are JSON-parsed when possible, a single block is returned as-is, multiple blocks are returned as an array, and an empty result is `null`.
245
+
246
+ When the server reports a tool failure (`isError: true`), `callTool` throws an `MCPToolError` carrying the tool name and the original content blocks. Tools produced by `getTools()` / `wrapMCPTools()` therefore surface MCP tool failures as regular Cogitator tool errors, and they forward the run's abort signal to the server.
247
+
248
+ ```typescript
249
+ import { MCPToolError } from '@cogitator-ai/mcp';
250
+
251
+ try {
252
+ await client.callTool('delete_file', { path: '/protected' });
253
+ } catch (error) {
254
+ if (error instanceof MCPToolError) {
255
+ console.error(error.toolName, error.message, error.content);
256
+ }
257
+ }
258
+ ```
259
+
233
260
  ### Helper Function
234
261
 
235
262
  For quick one-liner connections:
@@ -287,13 +314,17 @@ interface MCPServerConfig {
287
314
  transport: 'stdio' | 'http' | 'sse';
288
315
 
289
316
  // For HTTP transport
290
- port?: number; // Default: 3000
317
+ port?: number; // Default: 3000 (use 0 for a random free port)
291
318
  host?: string; // Default: 'localhost'
319
+ maxBodySize?: number; // Default: 10 MB, larger bodies get 413
320
+ corsOrigin?: string; // Default: '*'
292
321
 
293
- logging?: boolean; // Enable console logging
322
+ logging?: boolean; // Diagnostic logging to stderr (stdout stays clean for stdio JSON-RPC)
294
323
  }
295
324
  ```
296
325
 
326
+ Tool arguments are validated by the MCP SDK against the tool's full Zod schema (including refinements, transforms and object modifiers such as `z.looseObject`). Invalid arguments and thrown errors are returned to the client as `isError` tool results. Errors thrown by resource `read` and prompt `get` handlers are returned as JSON-RPC errors.
327
+
297
328
  ### Server Methods
298
329
 
299
330
  ```typescript
@@ -318,9 +349,10 @@ server.unregisterPrompt('summarize'); // only before start()
318
349
  server.getRegisteredPrompts();
319
350
 
320
351
  // Lifecycle
321
- await server.start();
352
+ await server.start(); // rejects if the HTTP port cannot be bound
322
353
  server.isRunning();
323
- await server.stop();
354
+ server.getPort(); // bound HTTP port, useful with port: 0
355
+ await server.stop(); // also closes open HTTP connections
324
356
  ```
325
357
 
326
358
  ### Registering Resources
@@ -632,21 +664,30 @@ const result = zodSchema.parse({
632
664
 
633
665
  ### Supported Conversions
634
666
 
635
- | JSON Schema | Zod |
636
- | -------------------------------- | ------------------------ |
637
- | `string` | `z.string()` |
638
- | `string` + `minLength/maxLength` | `z.string().min().max()` |
639
- | `string` + `pattern` | `z.string().regex()` |
640
- | `string` + `format: email` | `z.string().email()` |
641
- | `string` + `format: uri` | `z.string().url()` |
642
- | `number` | `z.number()` |
643
- | `integer` | `z.number().int()` |
644
- | `number` + `minimum/maximum` | `z.number().min().max()` |
645
- | `boolean` | `z.boolean()` |
646
- | `array` | `z.array()` |
647
- | `object` | `z.object()` |
648
- | `null` | `z.null()` |
649
- | `enum` | `z.enum()` |
667
+ | JSON Schema | Zod |
668
+ | -------------------------------- | -------------------------------- |
669
+ | `string` | `z.string()` |
670
+ | `string` + `minLength/maxLength` | `z.string().min().max()` |
671
+ | `string` + `pattern` | `z.string().regex()` |
672
+ | `string` + `format: email` | `z.string().email()` |
673
+ | `string` + `format: uri` | `z.string().url()` |
674
+ | `number` | `z.number()` |
675
+ | `integer` | `z.number().int()` |
676
+ | `number` + `minimum/maximum` | `z.number().min().max()` |
677
+ | `boolean` | `z.boolean()` |
678
+ | `array` | `z.array()` |
679
+ | `object` | `z.object()` |
680
+ | `object` without `properties` | `z.looseObject({})` |
681
+ | `additionalProperties: true` | `z.looseObject()` |
682
+ | `additionalProperties: {schema}` | `.catchall()` / `z.record()` |
683
+ | `null` | `z.null()` |
684
+ | `enum` | `z.enum()` / literal union |
685
+ | `const` | `z.literal()` |
686
+ | `type: ['string', 'null']` | `z.union()` |
687
+ | `nullable: true` (OpenAPI) | `.nullable()` |
688
+ | `oneOf` / `anyOf` / `allOf` | `z.union()` / `z.intersection()` |
689
+
690
+ Patterns that are not valid ECMAScript regular expressions are ignored instead of failing the whole conversion.
650
691
 
651
692
  ---
652
693
 
@@ -4,7 +4,7 @@
4
4
  * Converts between Cogitator Tool format and MCP Tool format.
5
5
  * Enables bidirectional interoperability.
6
6
  */
7
- import { type ZodTypeAny, type ZodObject } from 'zod';
7
+ import { z, type ZodTypeAny, type ZodObject } from 'zod';
8
8
  import type { Tool, ToolSchema } from '@cogitator-ai/types';
9
9
  import type { MCPToolDefinition, MCPToolContent, ToolAdapterOptions } from '../types.js';
10
10
  import type { MCPClient } from '../client/mcp-client.js';
@@ -26,9 +26,12 @@ export declare function jsonSchemaToZod(schema: {
26
26
  type: string;
27
27
  properties?: Record<string, JsonSchemaProperty>;
28
28
  required?: string[];
29
- }): ZodObject<Record<string, ZodTypeAny>>;
29
+ additionalProperties?: boolean | JsonSchemaProperty;
30
+ }): ZodObject<Record<string, ZodTypeAny>, z.core.$ZodObjectConfig>;
30
31
  interface JsonSchemaProperty {
31
- type?: string;
32
+ type?: string | string[];
33
+ const?: unknown;
34
+ nullable?: boolean;
32
35
  description?: string;
33
36
  enum?: unknown[];
34
37
  items?: JsonSchemaProperty;
@@ -41,6 +44,7 @@ interface JsonSchemaProperty {
41
44
  maxLength?: number;
42
45
  pattern?: string;
43
46
  format?: string;
47
+ additionalProperties?: boolean | JsonSchemaProperty;
44
48
  oneOf?: JsonSchemaProperty[];
45
49
  anyOf?: JsonSchemaProperty[];
46
50
  allOf?: JsonSchemaProperty[];
@@ -1 +1 @@
1
- {"version":3,"file":"tool-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/tool-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAK,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAe,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG;IACnD,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAeA;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAyBxC;AAED,UAAU,kBAAkB;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC9B;AA0FD;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,iBAAiB,CAY5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,iBAAiB,CAUrE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,IAAI,CAmCN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,IAAI,EAAE,CAAC,CAGjB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,EAAE,CAsBpE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAwBrE"}
1
+ {"version":3,"file":"tool-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/tool-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAe,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG;IACnD,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAeA;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAC;CACrD,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAmCjE;AAED,UAAU,kBAAkB;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAC;IACpD,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC9B;AA2ID;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,iBAAiB,CAY5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,iBAAiB,CAUrE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,IAAI,CAyCN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,IAAI,EAAE,CAAC,CAGjB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,EAAE,CAkBpE;AA8BD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAiBrE"}
@@ -25,9 +25,12 @@ export function zodToJsonSchema(schema) {
25
25
  * Complex schemas may need manual adjustment.
26
26
  */
27
27
  export function jsonSchemaToZod(schema) {
28
- if (schema.type !== 'object' || !schema.properties) {
28
+ if (schema.type !== 'object') {
29
29
  return z.object({});
30
30
  }
31
+ if (!schema.properties) {
32
+ return schema.additionalProperties === false ? z.object({}) : z.looseObject({});
33
+ }
31
34
  const shape = {};
32
35
  const required = new Set(schema.required ?? []);
33
36
  for (const [key, prop] of Object.entries(schema.properties)) {
@@ -43,9 +46,38 @@ export function jsonSchemaToZod(schema) {
43
46
  }
44
47
  shape[key] = zodType;
45
48
  }
49
+ if (schema.additionalProperties === true) {
50
+ return z.looseObject(shape);
51
+ }
52
+ if (typeof schema.additionalProperties === 'object' && schema.additionalProperties !== null) {
53
+ return z.object(shape).catchall(jsonSchemaPropertyToZod(schema.additionalProperties));
54
+ }
46
55
  return z.object(shape);
47
56
  }
57
+ function isJsonLiteral(value) {
58
+ return (value === null ||
59
+ typeof value === 'string' ||
60
+ typeof value === 'number' ||
61
+ typeof value === 'boolean');
62
+ }
48
63
  function jsonSchemaPropertyToZod(prop) {
64
+ const schema = jsonSchemaPropertyToZodInner(prop);
65
+ return prop.nullable === true ? schema.nullable() : schema;
66
+ }
67
+ function jsonSchemaPropertyToZodInner(prop) {
68
+ if (Array.isArray(prop.type)) {
69
+ const variants = prop.type.map((type) => jsonSchemaPropertyToZodInner({ ...prop, type }));
70
+ if (variants.length === 0) {
71
+ return z.unknown();
72
+ }
73
+ if (variants.length === 1) {
74
+ return variants[0];
75
+ }
76
+ return z.union(variants);
77
+ }
78
+ if (prop.const !== undefined && isJsonLiteral(prop.const)) {
79
+ return z.literal(prop.const);
80
+ }
49
81
  if (prop.allOf && prop.allOf.length > 0) {
50
82
  const schemas = prop.allOf.map((variant) => jsonSchemaPropertyToZod(variant));
51
83
  return schemas.reduce((acc, schema) => z.intersection(acc, schema));
@@ -58,17 +90,16 @@ function jsonSchemaPropertyToZod(prop) {
58
90
  }
59
91
  return z.union(schemas);
60
92
  }
61
- if (prop.enum && Array.isArray(prop.enum)) {
62
- if (prop.enum.length >= 2 && prop.enum.every((v) => typeof v === 'string')) {
63
- return z.enum(prop.enum);
93
+ if (Array.isArray(prop.enum) && prop.enum.length > 0 && prop.enum.every(isJsonLiteral)) {
94
+ const values = prop.enum;
95
+ if (values.length >= 2 && values.every((v) => typeof v === 'string')) {
96
+ return z.enum(values);
64
97
  }
65
- if (prop.enum.length >= 2) {
66
- const literals = prop.enum.map((v) => z.literal(v));
67
- return z.union([literals[0], literals[1], ...literals.slice(2)]);
68
- }
69
- if (prop.enum.length === 1) {
70
- return z.literal(prop.enum[0]);
98
+ const literals = values.map((v) => z.literal(v));
99
+ if (literals.length === 1) {
100
+ return literals[0];
71
101
  }
102
+ return z.union([literals[0], literals[1], ...literals.slice(2)]);
72
103
  }
73
104
  switch (prop.type) {
74
105
  case 'string': {
@@ -80,7 +111,10 @@ function jsonSchemaPropertyToZod(prop) {
80
111
  schema = schema.max(prop.maxLength);
81
112
  }
82
113
  if (prop.pattern) {
83
- schema = schema.regex(new RegExp(prop.pattern));
114
+ const pattern = compilePattern(prop.pattern);
115
+ if (pattern) {
116
+ schema = schema.regex(pattern);
117
+ }
84
118
  }
85
119
  if (prop.format === 'email') {
86
120
  schema = schema.email();
@@ -113,8 +147,12 @@ function jsonSchemaPropertyToZod(prop) {
113
147
  type: 'object',
114
148
  properties: prop.properties,
115
149
  required: prop.required,
150
+ additionalProperties: prop.additionalProperties,
116
151
  });
117
152
  }
153
+ if (typeof prop.additionalProperties === 'object' && prop.additionalProperties !== null) {
154
+ return z.record(z.string(), jsonSchemaPropertyToZod(prop.additionalProperties));
155
+ }
118
156
  return z.record(z.string(), z.unknown());
119
157
  }
120
158
  case 'null':
@@ -123,6 +161,19 @@ function jsonSchemaPropertyToZod(prop) {
123
161
  return z.unknown();
124
162
  }
125
163
  }
164
+ function compilePattern(pattern) {
165
+ try {
166
+ return new RegExp(pattern, 'u');
167
+ }
168
+ catch {
169
+ try {
170
+ return new RegExp(pattern);
171
+ }
172
+ catch {
173
+ return undefined;
174
+ }
175
+ }
176
+ }
126
177
  /**
127
178
  * Convert a Cogitator Tool to MCP tool definition format
128
179
  */
@@ -162,25 +213,29 @@ export function mcpToCogitator(mcpTool, client, options) {
162
213
  const description = options?.descriptionTransform
163
214
  ? options.descriptionTransform(mcpTool.description)
164
215
  : mcpTool.description;
216
+ const rawInputSchema = mcpTool.inputSchema;
165
217
  const inputSchema = {
166
218
  type: 'object',
167
- properties: mcpTool.inputSchema.properties,
168
- required: mcpTool.inputSchema.required,
219
+ properties: rawInputSchema.properties,
220
+ required: rawInputSchema.required,
221
+ additionalProperties: rawInputSchema.additionalProperties,
169
222
  };
170
223
  const parameters = jsonSchemaToZod(inputSchema);
171
224
  const tool = {
172
225
  name,
173
226
  description,
174
227
  parameters,
175
- execute: async (params, _context) => {
176
- return client.callTool(mcpTool.name, params);
228
+ execute: async (params, context) => {
229
+ return client.callTool(mcpTool.name, (params ?? {}), {
230
+ signal: context?.signal,
231
+ });
177
232
  },
178
233
  toJSON: () => ({
179
234
  name,
180
235
  description,
181
236
  parameters: {
182
237
  type: 'object',
183
- properties: mcpTool.inputSchema.properties,
238
+ properties: mcpTool.inputSchema.properties ?? {},
184
239
  required: mcpTool.inputSchema.required,
185
240
  },
186
241
  }),
@@ -215,15 +270,38 @@ export function resultToMCPContent(result) {
215
270
  return [{ type: 'text', text: result }];
216
271
  }
217
272
  if (typeof result === 'object') {
218
- if (Array.isArray(result) &&
219
- result.length > 0 &&
220
- result.every((item) => typeof item === 'object' && item !== null && 'type' in item)) {
273
+ if (Array.isArray(result) && result.length > 0 && result.every(isMCPToolContent)) {
221
274
  return result;
222
275
  }
223
276
  return [{ type: 'text', text: JSON.stringify(result, null, 2) }];
224
277
  }
225
278
  return [{ type: 'text', text: String(result) }];
226
279
  }
280
+ /**
281
+ * Check whether a value is a well-formed MCP tool content block
282
+ */
283
+ function isMCPToolContent(value) {
284
+ if (typeof value !== 'object' || value === null) {
285
+ return false;
286
+ }
287
+ const item = value;
288
+ switch (item.type) {
289
+ case 'text':
290
+ return typeof item.text === 'string';
291
+ case 'image':
292
+ case 'audio':
293
+ return typeof item.data === 'string' && typeof item.mimeType === 'string';
294
+ case 'resource': {
295
+ const resource = item.resource;
296
+ return (typeof resource === 'object' &&
297
+ resource !== null &&
298
+ typeof resource.uri === 'string' &&
299
+ (typeof resource.text === 'string' || typeof resource.blob === 'string'));
300
+ }
301
+ default:
302
+ return false;
303
+ }
304
+ }
227
305
  /**
228
306
  * Convert MCP content to a simple result value
229
307
  */
@@ -231,16 +309,7 @@ export function mcpContentToResult(content) {
231
309
  if (!content || content.length === 0) {
232
310
  return null;
233
311
  }
234
- if (content.length === 1 && content[0].type === 'text') {
235
- const text = content[0].text;
236
- try {
237
- return JSON.parse(text);
238
- }
239
- catch {
240
- return text;
241
- }
242
- }
243
- return content.map((item) => {
312
+ const values = content.map((item) => {
244
313
  if (item.type === 'text') {
245
314
  try {
246
315
  return JSON.parse(item.text);
@@ -251,5 +320,6 @@ export function mcpContentToResult(content) {
251
320
  }
252
321
  return item;
253
322
  });
323
+ return values.length === 1 ? values[0] : values;
254
324
  }
255
325
  //# sourceMappingURL=tool-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-adapter.js","sourceRoot":"","sources":["../../src/adapter/tool-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-adapter.js","sourceRoot":"","sources":["../../src/adapter/tool-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAmC,MAAM,KAAK,CAAC;AAKzD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAkB;IAKhD,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE;QACxC,eAAe,EAAE,KAAK;QACtB,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,aAAa;KACtB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,UAAqC,CAAC;IACrD,OAAO,MAAM,CAAC,OAAO,CAAC;IAEtB,OAAO,MAIN,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAK/B;IACC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,oBAAoB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,KAAK,GAA+B,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAEhD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,IAAI,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAE5C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAgB,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC/B,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,IAAI,MAAM,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ,IAAI,MAAM,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;QAC5F,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AA0BD,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAwB;IACvD,MAAM,MAAM,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AAC7D,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAwB;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,4BAA4B,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1F,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,CAAC,CAAC,KAAK,CAAC,QAAqD,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9E,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;IAC/C,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;QACjF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,CAAC,CAAC,KAAK,CAAC,OAAoD,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QACvF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;YAClF,OAAO,CAAC,CAAC,IAAI,CAAC,MAA+B,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC5B,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBACnD,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACxB,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACrE,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QAErB,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAClF,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,OAAO,eAAe,CAAC;oBACrB,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;iBAChD,CAAC,CAAC;YACL,CAAC;YACD,IAAI,OAAO,IAAI,CAAC,oBAAoB,KAAK,QAAQ,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;gBACxF,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAClF,CAAC;YACD,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAElB;YACE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,OAAe;IACrC,IAAI,CAAC;QACH,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAU;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAE7B,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU;YACxC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ;SACrC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAkB;IAChD,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU;YACxC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ;SACrC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,OAA0B,EAC1B,MAAiB,EACjB,OAA4B;IAE5B,MAAM,IAAI,GAAG,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAEzF,MAAM,WAAW,GAAG,OAAO,EAAE,oBAAoB;QAC/C,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,WAAW,CAAC;QACnD,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAExB,MAAM,cAAc,GAAG,OAAO,CAAC,WAE9B,CAAC;IACF,MAAM,WAAW,GAAG;QAClB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,cAAc,CAAC,UAA4D;QACvF,QAAQ,EAAE,cAAc,CAAC,QAAQ;QACjC,oBAAoB,EAAE,cAAc,CAAC,oBAAoB;KAC1D,CAAC;IACF,MAAM,UAAU,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAEhD,MAAM,IAAI,GAAS;QACjB,IAAI;QACJ,WAAW;QACX,UAAU;QAEV,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,OAAoB,EAAoB,EAAE;YACzE,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,CAA4B,EAAE;gBAC9E,MAAM,EAAE,OAAO,EAAE,MAAM;aACxB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,EAAE,GAAe,EAAE,CAAC,CAAC;YACzB,IAAI;YACJ,WAAW;YACX,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,UAAU,IAAI,EAAE;gBAChD,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ;aACvC;SACF,CAAC;KACH,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAiB,EACjB,OAA4B;IAE5B,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACvD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAe;IAChD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACjF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,KAAgC,CAAC;IAC9C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;QACvC,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACV,OAAO,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;QAC5E,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAsD,CAAC;YAC7E,OAAO,CACL,OAAO,QAAQ,KAAK,QAAQ;gBAC5B,QAAQ,KAAK,IAAI;gBACjB,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ;gBAChC,CAAC,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CACzE,CAAC;QACJ,CAAC;QACD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAyB;IAC1D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAY,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC,IAAI,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAClD,CAAC"}
@@ -5,7 +5,16 @@
5
5
  * resources, and prompts.
6
6
  */
7
7
  import type { Tool } from '@cogitator-ai/types';
8
- import type { MCPClientConfig, MCPResource, MCPResourceContent, MCPPrompt, MCPPromptMessage, MCPToolDefinition } from '../types.js';
8
+ import type { MCPClientConfig, MCPResource, MCPResourceContent, MCPPrompt, MCPPromptMessage, MCPToolDefinition, MCPToolContent, MCPCallToolOptions } from '../types.js';
9
+ /**
10
+ * Error raised when an MCP server reports a tool failure (`isError: true`).
11
+ * Tool failures are deterministic results, so they are never retried.
12
+ */
13
+ export declare class MCPToolError extends Error {
14
+ readonly toolName: string;
15
+ readonly content: MCPToolContent[];
16
+ constructor(toolName: string, content: MCPToolContent[]);
17
+ }
9
18
  /**
10
19
  * MCP Client for connecting to external MCP servers
11
20
  *
@@ -35,7 +44,8 @@ export declare class MCPClient {
35
44
  private client;
36
45
  private transport;
37
46
  private connected;
38
- private reconnecting;
47
+ private closed;
48
+ private reconnectPromise;
39
49
  private config;
40
50
  private retryConfig;
41
51
  private serverCapabilities;
@@ -65,9 +75,14 @@ export declare class MCPClient {
65
75
  */
66
76
  isReconnecting(): boolean;
67
77
  /**
68
- * Attempt to reconnect to the server
78
+ * Attempt to reconnect to the server.
79
+ *
80
+ * Concurrent callers share the same in-flight reconnection, so parallel
81
+ * operations that all observe a dropped connection wait for one reconnect
82
+ * instead of failing.
69
83
  */
70
84
  reconnect(): Promise<void>;
85
+ private performReconnect;
71
86
  /**
72
87
  * Execute an operation with retry logic
73
88
  */
@@ -85,15 +100,27 @@ export declare class MCPClient {
85
100
  /**
86
101
  * Call a tool on the MCP server with automatic retry on failure
87
102
  */
88
- callTool(name: string, args: Record<string, unknown>): Promise<unknown>;
103
+ /**
104
+ * Call a tool on the MCP server with automatic retry on transient failures.
105
+ *
106
+ * Returns `structuredContent` when the server provides it, otherwise the
107
+ * text/JSON value(s) of the content blocks. Throws {@link MCPToolError}
108
+ * when the server reports `isError: true`; such failures are not retried.
109
+ */
110
+ callTool(name: string, args: Record<string, unknown>, options?: MCPCallToolOptions): Promise<unknown>;
89
111
  /**
90
112
  * List available resources from the MCP server with automatic retry
91
113
  */
92
114
  listResources(): Promise<MCPResource[]>;
93
115
  /**
94
- * Read a resource from the MCP server with automatic retry
116
+ * Read a resource from the MCP server with automatic retry.
117
+ * Returns the first content entry; use {@link readResourceContents} for all of them.
95
118
  */
96
119
  readResource(uri: string): Promise<MCPResourceContent>;
120
+ /**
121
+ * Read every content entry of a resource (e.g. multi-part or templated resources)
122
+ */
123
+ readResourceContents(uri: string): Promise<MCPResourceContent[]>;
97
124
  /**
98
125
  * List available prompts from the MCP server with automatic retry
99
126
  */
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../../src/client/mcp-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,UAAU,CAAC;AA8BlB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,kBAAkB,CAInB;IAEP,OAAO;IAOP;;OAEG;WACU,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAajE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IA4B9B;;OAEG;YACW,UAAU;IAkCxB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,eAAe,IAAI,OAAO,IAAI,CAAC,kBAAkB;IAIjD;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA6ChC;;OAEG;YACW,SAAS;IA+CvB;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAyBzD;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAKjC;;OAEG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IA8B7E;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IA0B7C;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkB5D;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IA6BzC;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA8BzF;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAS7B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC;IACvE,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC,CASD"}
1
+ {"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../../src/client/mcp-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EAEd,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAkBlB;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC;gBAEvB,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE;CAUxD;AA8BD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,kBAAkB,CAInB;IAEP,OAAO;IAOP;;OAEG;WACU,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAajE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IA4B9B;;OAEG;YACW,UAAU;IAkCxB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,eAAe,IAAI,OAAO,IAAI,CAAC,kBAAkB;IAIjD;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;;;;;OAMG;IACH,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;YAYZ,gBAAgB;IAmD9B;;OAEG;YACW,SAAS;IA+DvB;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAyBzD;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAKjC;;OAEG;IACH;;;;;;OAMG;IACG,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,OAAO,CAAC;IAiCnB;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IA0B7C;;;OAGG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAK5D;;OAEG;IACG,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAYtE;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IA6BzC;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAiBzF;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAW7B;AA8BD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC;IACvE,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC,CASD"}