mcp-use 1.10.0 → 1.10.1-canary.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/dist/.tsbuildinfo +1 -1
- package/dist/{chunk-EKIKWKIM.js → chunk-3WQPXSMB.js} +228 -12
- package/dist/{chunk-J76TXLP2.js → chunk-BO2DLS2U.js} +2 -2
- package/dist/{chunk-TWQ72HSN.js → chunk-BXYYBPWE.js} +2 -2
- package/dist/{chunk-X5EWD2UY.js → chunk-ES5N2BQY.js} +1 -1
- package/dist/{chunk-BLIJYL2F.js → chunk-IVXE5QZD.js} +1 -1
- package/dist/{chunk-UZJK3IKC.js → chunk-K6EZ46MT.js} +1 -1
- package/dist/{chunk-D3GIGCHA.js → chunk-NS7PNUAI.js} +1 -1
- package/dist/index.cjs +228 -12
- package/dist/index.js +11 -11
- package/dist/src/adapters/base.d.ts +44 -0
- package/dist/src/adapters/base.d.ts.map +1 -1
- package/dist/src/adapters/langchain_adapter.d.ts +12 -1
- package/dist/src/adapters/langchain_adapter.d.ts.map +1 -1
- package/dist/src/agents/index.cjs +228 -12
- package/dist/src/agents/index.js +4 -4
- package/dist/src/agents/mcp_agent.d.ts.map +1 -1
- package/dist/src/browser.cjs +228 -12
- package/dist/src/browser.js +4 -4
- package/dist/src/client/prompts.js +3 -3
- package/dist/src/managers/server_manager.d.ts.map +1 -1
- package/dist/src/managers/tools/connect_mcp_server.d.ts.map +1 -1
- package/dist/src/react/index.cjs +1 -1
- package/dist/src/react/index.js +4 -4
- package/dist/src/server/index.cjs +1 -1
- package/dist/src/server/index.js +5 -5
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.d.ts.map +1 -1
- package/dist/{tool-execution-helpers-IMWBWRMK.js → tool-execution-helpers-G74FG2CI.js} +2 -2
- package/package.json +5 -4
package/dist/index.js
CHANGED
|
@@ -16,18 +16,13 @@ import {
|
|
|
16
16
|
ReleaseMCPServerConnectionTool,
|
|
17
17
|
RemoteAgent,
|
|
18
18
|
ServerManager
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-3WQPXSMB.js";
|
|
20
20
|
import "./chunk-CPG2WZUL.js";
|
|
21
21
|
import "./chunk-JQKKMUCT.js";
|
|
22
22
|
import {
|
|
23
23
|
CodeModeConnector,
|
|
24
24
|
PROMPTS
|
|
25
|
-
} from "./chunk-
|
|
26
|
-
import {
|
|
27
|
-
ElicitationDeclinedError,
|
|
28
|
-
ElicitationTimeoutError,
|
|
29
|
-
ElicitationValidationError
|
|
30
|
-
} from "./chunk-KUEVOU4M.js";
|
|
25
|
+
} from "./chunk-K6EZ46MT.js";
|
|
31
26
|
import {
|
|
32
27
|
ErrorBoundary,
|
|
33
28
|
Image,
|
|
@@ -39,28 +34,33 @@ import {
|
|
|
39
34
|
useWidgetProps,
|
|
40
35
|
useWidgetState,
|
|
41
36
|
useWidgetTheme
|
|
42
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-BXYYBPWE.js";
|
|
43
38
|
import {
|
|
44
39
|
BaseMCPClient,
|
|
45
40
|
ConnectionManager,
|
|
46
41
|
HttpConnector,
|
|
47
42
|
MCPSession,
|
|
48
43
|
WebSocketConnector
|
|
49
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-BO2DLS2U.js";
|
|
50
45
|
import {
|
|
51
46
|
BrowserOAuthClientProvider,
|
|
52
47
|
onMcpAuthorization
|
|
53
48
|
} from "./chunk-J75I2C26.js";
|
|
54
49
|
import {
|
|
55
50
|
BaseConnector
|
|
56
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-NS7PNUAI.js";
|
|
52
|
+
import {
|
|
53
|
+
ElicitationDeclinedError,
|
|
54
|
+
ElicitationTimeoutError,
|
|
55
|
+
ElicitationValidationError
|
|
56
|
+
} from "./chunk-KUEVOU4M.js";
|
|
57
57
|
import {
|
|
58
58
|
Tel,
|
|
59
59
|
Telemetry,
|
|
60
60
|
VERSION,
|
|
61
61
|
getPackageVersion,
|
|
62
62
|
setTelemetrySource
|
|
63
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-ES5N2BQY.js";
|
|
64
64
|
import {
|
|
65
65
|
Logger,
|
|
66
66
|
logger
|
|
@@ -43,6 +43,22 @@ export declare abstract class BaseAdapter<T> {
|
|
|
43
43
|
* @returns The converted tool, or null / undefined if no tool should be produced.
|
|
44
44
|
*/
|
|
45
45
|
protected abstract convertTool(mcpTool: Record<string, any>, connector: BaseConnector): T | null | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Convert an MCP resource to the target framework's tool format.
|
|
48
|
+
*
|
|
49
|
+
* @param mcpResource The MCP resource definition to convert.
|
|
50
|
+
* @param connector The connector that provides this resource.
|
|
51
|
+
* @returns The converted resource as a tool, or null / undefined if no tool should be produced.
|
|
52
|
+
*/
|
|
53
|
+
protected abstract convertResource?(mcpResource: Record<string, any>, connector: BaseConnector): T | null | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* Convert an MCP prompt to the target framework's tool format.
|
|
56
|
+
*
|
|
57
|
+
* @param mcpPrompt The MCP prompt definition to convert.
|
|
58
|
+
* @param connector The connector that provides this prompt.
|
|
59
|
+
* @returns The converted prompt as a tool, or null / undefined if no tool should be produced.
|
|
60
|
+
*/
|
|
61
|
+
protected abstract convertPrompt?(mcpPrompt: Record<string, any>, connector: BaseConnector): T | null | undefined;
|
|
46
62
|
/**
|
|
47
63
|
* Create tools from MCP tools in all provided connectors.
|
|
48
64
|
*
|
|
@@ -50,6 +66,34 @@ export declare abstract class BaseAdapter<T> {
|
|
|
50
66
|
* @returns A promise that resolves with all converted tools.
|
|
51
67
|
*/
|
|
52
68
|
createToolsFromConnectors(connectors: BaseConnector[]): Promise<T[]>;
|
|
69
|
+
/**
|
|
70
|
+
* Dynamically load resources for a specific connector.
|
|
71
|
+
*
|
|
72
|
+
* @param connector The connector to load resources for.
|
|
73
|
+
* @returns The list of resources that were loaded in the target framework's format.
|
|
74
|
+
*/
|
|
75
|
+
loadResourcesForConnector(connector: BaseConnector): Promise<T[]>;
|
|
76
|
+
/**
|
|
77
|
+
* Dynamically load prompts for a specific connector.
|
|
78
|
+
*
|
|
79
|
+
* @param connector The connector to load prompts for.
|
|
80
|
+
* @returns The list of prompts that were loaded in the target framework's format.
|
|
81
|
+
*/
|
|
82
|
+
loadPromptsForConnector(connector: BaseConnector): Promise<T[]>;
|
|
83
|
+
/**
|
|
84
|
+
* Create resources from MCP resources in all provided connectors.
|
|
85
|
+
*
|
|
86
|
+
* @param connectors List of MCP connectors to create resources from.
|
|
87
|
+
* @returns A promise that resolves with all converted resources.
|
|
88
|
+
*/
|
|
89
|
+
createResourcesFromConnectors(connectors: BaseConnector[]): Promise<T[]>;
|
|
90
|
+
/**
|
|
91
|
+
* Create prompts from MCP prompts in all provided connectors.
|
|
92
|
+
*
|
|
93
|
+
* @param connectors List of MCP connectors to create prompts from.
|
|
94
|
+
* @returns A promise that resolves with all converted prompts.
|
|
95
|
+
*/
|
|
96
|
+
createPromptsFromConnectors(connectors: BaseConnector[]): Promise<T[]>;
|
|
53
97
|
/**
|
|
54
98
|
* Check if a connector is initialized and has tools.
|
|
55
99
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/adapters/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D;;;;;GAKG;AACH,8BAAsB,WAAW,CAAC,CAAC;IACjC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IAE7C;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsC;gBAE3D,eAAe,CAAC,EAAE,MAAM,EAAE;IAItC;;;;;;;;;OASG;WACU,WAAW,CAAC,KAAK,EAAE,QAAQ,SAAS,WAAW,CAAC,KAAK,CAAC,EACjE,IAAI,EAAE,KAAK,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,QAAQ,EAClD,MAAM,EAAE,SAAS,EACjB,eAAe,CAAC,EAAE,MAAM,EAAE,GACzB,OAAO,CAAC,KAAK,EAAE,CAAC;IAyBnB;;;;;OAKG;IACG,qBAAqB,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAqCnE;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,CAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,SAAS,EAAE,aAAa,GACvB,CAAC,GAAG,IAAI,GAAG,SAAS;IAEvB;;;;;OAKG;IACU,yBAAyB,CACpC,UAAU,EAAE,aAAa,EAAE,GAC1B,OAAO,CAAC,CAAC,EAAE,CAAC;IAWf;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAIjC;;;;;OAKG;YACW,0BAA0B;CAezC"}
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/adapters/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D;;;;;GAKG;AACH,8BAAsB,WAAW,CAAC,CAAC;IACjC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IAE7C;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsC;gBAE3D,eAAe,CAAC,EAAE,MAAM,EAAE;IAItC;;;;;;;;;OASG;WACU,WAAW,CAAC,KAAK,EAAE,QAAQ,SAAS,WAAW,CAAC,KAAK,CAAC,EACjE,IAAI,EAAE,KAAK,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,QAAQ,EAClD,MAAM,EAAE,SAAS,EACjB,eAAe,CAAC,EAAE,MAAM,EAAE,GACzB,OAAO,CAAC,KAAK,EAAE,CAAC;IAyBnB;;;;;OAKG;IACG,qBAAqB,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAqCnE;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,CAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,SAAS,EAAE,aAAa,GACvB,CAAC,GAAG,IAAI,GAAG,SAAS;IAEvB;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CACjC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAChC,SAAS,EAAE,aAAa,GACvB,CAAC,GAAG,IAAI,GAAG,SAAS;IAEvB;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAC/B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,SAAS,EAAE,aAAa,GACvB,CAAC,GAAG,IAAI,GAAG,SAAS;IAEvB;;;;;OAKG;IACU,yBAAyB,CACpC,UAAU,EAAE,aAAa,EAAE,GAC1B,OAAO,CAAC,CAAC,EAAE,CAAC;IAWf;;;;;OAKG;IACG,yBAAyB,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAoCvE;;;;;OAKG;IACG,uBAAuB,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAoCrE;;;;;OAKG;IACU,6BAA6B,CACxC,UAAU,EAAE,aAAa,EAAE,GAC1B,OAAO,CAAC,CAAC,EAAE,CAAC;IAYf;;;;;OAKG;IACU,2BAA2B,CACtC,UAAU,EAAE,aAAa,EAAE,GAC1B,OAAO,CAAC,CAAC,EAAE,CAAC;IAWf;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAIjC;;;;;OAKG;YACW,0BAA0B;CAezC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { StructuredToolInterface } from "@langchain/core/tools";
|
|
2
|
-
import type { Tool as MCPTool } from "@mcp-use/modelcontextprotocol-sdk/types.js";
|
|
2
|
+
import type { Tool as MCPTool, Resource, Prompt } from "@mcp-use/modelcontextprotocol-sdk/types.js";
|
|
3
3
|
import type { BaseConnector } from "../connectors/base.js";
|
|
4
4
|
import { BaseAdapter } from "./base.js";
|
|
5
5
|
export declare class LangChainAdapter extends BaseAdapter<StructuredToolInterface> {
|
|
@@ -8,5 +8,16 @@ export declare class LangChainAdapter extends BaseAdapter<StructuredToolInterfac
|
|
|
8
8
|
* Convert a single MCP tool specification into a LangChainJS structured tool.
|
|
9
9
|
*/
|
|
10
10
|
protected convertTool(mcpTool: MCPTool, connector: BaseConnector): StructuredToolInterface | null;
|
|
11
|
+
/**
|
|
12
|
+
* Convert a single MCP resource into a LangChainJS structured tool.
|
|
13
|
+
* Each resource becomes an async tool that returns its content when called.
|
|
14
|
+
*/
|
|
15
|
+
protected convertResource(mcpResource: Resource, connector: BaseConnector): StructuredToolInterface | null;
|
|
16
|
+
/**
|
|
17
|
+
* Convert a single MCP prompt into a LangChainJS structured tool.
|
|
18
|
+
* The resulting tool executes getPrompt on the connector with the prompt's name
|
|
19
|
+
* and the user-provided arguments (if any).
|
|
20
|
+
*/
|
|
21
|
+
protected convertPrompt(mcpPrompt: Prompt, connector: BaseConnector): StructuredToolInterface | null;
|
|
11
22
|
}
|
|
12
23
|
//# sourceMappingURL=langchain_adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"langchain_adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/langchain_adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAEV,IAAI,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"langchain_adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/langchain_adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAEV,IAAI,IAAI,OAAO,EACf,QAAQ,EACR,MAAM,EACP,MAAM,4CAA4C,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAM3D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAWxC,qBAAa,gBAAiB,SAAQ,WAAW,CAAC,uBAAuB,CAAC;gBAC5D,eAAe,GAAE,MAAM,EAAO;IAI1C;;OAEG;IACH,SAAS,CAAC,WAAW,CACnB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,aAAa,GACvB,uBAAuB,GAAG,IAAI;IAmCjC;;;OAGG;IACH,SAAS,CAAC,eAAe,CACvB,WAAW,EAAE,QAAQ,EACrB,SAAS,EAAE,aAAa,GACvB,uBAAuB,GAAG,IAAI;IAkDjC;;;;OAIG;IACH,SAAS,CAAC,aAAa,CACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,aAAa,GACvB,uBAAuB,GAAG,IAAI;CA0DlC"}
|
|
@@ -1417,7 +1417,7 @@ __name(generateUUID, "generateUUID");
|
|
|
1417
1417
|
init_logging();
|
|
1418
1418
|
|
|
1419
1419
|
// src/version.ts
|
|
1420
|
-
var VERSION = "1.10.
|
|
1420
|
+
var VERSION = "1.10.1-canary.1";
|
|
1421
1421
|
function getPackageVersion() {
|
|
1422
1422
|
return VERSION;
|
|
1423
1423
|
}
|
|
@@ -2974,6 +2974,98 @@ var BaseAdapter = class {
|
|
|
2974
2974
|
logger.debug(`Available tools: ${tools.length}`);
|
|
2975
2975
|
return tools;
|
|
2976
2976
|
}
|
|
2977
|
+
/**
|
|
2978
|
+
* Dynamically load resources for a specific connector.
|
|
2979
|
+
*
|
|
2980
|
+
* @param connector The connector to load resources for.
|
|
2981
|
+
* @returns The list of resources that were loaded in the target framework's format.
|
|
2982
|
+
*/
|
|
2983
|
+
async loadResourcesForConnector(connector) {
|
|
2984
|
+
const connectorResources = [];
|
|
2985
|
+
const success = await this.ensureConnectorInitialized(connector);
|
|
2986
|
+
if (!success) {
|
|
2987
|
+
return [];
|
|
2988
|
+
}
|
|
2989
|
+
try {
|
|
2990
|
+
const resourcesResult = await connector.listAllResources();
|
|
2991
|
+
const resources = resourcesResult?.resources || [];
|
|
2992
|
+
if (this.convertResource) {
|
|
2993
|
+
for (const resource of resources) {
|
|
2994
|
+
const converted = this.convertResource(resource, connector);
|
|
2995
|
+
if (converted) {
|
|
2996
|
+
connectorResources.push(converted);
|
|
2997
|
+
}
|
|
2998
|
+
}
|
|
2999
|
+
}
|
|
3000
|
+
logger.debug(
|
|
3001
|
+
`Loaded ${connectorResources.length} new resources for connector: ${connectorResources.map((r) => r?.name ?? String(r)).join(", ")}`
|
|
3002
|
+
);
|
|
3003
|
+
} catch (err) {
|
|
3004
|
+
logger.warn(`Error loading resources for connector: ${err}`);
|
|
3005
|
+
}
|
|
3006
|
+
return connectorResources;
|
|
3007
|
+
}
|
|
3008
|
+
/**
|
|
3009
|
+
* Dynamically load prompts for a specific connector.
|
|
3010
|
+
*
|
|
3011
|
+
* @param connector The connector to load prompts for.
|
|
3012
|
+
* @returns The list of prompts that were loaded in the target framework's format.
|
|
3013
|
+
*/
|
|
3014
|
+
async loadPromptsForConnector(connector) {
|
|
3015
|
+
const connectorPrompts = [];
|
|
3016
|
+
const success = await this.ensureConnectorInitialized(connector);
|
|
3017
|
+
if (!success) {
|
|
3018
|
+
return [];
|
|
3019
|
+
}
|
|
3020
|
+
try {
|
|
3021
|
+
const promptsResult = await connector.listPrompts();
|
|
3022
|
+
const prompts = promptsResult?.prompts || [];
|
|
3023
|
+
if (this.convertPrompt) {
|
|
3024
|
+
for (const prompt of prompts) {
|
|
3025
|
+
const converted = this.convertPrompt(prompt, connector);
|
|
3026
|
+
if (converted) {
|
|
3027
|
+
connectorPrompts.push(converted);
|
|
3028
|
+
}
|
|
3029
|
+
}
|
|
3030
|
+
}
|
|
3031
|
+
logger.debug(
|
|
3032
|
+
`Loaded ${connectorPrompts.length} new prompts for connector: ${connectorPrompts.map((p) => p?.name ?? String(p)).join(", ")}`
|
|
3033
|
+
);
|
|
3034
|
+
} catch (err) {
|
|
3035
|
+
logger.warn(`Error loading prompts for connector: ${err}`);
|
|
3036
|
+
}
|
|
3037
|
+
return connectorPrompts;
|
|
3038
|
+
}
|
|
3039
|
+
/**
|
|
3040
|
+
* Create resources from MCP resources in all provided connectors.
|
|
3041
|
+
*
|
|
3042
|
+
* @param connectors List of MCP connectors to create resources from.
|
|
3043
|
+
* @returns A promise that resolves with all converted resources.
|
|
3044
|
+
*/
|
|
3045
|
+
async createResourcesFromConnectors(connectors) {
|
|
3046
|
+
const resources = [];
|
|
3047
|
+
for (const connector of connectors) {
|
|
3048
|
+
const connectorResources = await this.loadResourcesForConnector(connector);
|
|
3049
|
+
resources.push(...connectorResources);
|
|
3050
|
+
}
|
|
3051
|
+
logger.debug(`Available resources: ${resources.length}`);
|
|
3052
|
+
return resources;
|
|
3053
|
+
}
|
|
3054
|
+
/**
|
|
3055
|
+
* Create prompts from MCP prompts in all provided connectors.
|
|
3056
|
+
*
|
|
3057
|
+
* @param connectors List of MCP connectors to create prompts from.
|
|
3058
|
+
* @returns A promise that resolves with all converted prompts.
|
|
3059
|
+
*/
|
|
3060
|
+
async createPromptsFromConnectors(connectors) {
|
|
3061
|
+
const prompts = [];
|
|
3062
|
+
for (const connector of connectors) {
|
|
3063
|
+
const connectorPrompts = await this.loadPromptsForConnector(connector);
|
|
3064
|
+
prompts.push(...connectorPrompts);
|
|
3065
|
+
}
|
|
3066
|
+
logger.debug(`Available prompts: ${prompts.length}`);
|
|
3067
|
+
return prompts;
|
|
3068
|
+
}
|
|
2977
3069
|
/**
|
|
2978
3070
|
* Check if a connector is initialized and has tools.
|
|
2979
3071
|
*
|
|
@@ -3052,6 +3144,99 @@ var LangChainAdapter = class extends BaseAdapter {
|
|
|
3052
3144
|
});
|
|
3053
3145
|
return tool;
|
|
3054
3146
|
}
|
|
3147
|
+
/**
|
|
3148
|
+
* Convert a single MCP resource into a LangChainJS structured tool.
|
|
3149
|
+
* Each resource becomes an async tool that returns its content when called.
|
|
3150
|
+
*/
|
|
3151
|
+
convertResource(mcpResource, connector) {
|
|
3152
|
+
const sanitizeName = /* @__PURE__ */ __name((name) => {
|
|
3153
|
+
return name.replace(/[^A-Za-z0-9_]+/g, "_").toLowerCase().replace(/^_+|_+$/g, "");
|
|
3154
|
+
}, "sanitizeName");
|
|
3155
|
+
const resourceName = sanitizeName(
|
|
3156
|
+
mcpResource.name || `resource_${mcpResource.uri}`
|
|
3157
|
+
);
|
|
3158
|
+
const resourceUri = mcpResource.uri;
|
|
3159
|
+
const tool = new import_tools.DynamicStructuredTool({
|
|
3160
|
+
name: resourceName,
|
|
3161
|
+
description: mcpResource.description || `Return the content of the resource located at URI ${resourceUri}.`,
|
|
3162
|
+
schema: import_zod2.z.object({}).optional(),
|
|
3163
|
+
// Resources take no arguments
|
|
3164
|
+
func: /* @__PURE__ */ __name(async () => {
|
|
3165
|
+
logger.debug(`Resource tool: "${resourceName}" called`);
|
|
3166
|
+
try {
|
|
3167
|
+
const result = await connector.readResource(resourceUri);
|
|
3168
|
+
if (result.contents && result.contents.length > 0) {
|
|
3169
|
+
return result.contents.map((content) => {
|
|
3170
|
+
if (typeof content === "string") {
|
|
3171
|
+
return content;
|
|
3172
|
+
}
|
|
3173
|
+
if (content.text) {
|
|
3174
|
+
return content.text;
|
|
3175
|
+
}
|
|
3176
|
+
if (content.uri) {
|
|
3177
|
+
return content.uri;
|
|
3178
|
+
}
|
|
3179
|
+
return JSON.stringify(content);
|
|
3180
|
+
}).join("\n");
|
|
3181
|
+
}
|
|
3182
|
+
return "Resource is empty or unavailable";
|
|
3183
|
+
} catch (err) {
|
|
3184
|
+
logger.error(`Error reading resource: ${err.message}`);
|
|
3185
|
+
return `Error reading resource: ${String(err)}`;
|
|
3186
|
+
}
|
|
3187
|
+
}, "func")
|
|
3188
|
+
});
|
|
3189
|
+
return tool;
|
|
3190
|
+
}
|
|
3191
|
+
/**
|
|
3192
|
+
* Convert a single MCP prompt into a LangChainJS structured tool.
|
|
3193
|
+
* The resulting tool executes getPrompt on the connector with the prompt's name
|
|
3194
|
+
* and the user-provided arguments (if any).
|
|
3195
|
+
*/
|
|
3196
|
+
convertPrompt(mcpPrompt, connector) {
|
|
3197
|
+
let argsSchema = import_zod2.z.object({}).optional();
|
|
3198
|
+
if (mcpPrompt.arguments && mcpPrompt.arguments.length > 0) {
|
|
3199
|
+
const schemaFields = {};
|
|
3200
|
+
for (const arg of mcpPrompt.arguments) {
|
|
3201
|
+
const zodType = import_zod2.z.string();
|
|
3202
|
+
if (arg.required !== false) {
|
|
3203
|
+
schemaFields[arg.name] = zodType;
|
|
3204
|
+
} else {
|
|
3205
|
+
schemaFields[arg.name] = zodType.optional();
|
|
3206
|
+
}
|
|
3207
|
+
}
|
|
3208
|
+
argsSchema = Object.keys(schemaFields).length > 0 ? import_zod2.z.object(schemaFields) : import_zod2.z.object({}).optional();
|
|
3209
|
+
}
|
|
3210
|
+
const tool = new import_tools.DynamicStructuredTool({
|
|
3211
|
+
name: mcpPrompt.name,
|
|
3212
|
+
description: mcpPrompt.description || "",
|
|
3213
|
+
schema: argsSchema,
|
|
3214
|
+
func: /* @__PURE__ */ __name(async (input) => {
|
|
3215
|
+
logger.debug(
|
|
3216
|
+
`Prompt tool: "${mcpPrompt.name}" called with args: ${JSON.stringify(input)}`
|
|
3217
|
+
);
|
|
3218
|
+
try {
|
|
3219
|
+
const result = await connector.getPrompt(mcpPrompt.name, input);
|
|
3220
|
+
if (result.messages && result.messages.length > 0) {
|
|
3221
|
+
return result.messages.map((msg) => {
|
|
3222
|
+
if (typeof msg === "string") {
|
|
3223
|
+
return msg;
|
|
3224
|
+
}
|
|
3225
|
+
if (msg.content) {
|
|
3226
|
+
return typeof msg.content === "string" ? msg.content : JSON.stringify(msg.content);
|
|
3227
|
+
}
|
|
3228
|
+
return JSON.stringify(msg);
|
|
3229
|
+
}).join("\n");
|
|
3230
|
+
}
|
|
3231
|
+
return "Prompt returned no messages";
|
|
3232
|
+
} catch (err) {
|
|
3233
|
+
logger.error(`Error getting prompt: ${err.message}`);
|
|
3234
|
+
return `Error getting prompt: ${String(err)}`;
|
|
3235
|
+
}
|
|
3236
|
+
}, "func")
|
|
3237
|
+
});
|
|
3238
|
+
return tool;
|
|
3239
|
+
}
|
|
3055
3240
|
};
|
|
3056
3241
|
|
|
3057
3242
|
// src/agents/mcp_agent.ts
|
|
@@ -3191,15 +3376,21 @@ var ConnectMCPServerTool = class extends MCPServerTool {
|
|
|
3191
3376
|
session = await this.manager.client.createSession(serverName);
|
|
3192
3377
|
}
|
|
3193
3378
|
this.manager.activeServer = serverName;
|
|
3194
|
-
if (this.manager.serverTools[serverName]) {
|
|
3379
|
+
if (!this.manager.serverTools[serverName]) {
|
|
3195
3380
|
const connector = session.connector;
|
|
3196
3381
|
const tools = await this.manager.adapter.createToolsFromConnectors([connector]);
|
|
3197
|
-
this.manager.
|
|
3382
|
+
const resources = await this.manager.adapter.createResourcesFromConnectors([connector]);
|
|
3383
|
+
const prompts = await this.manager.adapter.createPromptsFromConnectors([connector]);
|
|
3384
|
+
const allItems = [...tools, ...resources, ...prompts];
|
|
3385
|
+
this.manager.serverTools[serverName] = allItems;
|
|
3198
3386
|
this.manager.initializedServers[serverName] = true;
|
|
3387
|
+
logger.debug(
|
|
3388
|
+
`Loaded ${allItems.length} items for server '${serverName}': ${tools.length} tools, ${resources.length} resources, ${prompts.length} prompts`
|
|
3389
|
+
);
|
|
3199
3390
|
}
|
|
3200
3391
|
const serverTools = this.manager.serverTools[serverName] || [];
|
|
3201
3392
|
const numTools = serverTools.length;
|
|
3202
|
-
return `Connected to MCP server '${serverName}'. ${numTools} tools are now available.`;
|
|
3393
|
+
return `Connected to MCP server '${serverName}'. ${numTools} tools, resources, and prompts are now available.`;
|
|
3203
3394
|
} catch (error) {
|
|
3204
3395
|
logger.error(
|
|
3205
3396
|
`Error connecting to server '${serverName}': ${String(error)}`
|
|
@@ -3361,21 +3552,30 @@ var ServerManager = class {
|
|
|
3361
3552
|
if (session) {
|
|
3362
3553
|
const connector = session.connector;
|
|
3363
3554
|
let tools = [];
|
|
3555
|
+
let resources = [];
|
|
3556
|
+
let prompts = [];
|
|
3364
3557
|
try {
|
|
3365
3558
|
tools = await this.adapter.createToolsFromConnectors([connector]);
|
|
3559
|
+
resources = await this.adapter.createResourcesFromConnectors([
|
|
3560
|
+
connector
|
|
3561
|
+
]);
|
|
3562
|
+
prompts = await this.adapter.createPromptsFromConnectors([
|
|
3563
|
+
connector
|
|
3564
|
+
]);
|
|
3366
3565
|
} catch (toolFetchError) {
|
|
3367
3566
|
logger.error(
|
|
3368
|
-
`Failed to create tools from connector for server '${serverName}': ${toolFetchError}`
|
|
3567
|
+
`Failed to create tools/resources/prompts from connector for server '${serverName}': ${toolFetchError}`
|
|
3369
3568
|
);
|
|
3370
3569
|
continue;
|
|
3371
3570
|
}
|
|
3571
|
+
const allItems = [...tools, ...resources, ...prompts];
|
|
3372
3572
|
const cachedTools = this.serverTools[serverName];
|
|
3373
|
-
const toolsChanged = !cachedTools || !isEqual(cachedTools,
|
|
3573
|
+
const toolsChanged = !cachedTools || !isEqual(cachedTools, allItems);
|
|
3374
3574
|
if (toolsChanged) {
|
|
3375
|
-
this.serverTools[serverName] =
|
|
3575
|
+
this.serverTools[serverName] = allItems;
|
|
3376
3576
|
this.initializedServers[serverName] = true;
|
|
3377
3577
|
logger.debug(
|
|
3378
|
-
`Prefetched ${
|
|
3578
|
+
`Prefetched ${allItems.length} items for server '${serverName}': ${tools.length} tools, ${resources.length} resources, ${prompts.length} prompts.`
|
|
3379
3579
|
);
|
|
3380
3580
|
} else {
|
|
3381
3581
|
logger.debug(
|
|
@@ -4118,9 +4318,18 @@ var MCPAgent = class {
|
|
|
4118
4318
|
);
|
|
4119
4319
|
}
|
|
4120
4320
|
} else {
|
|
4121
|
-
|
|
4321
|
+
const tools = await this.adapter.createToolsFromConnectors(
|
|
4322
|
+
Object.values(this.sessions).map((session) => session.connector)
|
|
4323
|
+
);
|
|
4324
|
+
const resources = await this.adapter.createResourcesFromConnectors(
|
|
4325
|
+
Object.values(this.sessions).map((session) => session.connector)
|
|
4326
|
+
);
|
|
4327
|
+
const prompts = await this.adapter.createPromptsFromConnectors(
|
|
4328
|
+
Object.values(this.sessions).map((session) => session.connector)
|
|
4329
|
+
);
|
|
4330
|
+
this._tools = [...tools, ...resources, ...prompts];
|
|
4122
4331
|
logger.info(
|
|
4123
|
-
`\u{1F6E0}\uFE0F Created ${this._tools.length} LangChain
|
|
4332
|
+
`\u{1F6E0}\uFE0F Created ${this._tools.length} LangChain items from client: ${tools.length} tools, ${resources.length} resources, ${prompts.length} prompts`
|
|
4124
4333
|
);
|
|
4125
4334
|
}
|
|
4126
4335
|
this._tools.push(...this.additionalTools);
|
|
@@ -4133,12 +4342,19 @@ var MCPAgent = class {
|
|
|
4133
4342
|
await connector.connect();
|
|
4134
4343
|
}
|
|
4135
4344
|
}
|
|
4136
|
-
|
|
4345
|
+
const tools = await this.adapter.createToolsFromConnectors(
|
|
4346
|
+
this.connectors
|
|
4347
|
+
);
|
|
4348
|
+
const resources = await this.adapter.createResourcesFromConnectors(
|
|
4349
|
+
this.connectors
|
|
4350
|
+
);
|
|
4351
|
+
const prompts = await this.adapter.createPromptsFromConnectors(
|
|
4137
4352
|
this.connectors
|
|
4138
4353
|
);
|
|
4354
|
+
this._tools = [...tools, ...resources, ...prompts];
|
|
4139
4355
|
this._tools.push(...this.additionalTools);
|
|
4140
4356
|
logger.info(
|
|
4141
|
-
`\u{1F6E0}\uFE0F Created ${this._tools.length} LangChain
|
|
4357
|
+
`\u{1F6E0}\uFE0F Created ${this._tools.length} LangChain items from connectors: ${tools.length} tools, ${resources.length} resources, ${prompts.length} prompts`
|
|
4142
4358
|
);
|
|
4143
4359
|
}
|
|
4144
4360
|
logger.info(`\u{1F9F0} Found ${this._tools.length} tools across all connectors`);
|
package/dist/src/agents/index.js
CHANGED
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
MCPAgent,
|
|
6
6
|
RemoteAgent
|
|
7
|
-
} from "../../chunk-
|
|
7
|
+
} from "../../chunk-3WQPXSMB.js";
|
|
8
8
|
import "../../chunk-CPG2WZUL.js";
|
|
9
9
|
import {
|
|
10
10
|
PROMPTS
|
|
11
|
-
} from "../../chunk-
|
|
12
|
-
import "../../chunk-
|
|
13
|
-
import "../../chunk-
|
|
11
|
+
} from "../../chunk-K6EZ46MT.js";
|
|
12
|
+
import "../../chunk-NS7PNUAI.js";
|
|
13
|
+
import "../../chunk-ES5N2BQY.js";
|
|
14
14
|
import "../../chunk-34R6SIER.js";
|
|
15
15
|
import "../../chunk-3GQAWCBQ.js";
|
|
16
16
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp_agent.d.ts","sourceRoot":"","sources":["../../../src/agents/mcp_agent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mcp_agent.d.ts","sourceRoot":"","sources":["../../../src/agents/mcp_agent.ts"],"names":[],"mappings":"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"}
|