@cogitator-ai/mcp 19.2.10 → 19.3.1
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 +20 -7
- package/dist/adapter/tool-adapter.d.ts +35 -8
- package/dist/adapter/tool-adapter.d.ts.map +1 -1
- package/dist/adapter/tool-adapter.js +174 -49
- package/dist/adapter/tool-adapter.js.map +1 -1
- package/dist/client/mcp-client.d.ts +23 -9
- package/dist/client/mcp-client.d.ts.map +1 -1
- package/dist/client/mcp-client.js +110 -14
- package/dist/client/mcp-client.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/server/approval.d.ts +9 -0
- package/dist/server/approval.d.ts.map +1 -0
- package/dist/server/approval.js +29 -0
- package/dist/server/approval.js.map +1 -0
- package/dist/server/mcp-server.d.ts +8 -1
- package/dist/server/mcp-server.d.ts.map +1 -1
- package/dist/server/mcp-server.js +64 -16
- package/dist/server/mcp-server.js.map +1 -1
- package/dist/server/serve-agents.d.ts +6 -3
- package/dist/server/serve-agents.d.ts.map +1 -1
- package/dist/server/serve-agents.js +4 -23
- package/dist/server/serve-agents.js.map +1 -1
- package/dist/types.d.ts +38 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -4
|
@@ -5,7 +5,7 @@
|
|
|
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, MCPToolContent, MCPCallToolOptions } from '../types.js';
|
|
8
|
+
import type { MCPClientConfig, MCPResource, MCPResourceContent, MCPPrompt, MCPPromptMessage, MCPToolDefinition, MCPToolContent, MCPCallToolOptions, ToolAdapterOptions } from '../types.js';
|
|
9
9
|
/**
|
|
10
10
|
* Error raised when an MCP server reports a tool failure (`isError: true`).
|
|
11
11
|
* Tool failures are deterministic results, so they are never retried.
|
|
@@ -15,6 +15,16 @@ export declare class MCPToolError extends Error {
|
|
|
15
15
|
readonly content: MCPToolContent[];
|
|
16
16
|
constructor(toolName: string, content: MCPToolContent[]);
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Error raised when a call of a tool that is not marked idempotent or read-only times out or
|
|
20
|
+
* loses its connection. The call is not sent again: the server may still be running it, or may
|
|
21
|
+
* have finished it, and a second call could repeat its effect (a deploy, an email).
|
|
22
|
+
*/
|
|
23
|
+
export declare class MCPToolInterruptedError extends Error {
|
|
24
|
+
readonly toolName: string;
|
|
25
|
+
readonly reason: 'timeout' | 'connection-lost';
|
|
26
|
+
constructor(toolName: string, reason: 'timeout' | 'connection-lost', cause: unknown);
|
|
27
|
+
}
|
|
18
28
|
/**
|
|
19
29
|
* MCP Client for connecting to external MCP servers
|
|
20
30
|
*
|
|
@@ -96,18 +106,22 @@ export declare class MCPClient {
|
|
|
96
106
|
*
|
|
97
107
|
* These tools can be directly used with Cogitator agents.
|
|
98
108
|
*/
|
|
99
|
-
getTools(): Promise<Tool[]>;
|
|
109
|
+
getTools(options?: ToolAdapterOptions): Promise<Tool[]>;
|
|
100
110
|
/**
|
|
101
|
-
* Call a tool on the MCP server
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
*
|
|
111
|
+
* Call a tool on the MCP server.
|
|
112
|
+
*
|
|
113
|
+
* Returns `structuredContent` when the server provides it (and no media), the text/JSON
|
|
114
|
+
* value(s) of text content, or a `toolContent()` result when the content holds images, audio
|
|
115
|
+
* or binary resources. Throws {@link MCPToolError} when the server reports `isError: true`.
|
|
105
116
|
*
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
*
|
|
117
|
+
* A call is sent once. Only with `idempotent: true` (a read-only or idempotent tool) is it sent
|
|
118
|
+
* again after a timeout or a lost connection, otherwise those throw
|
|
119
|
+
* {@link MCPToolInterruptedError}, since the server may have run the call. A connection that was
|
|
120
|
+
* already lost is restored before the call is sent.
|
|
109
121
|
*/
|
|
110
122
|
callTool(name: string, args: Record<string, unknown>, options?: MCPCallToolOptions): Promise<unknown>;
|
|
123
|
+
/** A call that must not run twice: sent once, on a connection restored beforehand if needed. */
|
|
124
|
+
private callOnce;
|
|
111
125
|
/**
|
|
112
126
|
* List available resources from the MCP server with automatic retry
|
|
113
127
|
*/
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../../src/client/mcp-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
8
8
|
import { McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js';
|
|
9
9
|
import { createStdioTransport, createHttpTransport } from './transports.js';
|
|
10
|
-
import {
|
|
10
|
+
import { wrapMCPTools, mcpContentToResult } from '../adapter/tool-adapter.js';
|
|
11
11
|
const DEFAULT_RETRY_CONFIG = {
|
|
12
12
|
maxRetries: 3,
|
|
13
13
|
initialDelay: 1000,
|
|
@@ -38,6 +38,35 @@ export class MCPToolError extends Error {
|
|
|
38
38
|
this.content = content;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Error raised when a call of a tool that is not marked idempotent or read-only times out or
|
|
43
|
+
* loses its connection. The call is not sent again: the server may still be running it, or may
|
|
44
|
+
* have finished it, and a second call could repeat its effect (a deploy, an email).
|
|
45
|
+
*/
|
|
46
|
+
export class MCPToolInterruptedError extends Error {
|
|
47
|
+
toolName;
|
|
48
|
+
reason;
|
|
49
|
+
constructor(toolName, reason, cause) {
|
|
50
|
+
const what = reason === 'timeout'
|
|
51
|
+
? `MCP tool "${toolName}" timed out${timeoutOf(cause)}`
|
|
52
|
+
: `The connection to the MCP server was lost during a call of tool "${toolName}"`;
|
|
53
|
+
super(`${what}. It was not called again, since the server may have run it and the tool is ` +
|
|
54
|
+
'not marked idempotent or read-only.', { cause });
|
|
55
|
+
this.name = 'MCPToolInterruptedError';
|
|
56
|
+
this.toolName = toolName;
|
|
57
|
+
this.reason = reason;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function timeoutOf(error) {
|
|
61
|
+
if (!(error instanceof McpError) || typeof error.data !== 'object' || error.data === null) {
|
|
62
|
+
return '';
|
|
63
|
+
}
|
|
64
|
+
const timeout = error.data.timeout;
|
|
65
|
+
return typeof timeout === 'number' ? ` after ${timeout}ms` : '';
|
|
66
|
+
}
|
|
67
|
+
function isRequestTimeout(error) {
|
|
68
|
+
return error instanceof McpError && error.code === REQUEST_TIMEOUT_CODE;
|
|
69
|
+
}
|
|
41
70
|
function isConnectionError(error) {
|
|
42
71
|
if (error instanceof McpError) {
|
|
43
72
|
return error.code === CONNECTION_CLOSED_CODE;
|
|
@@ -321,6 +350,7 @@ export class MCPClient {
|
|
|
321
350
|
name: tool.name,
|
|
322
351
|
description: tool.description ?? '',
|
|
323
352
|
inputSchema: tool.inputSchema,
|
|
353
|
+
...(tool.annotations && { annotations: tool.annotations }),
|
|
324
354
|
});
|
|
325
355
|
}
|
|
326
356
|
cursor = result.nextCursor;
|
|
@@ -333,30 +363,34 @@ export class MCPClient {
|
|
|
333
363
|
*
|
|
334
364
|
* These tools can be directly used with Cogitator agents.
|
|
335
365
|
*/
|
|
336
|
-
async getTools() {
|
|
337
|
-
|
|
338
|
-
return definitions.map((def) => mcpToCogitator(def, this));
|
|
366
|
+
async getTools(options) {
|
|
367
|
+
return wrapMCPTools(this, options);
|
|
339
368
|
}
|
|
340
369
|
/**
|
|
341
|
-
* Call a tool on the MCP server
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
*
|
|
370
|
+
* Call a tool on the MCP server.
|
|
371
|
+
*
|
|
372
|
+
* Returns `structuredContent` when the server provides it (and no media), the text/JSON
|
|
373
|
+
* value(s) of text content, or a `toolContent()` result when the content holds images, audio
|
|
374
|
+
* or binary resources. Throws {@link MCPToolError} when the server reports `isError: true`.
|
|
345
375
|
*
|
|
346
|
-
*
|
|
347
|
-
*
|
|
348
|
-
*
|
|
376
|
+
* A call is sent once. Only with `idempotent: true` (a read-only or idempotent tool) is it sent
|
|
377
|
+
* again after a timeout or a lost connection, otherwise those throw
|
|
378
|
+
* {@link MCPToolInterruptedError}, since the server may have run the call. A connection that was
|
|
379
|
+
* already lost is restored before the call is sent.
|
|
349
380
|
*/
|
|
350
381
|
async callTool(name, args, options) {
|
|
351
|
-
|
|
382
|
+
const call = async () => {
|
|
352
383
|
const result = await this.client.callTool({ name, arguments: args }, undefined, {
|
|
353
384
|
signal: options?.signal,
|
|
354
385
|
timeout: options?.timeout,
|
|
355
386
|
});
|
|
356
|
-
const content = (Array.isArray(result.content) ? result.content : []);
|
|
387
|
+
const content = toToolContent(Array.isArray(result.content) ? result.content : []);
|
|
357
388
|
if (result.isError) {
|
|
358
389
|
throw new MCPToolError(name, content);
|
|
359
390
|
}
|
|
391
|
+
if (content.length > 0 && hasMedia(content)) {
|
|
392
|
+
return mcpContentToResult(content);
|
|
393
|
+
}
|
|
360
394
|
if (result.structuredContent !== undefined) {
|
|
361
395
|
return result.structuredContent;
|
|
362
396
|
}
|
|
@@ -367,7 +401,37 @@ export class MCPClient {
|
|
|
367
401
|
return result.toolResult;
|
|
368
402
|
}
|
|
369
403
|
return null;
|
|
370
|
-
}
|
|
404
|
+
};
|
|
405
|
+
if (options?.idempotent === true) {
|
|
406
|
+
return this.withRetry(call, `callTool:${name}`, options.signal);
|
|
407
|
+
}
|
|
408
|
+
return this.callOnce(call, name);
|
|
409
|
+
}
|
|
410
|
+
/** A call that must not run twice: sent once, on a connection restored beforehand if needed. */
|
|
411
|
+
async callOnce(operation, toolName) {
|
|
412
|
+
if (this.closed) {
|
|
413
|
+
throw new Error(`callTool:${toolName} failed: MCP client has been closed`);
|
|
414
|
+
}
|
|
415
|
+
if (!this.connected &&
|
|
416
|
+
this.config.autoReconnect !== false &&
|
|
417
|
+
this.retryConfig.retryOnConnectionLoss) {
|
|
418
|
+
await this.reconnect();
|
|
419
|
+
}
|
|
420
|
+
try {
|
|
421
|
+
return await operation();
|
|
422
|
+
}
|
|
423
|
+
catch (error) {
|
|
424
|
+
if (error instanceof MCPToolError)
|
|
425
|
+
throw error;
|
|
426
|
+
if (isConnectionError(error)) {
|
|
427
|
+
this.connected = false;
|
|
428
|
+
throw new MCPToolInterruptedError(toolName, 'connection-lost', error);
|
|
429
|
+
}
|
|
430
|
+
if (isRequestTimeout(error)) {
|
|
431
|
+
throw new MCPToolInterruptedError(toolName, 'timeout', error);
|
|
432
|
+
}
|
|
433
|
+
throw error;
|
|
434
|
+
}
|
|
371
435
|
}
|
|
372
436
|
/**
|
|
373
437
|
* List available resources from the MCP server with automatic retry
|
|
@@ -478,6 +542,38 @@ export class MCPClient {
|
|
|
478
542
|
}
|
|
479
543
|
}
|
|
480
544
|
}
|
|
545
|
+
/** The content blocks of a tool result; a link to a resource becomes a line of text. */
|
|
546
|
+
function toToolContent(content) {
|
|
547
|
+
return content.map((block) => {
|
|
548
|
+
switch (block.type) {
|
|
549
|
+
case 'text':
|
|
550
|
+
return { type: 'text', text: block.text };
|
|
551
|
+
case 'image':
|
|
552
|
+
case 'audio':
|
|
553
|
+
return { type: block.type, data: block.data, mimeType: block.mimeType };
|
|
554
|
+
case 'resource':
|
|
555
|
+
return {
|
|
556
|
+
type: 'resource',
|
|
557
|
+
resource: {
|
|
558
|
+
uri: block.resource.uri,
|
|
559
|
+
mimeType: block.resource.mimeType,
|
|
560
|
+
text: 'text' in block.resource ? block.resource.text : undefined,
|
|
561
|
+
blob: 'blob' in block.resource ? block.resource.blob : undefined,
|
|
562
|
+
},
|
|
563
|
+
};
|
|
564
|
+
case 'resource_link':
|
|
565
|
+
return {
|
|
566
|
+
type: 'text',
|
|
567
|
+
text: `Resource: ${block.uri}${block.name ? ` (${block.name})` : ''}${block.mimeType ? `, ${block.mimeType}` : ''}`,
|
|
568
|
+
};
|
|
569
|
+
}
|
|
570
|
+
});
|
|
571
|
+
}
|
|
572
|
+
function hasMedia(content) {
|
|
573
|
+
return content.some((block) => block.type === 'image' ||
|
|
574
|
+
block.type === 'audio' ||
|
|
575
|
+
(block.type === 'resource' && typeof block.resource.blob === 'string'));
|
|
576
|
+
}
|
|
481
577
|
function toPromptContent(content) {
|
|
482
578
|
switch (content.type) {
|
|
483
579
|
case 'text':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../src/client/mcp-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../src/client/mcp-client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
* - MCPServer: Expose Cogitator tools as an MCP server
|
|
7
7
|
* - Tool Adapter: Convert between Cogitator and MCP tool formats
|
|
8
8
|
*/
|
|
9
|
-
export { MCPClient, MCPToolError, connectMCPServer } from './client/mcp-client.js';
|
|
9
|
+
export { MCPClient, MCPToolError, MCPToolInterruptedError, connectMCPServer, } from './client/mcp-client.js';
|
|
10
10
|
export { createStdioTransport, createHttpTransport } from './client/transports.js';
|
|
11
11
|
export type { StdioTransportConfig, HttpTransportConfig } from './client/transports.js';
|
|
12
12
|
export { MCPServer, serveMCPTools } from './server/mcp-server.js';
|
|
13
13
|
export { serveAgents, agentTools } from './server/serve-agents.js';
|
|
14
14
|
export type { AgentHost, AgentToolAnswer, ServeAgentsConfig } from './server/serve-agents.js';
|
|
15
|
-
export { cogitatorToMCP, toolSchemaToMCP, mcpToCogitator, wrapMCPTools, zodToJsonSchema, jsonSchemaToZod, resultToMCPContent, mcpContentToResult, } from './adapter/tool-adapter.js';
|
|
16
|
-
export type { MCPClientConfig, MCPCallToolOptions, MCPRetryConfig, MCPServerConfig, MCPCaller, MCPAuthFunction, MCPToolContext, MCPElicitRequest, MCPElicitResult, MCPElicitField, MCPTransportType, MCPResource, MCPResourceContent, MCPResourceReadContent, MCPResourceConfig, MCPPrompt, MCPPromptArgument, MCPPromptArgumentConfig, MCPPromptMessage, MCPPromptReplyMessage, MCPPromptConfig, MCPPromptResult, MCPToolDefinition, MCPToolCallResult, MCPToolContent, ToolAdapterOptions, } from './types.js';
|
|
15
|
+
export { cogitatorToMCP, toolSchemaToMCP, mcpToCogitator, wrapMCPTools, normalizeMCPToolName, zodToJsonSchema, jsonSchemaToZod, resultToMCPContent, mcpContentToResult, } from './adapter/tool-adapter.js';
|
|
16
|
+
export type { MCPClientConfig, MCPCallToolOptions, MCPRetryConfig, MCPServerConfig, MCPCaller, MCPAuthFunction, MCPToolContext, MCPElicitRequest, MCPElicitResult, MCPElicitField, MCPTransportType, MCPResource, MCPResourceContent, MCPResourceReadContent, MCPResourceConfig, MCPPrompt, MCPPromptArgument, MCPPromptArgumentConfig, MCPPromptMessage, MCPPromptReplyMessage, MCPPromptConfig, MCPPromptResult, MCPToolDefinition, MCPToolAnnotations, MCPToolCallResult, MCPToolContent, ToolAdapterOptions, } from './types.js';
|
|
17
17
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,SAAS,EACT,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAChF,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAErF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAChE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE3F,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,SAAS,EACT,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,GACnB,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
* - MCPServer: Expose Cogitator tools as an MCP server
|
|
7
7
|
* - Tool Adapter: Convert between Cogitator and MCP tool formats
|
|
8
8
|
*/
|
|
9
|
-
export { MCPClient, MCPToolError, connectMCPServer } from './client/mcp-client.js';
|
|
9
|
+
export { MCPClient, MCPToolError, MCPToolInterruptedError, connectMCPServer, } from './client/mcp-client.js';
|
|
10
10
|
export { createStdioTransport, createHttpTransport } from './client/transports.js';
|
|
11
11
|
export { MCPServer, serveMCPTools } from './server/mcp-server.js';
|
|
12
12
|
export { serveAgents, agentTools } from './server/serve-agents.js';
|
|
13
|
-
export { cogitatorToMCP, toolSchemaToMCP, mcpToCogitator, wrapMCPTools, zodToJsonSchema, jsonSchemaToZod, resultToMCPContent, mcpContentToResult, } from './adapter/tool-adapter.js';
|
|
13
|
+
export { cogitatorToMCP, toolSchemaToMCP, mcpToCogitator, wrapMCPTools, normalizeMCPToolName, zodToJsonSchema, jsonSchemaToZod, resultToMCPContent, mcpContentToResult, } from './adapter/tool-adapter.js';
|
|
14
14
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,SAAS,EACT,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAGhF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGhE,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ToolApprovalDecision, ToolApprovalRequest } from '@cogitator-ai/types';
|
|
2
|
+
import type { MCPToolContext } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Ask the person at the MCP client whether a tool call that needs approval may run, through
|
|
5
|
+
* elicitation. `undefined` when nobody can be asked (the client does not support elicitation,
|
|
6
|
+
* or the transport cannot carry it), so the caller decides what an unanswered call means.
|
|
7
|
+
*/
|
|
8
|
+
export declare function elicitApproval(elicit: MCPToolContext['elicit'], request: ToolApprovalRequest): Promise<ToolApprovalDecision | undefined>;
|
|
9
|
+
//# sourceMappingURL=approval.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../src/server/approval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,EAChC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAmB3C"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ask the person at the MCP client whether a tool call that needs approval may run, through
|
|
3
|
+
* elicitation. `undefined` when nobody can be asked (the client does not support elicitation,
|
|
4
|
+
* or the transport cannot carry it), so the caller decides what an unanswered call means.
|
|
5
|
+
*/
|
|
6
|
+
export async function elicitApproval(elicit, request) {
|
|
7
|
+
if (!elicit)
|
|
8
|
+
return undefined;
|
|
9
|
+
const reply = await elicit({
|
|
10
|
+
message: `The agent wants to run ${request.toolName} (${request.description}) with ${JSON.stringify(request.arguments)}. Approve?`,
|
|
11
|
+
schema: {
|
|
12
|
+
type: 'object',
|
|
13
|
+
properties: {
|
|
14
|
+
approve: { type: 'boolean', title: 'Approve', default: false },
|
|
15
|
+
reason: { type: 'string', title: 'Reason (if you decline)' },
|
|
16
|
+
},
|
|
17
|
+
required: ['approve'],
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
if (!reply)
|
|
21
|
+
return undefined;
|
|
22
|
+
if (reply.action !== 'accept')
|
|
23
|
+
return { approved: false, reason: 'The user declined' };
|
|
24
|
+
const reason = typeof reply.content.reason === 'string' ? reply.content.reason : undefined;
|
|
25
|
+
return reply.content.approve === true
|
|
26
|
+
? { approved: true }
|
|
27
|
+
: { approved: false, ...(reason && { reason }) };
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=approval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval.js","sourceRoot":"","sources":["../../src/server/approval.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAgC,EAChC,OAA4B;IAE5B,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC;QACzB,OAAO,EAAE,0BAA0B,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,WAAW,UAAU,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY;QAClI,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC9D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,yBAAyB,EAAE;aAC7D;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF,CAAC,CAAC;IACH,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;IACvF,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI;QACnC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;QACpB,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACrD,CAAC"}
|
|
@@ -34,6 +34,7 @@ export declare class MCPServer {
|
|
|
34
34
|
private resources;
|
|
35
35
|
private prompts;
|
|
36
36
|
private started;
|
|
37
|
+
private ownInvoker?;
|
|
37
38
|
private httpServer?;
|
|
38
39
|
private readonly sessions;
|
|
39
40
|
constructor(config: MCPServerConfig);
|
|
@@ -112,10 +113,16 @@ export declare class MCPServer {
|
|
|
112
113
|
* any object.
|
|
113
114
|
*/
|
|
114
115
|
private buildInputSchema;
|
|
116
|
+
/** The invoker tool calls run through: `config.toolInvoker`, else a Cogitator of its own. */
|
|
117
|
+
private invoker;
|
|
115
118
|
/**
|
|
116
|
-
*
|
|
119
|
+
* Run a tool call through the tool invoker, the way an agent run executes it: schema
|
|
120
|
+
* validation, approval, guardrails, sandbox and `tool.timeout`. A call that needs approval is
|
|
121
|
+
* asked from the person at the client through elicitation; one nobody can approve does not run
|
|
122
|
+
* and comes back as an error that says so.
|
|
117
123
|
*/
|
|
118
124
|
private executeTool;
|
|
125
|
+
private toolError;
|
|
119
126
|
/**
|
|
120
127
|
* Write a diagnostic line to stderr when logging is enabled.
|
|
121
128
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/server/mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/server/mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,IAAI,EAAe,MAAM,qBAAqB,CAAC;AAI7D,OAAO,KAAK,EAKV,eAAe,EACf,iBAAiB,EAEjB,eAAe,EAGhB,MAAM,UAAU,CAAC;AAmFlB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAC,CAAY;IAC/B,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAOrB;gBAEQ,MAAM,EAAE,eAAe;IAInC;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAQ9B;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,IAAI;IAM3C;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAOrC;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAI9B;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAQjD;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAMrD;;;OAGG;IACH,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAOxC;;OAEG;IACH,sBAAsB,IAAI,MAAM,EAAE;IAIlC;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAQ7C;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI;IAMjD;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAOvC;;OAEG;IACH,oBAAoB,IAAI,MAAM,EAAE;IAIhC;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW;IAmBnB;;OAEG;IACH,OAAO,CAAC,eAAe;IAavB;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAKxB,6FAA6F;IAC7F,OAAO,CAAC,OAAO;IAMf;;;;;OAKG;YACW,WAAW;IAmCzB,OAAO,CAAC,SAAS;IAKjB;;;;;OAKG;IACH,OAAO,CAAC,GAAG;IAQX;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkE3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8CzB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmC5B,+FAA+F;IAC/F,OAAO,CAAC,SAAS;IAIjB;;;OAGG;YACW,MAAM;IAqBpB;;;OAGG;YACW,YAAY;IAU1B;;;;OAIG;YACW,oBAAoB;IAuClC;;OAEG;YACW,eAAe;IA0F7B;;;OAGG;IACH,OAAO,IAAI,MAAM,GAAG,SAAS;IAK7B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgC3B;;OAEG;IACH,SAAS,IAAI,OAAO;CAGrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,SAAS,CAAC,CAKpB"}
|
|
@@ -7,8 +7,10 @@
|
|
|
7
7
|
import { randomUUID } from 'node:crypto';
|
|
8
8
|
import { McpServer, ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
9
9
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
10
|
+
import { Cogitator } from '@cogitator-ai/core';
|
|
10
11
|
import { ElicitResultSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
11
12
|
import { resultToMCPContent } from '../adapter/tool-adapter.js';
|
|
13
|
+
import { elicitApproval } from './approval.js';
|
|
12
14
|
import { z } from 'zod';
|
|
13
15
|
function toServerContent(item) {
|
|
14
16
|
switch (item.type) {
|
|
@@ -44,6 +46,28 @@ function errorMessageOf(error) {
|
|
|
44
46
|
return error instanceof Error ? error.message : String(error);
|
|
45
47
|
}
|
|
46
48
|
const PERMISSIVE_INPUT_SCHEMA = z.looseObject({});
|
|
49
|
+
/** Arguments the MCP SDK already parsed with the tool's own schema: taken as they are. */
|
|
50
|
+
const SDK_PARSED_ARGUMENTS = z.custom(() => true);
|
|
51
|
+
/**
|
|
52
|
+
* The tool as the invoker runs it once the MCP SDK validated the call's arguments against the
|
|
53
|
+
* tool's schema: everything that decides how it runs (approval, sandbox, timeout, side effects)
|
|
54
|
+
* stays, and the arguments are not parsed a second time, so transforms apply exactly once.
|
|
55
|
+
*/
|
|
56
|
+
function withSdkParsedArguments(tool) {
|
|
57
|
+
return {
|
|
58
|
+
name: tool.name,
|
|
59
|
+
description: tool.description,
|
|
60
|
+
...(tool.category !== undefined && { category: tool.category }),
|
|
61
|
+
...(tool.tags !== undefined && { tags: tool.tags }),
|
|
62
|
+
parameters: SDK_PARSED_ARGUMENTS,
|
|
63
|
+
execute: (params, context) => tool.execute(params, context),
|
|
64
|
+
...(tool.sideEffects !== undefined && { sideEffects: tool.sideEffects }),
|
|
65
|
+
...(tool.requiresApproval !== undefined && { requiresApproval: tool.requiresApproval }),
|
|
66
|
+
...(tool.timeout !== undefined && { timeout: tool.timeout }),
|
|
67
|
+
...(tool.sandbox !== undefined && { sandbox: tool.sandbox }),
|
|
68
|
+
toJSON: () => tool.toJSON(),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
47
71
|
/**
|
|
48
72
|
* MCP Server for exposing Cogitator tools
|
|
49
73
|
*
|
|
@@ -72,6 +96,7 @@ export class MCPServer {
|
|
|
72
96
|
resources = new Map();
|
|
73
97
|
prompts = new Map();
|
|
74
98
|
started = false;
|
|
99
|
+
ownInvoker;
|
|
75
100
|
httpServer;
|
|
76
101
|
sessions = new Map();
|
|
77
102
|
constructor(config) {
|
|
@@ -225,30 +250,50 @@ export class MCPServer {
|
|
|
225
250
|
const params = tool.parameters;
|
|
226
251
|
return params instanceof z.ZodType ? params : PERMISSIVE_INPUT_SCHEMA;
|
|
227
252
|
}
|
|
253
|
+
/** The invoker tool calls run through: `config.toolInvoker`, else a Cogitator of its own. */
|
|
254
|
+
invoker() {
|
|
255
|
+
if (this.config.toolInvoker)
|
|
256
|
+
return this.config.toolInvoker;
|
|
257
|
+
this.ownInvoker ??= new Cogitator();
|
|
258
|
+
return this.ownInvoker;
|
|
259
|
+
}
|
|
228
260
|
/**
|
|
229
|
-
*
|
|
261
|
+
* Run a tool call through the tool invoker, the way an agent run executes it: schema
|
|
262
|
+
* validation, approval, guardrails, sandbox and `tool.timeout`. A call that needs approval is
|
|
263
|
+
* asked from the person at the client through elicitation; one nobody can approve does not run
|
|
264
|
+
* and comes back as an error that says so.
|
|
230
265
|
*/
|
|
231
266
|
async executeTool(tool, args, extra, caller) {
|
|
232
|
-
const
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
signal: extra.signal,
|
|
236
|
-
...(caller?.userId !== undefined && { userId: caller.userId }),
|
|
237
|
-
...(this.canElicit() && { elicit: (request) => this.elicit(extra, request) }),
|
|
238
|
-
};
|
|
267
|
+
const elicit = this.canElicit()
|
|
268
|
+
? (request) => this.elicit(extra, request)
|
|
269
|
+
: undefined;
|
|
239
270
|
try {
|
|
240
|
-
const result = await
|
|
241
|
-
|
|
271
|
+
const result = await this.invoker().invokeTool(withSdkParsedArguments(tool), args ?? {}, {
|
|
272
|
+
runId: `mcp_${randomUUID()}`,
|
|
273
|
+
agentId: 'mcp-server',
|
|
274
|
+
signal: extra.signal,
|
|
275
|
+
...(caller?.userId !== undefined && { userId: caller.userId }),
|
|
276
|
+
...(elicit && { context: { elicit } }),
|
|
277
|
+
onApproval: (request) => elicitApproval(elicit, request),
|
|
278
|
+
});
|
|
279
|
+
if (result.pendingApproval) {
|
|
280
|
+
return this.toolError(tool, `Tool "${tool.name}" needs the user's approval, and nobody could approve this call: ` +
|
|
281
|
+
'the client cannot answer MCP elicitation requests (or the server has no sessions). ' +
|
|
282
|
+
'Use a client that supports elicitation, or decide approvals on the server with ' +
|
|
283
|
+
'guardrails.onToolApproval.');
|
|
284
|
+
}
|
|
285
|
+
if (result.error !== undefined)
|
|
286
|
+
return this.toolError(tool, result.error);
|
|
287
|
+
return { content: resultToMCPContent(result.result).map(toServerContent) };
|
|
242
288
|
}
|
|
243
289
|
catch (error) {
|
|
244
|
-
|
|
245
|
-
this.log('error', `Tool ${tool.name} error: ${errorMessage}`);
|
|
246
|
-
return {
|
|
247
|
-
content: [{ type: 'text', text: `Error: ${errorMessage}` }],
|
|
248
|
-
isError: true,
|
|
249
|
-
};
|
|
290
|
+
return this.toolError(tool, errorMessageOf(error));
|
|
250
291
|
}
|
|
251
292
|
}
|
|
293
|
+
toolError(tool, message) {
|
|
294
|
+
this.log('error', `Tool ${tool.name} error: ${message}`);
|
|
295
|
+
return { content: [{ type: 'text', text: `Error: ${message}` }], isError: true };
|
|
296
|
+
}
|
|
252
297
|
/**
|
|
253
298
|
* Write a diagnostic line to stderr when logging is enabled.
|
|
254
299
|
*
|
|
@@ -573,9 +618,12 @@ export class MCPServer {
|
|
|
573
618
|
const server = this.server;
|
|
574
619
|
this.server = undefined;
|
|
575
620
|
this.started = false;
|
|
621
|
+
const own = this.ownInvoker;
|
|
622
|
+
this.ownInvoker = undefined;
|
|
576
623
|
if (server) {
|
|
577
624
|
await server.close();
|
|
578
625
|
}
|
|
626
|
+
await own?.close();
|
|
579
627
|
}
|
|
580
628
|
this.log('info', 'Server stopped');
|
|
581
629
|
}
|