mcp-use 0.0.4 → 0.0.8
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 +34 -5
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/src/adapters/langchain_adapter.d.ts +4 -4
- package/dist/src/adapters/langchain_adapter.d.ts.map +1 -1
- package/dist/src/adapters/langchain_adapter.js +2 -17
- package/dist/src/agents/index.d.ts +0 -1
- package/dist/src/agents/index.d.ts.map +1 -1
- package/dist/src/agents/index.js +0 -1
- package/dist/src/agents/mcp_agent.d.ts +3 -4
- package/dist/src/agents/mcp_agent.d.ts.map +1 -1
- package/dist/src/agents/mcp_agent.js +3 -3
- package/dist/src/agents/prompts/system_prompt_builder.d.ts +3 -3
- package/dist/src/agents/prompts/system_prompt_builder.d.ts.map +1 -1
- package/dist/src/client.d.ts +1 -1
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +6 -3
- package/dist/src/connectors/base.d.ts +466 -0
- package/dist/src/connectors/base.d.ts.map +1 -1
- package/dist/src/connectors/base.js +14 -0
- package/dist/src/logging.d.ts +15 -4
- package/dist/src/logging.d.ts.map +1 -1
- package/dist/src/logging.js +71 -38
- package/dist/src/managers/index.d.ts +3 -0
- package/dist/src/managers/index.d.ts.map +1 -0
- package/dist/src/managers/index.js +2 -0
- package/dist/src/managers/server_manager.d.ts +15 -0
- package/dist/src/managers/server_manager.d.ts.map +1 -0
- package/dist/src/managers/server_manager.js +72 -0
- package/dist/src/managers/tools/acquire_active_mcp_server.d.ts +13 -0
- package/dist/src/managers/tools/acquire_active_mcp_server.d.ts.map +1 -0
- package/dist/src/managers/tools/acquire_active_mcp_server.js +17 -0
- package/dist/src/managers/tools/base.d.ts +24 -0
- package/dist/src/managers/tools/base.d.ts.map +1 -0
- package/dist/src/managers/tools/base.js +17 -0
- package/dist/src/managers/tools/connect_mcp_server.d.ts +26 -0
- package/dist/src/managers/tools/connect_mcp_server.d.ts.map +1 -0
- package/dist/src/managers/tools/connect_mcp_server.js +46 -0
- package/dist/src/managers/tools/index.d.ts +5 -0
- package/dist/src/managers/tools/index.d.ts.map +1 -0
- package/dist/src/managers/tools/index.js +4 -0
- package/dist/src/managers/tools/list_mcp_servers.d.ts +13 -0
- package/dist/src/managers/tools/list_mcp_servers.d.ts.map +1 -0
- package/dist/src/managers/tools/list_mcp_servers.js +33 -0
- package/dist/src/managers/tools/release_mcp_server_connection.d.ts +13 -0
- package/dist/src/managers/tools/release_mcp_server_connection.d.ts.map +1 -0
- package/dist/src/managers/tools/release_mcp_server_connection.js +19 -0
- package/dist/src/session.d.ts +1 -9
- package/dist/src/session.d.ts.map +1 -1
- package/dist/src/session.js +1 -30
- package/dist/src/task_managers/sse.d.ts.map +1 -1
- package/dist/src/task_managers/sse.js +0 -1
- package/dist/src/task_managers/stdio.d.ts.map +1 -1
- package/dist/src/task_managers/stdio.js +0 -1
- package/package.json +37 -22
- package/dist/src/agents/server_manager.d.ts +0 -22
- package/dist/src/agents/server_manager.d.ts.map +0 -1
- package/dist/src/agents/server_manager.js +0 -152
package/README.md
CHANGED
@@ -1,10 +1,31 @@
|
|
1
|
+
<div align="center" style="margin: 0 auto; max-width: 80%;">
|
2
|
+
<picture>
|
3
|
+
<source media="(prefers-color-scheme: dark)" srcset="./static/logo_white.svg">
|
4
|
+
<source media="(prefers-color-scheme: light)" srcset="./static/logo_black.svg">
|
5
|
+
<img alt="mcp use logo" src="./static/logo_white.svg" width="80%" style="margin: 20px auto;">
|
6
|
+
</picture>
|
7
|
+
</div>
|
8
|
+
|
1
9
|
<h1 align="center">Unified MCP Client Library</h1>
|
2
10
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
11
|
+
<p align="center">
|
12
|
+
<a href="https://www.npmjs.com/package/mcp-use" alt="NPM Downloads">
|
13
|
+
<img src="https://img.shields.io/npm/dw/mcp-use.svg"/></a>
|
14
|
+
<a href="https://www.npmjs.com/package/mcp-use" alt="NPM Version">
|
15
|
+
<img src="https://img.shields.io/npm/v/mcp-use.svg"/></a>
|
16
|
+
<a href="https://docs.mcp-use.io" alt="Documentation">
|
17
|
+
<img src="https://img.shields.io/badge/docs-mcp--use.io-blue" /></a>
|
18
|
+
<a href="https://mcp-use.io" alt="Website">
|
19
|
+
<img src="https://img.shields.io/badge/website-mcp--use.io-blue" /></a>
|
20
|
+
<a href="https://github.com/mcp-use/mcp-use-ts/blob/main/LICENSE" alt="License">
|
21
|
+
<img src="https://img.shields.io/github/license/mcp-use/mcp-use-ts" /></a>
|
22
|
+
<a href="https://eslint.org" alt="Code style: ESLint">
|
23
|
+
<img src="https://img.shields.io/badge/code%20style-eslint-4B32C3.svg" /></a>
|
24
|
+
<a href="https://github.com/mcp-use/mcp-use-ts/stargazers" alt="GitHub stars">
|
25
|
+
<img src="https://img.shields.io/github/stars/mcp-use/mcp-use-ts?style=social" /></a>
|
26
|
+
<a href="https://discord.gg/XkNkSkMz3V" alt="Discord">
|
27
|
+
<img src="https://dcbadge.limes.pink/api/server/XkNkSkMz3V?style=flat" /></a>
|
28
|
+
</p>
|
8
29
|
|
9
30
|
🌐 **MCP Client** is the open-source way to connect **any LLM to any MCP server** in TypeScript/Node.js, letting you build custom agents with tool access without closed-source dependencies.
|
10
31
|
|
@@ -99,6 +120,7 @@ Load it:
|
|
99
120
|
|
100
121
|
```ts
|
101
122
|
import { MCPClient } from 'mcp-use'
|
123
|
+
|
102
124
|
const client = MCPClient.fromConfigFile('./mcp-config.json')
|
103
125
|
```
|
104
126
|
|
@@ -141,6 +163,13 @@ const agent = new MCPAgent({
|
|
141
163
|
<sub style="font-size:14px"><b>Zane</b></sub>
|
142
164
|
</a>
|
143
165
|
</td>
|
166
|
+
<td align="center" style="word-wrap: break-word; width: 150.0; height: 150.0">
|
167
|
+
<a href=https://github.com/pietrozullo>
|
168
|
+
<img src=https://avatars.githubusercontent.com/u/62951181?v=4 width="100;" style="border-radius:50%;align-items:center;justify-content:center;overflow:hidden;padding-top:10px" alt=Pietro Zullo/>
|
169
|
+
<br />
|
170
|
+
<sub style="font-size:14px"><b>Pietro Zullo</b></sub>
|
171
|
+
</a>
|
172
|
+
</td>
|
144
173
|
</tr>
|
145
174
|
</table>
|
146
175
|
|
package/dist/index.d.ts
CHANGED
@@ -7,5 +7,7 @@ import { StdioConnector } from './src/connectors/stdio.js';
|
|
7
7
|
import { WebSocketConnector } from './src/connectors/websocket.js';
|
8
8
|
import { Logger, logger } from './src/logging.js';
|
9
9
|
import { MCPSession } from './src/session.js';
|
10
|
+
export { BaseAdapter, LangChainAdapter } from './src/adapters/index.js';
|
11
|
+
export { ServerManager } from './src/managers/server_manager.js';
|
10
12
|
export { BaseConnector, HttpConnector, loadConfigFile, Logger, logger, MCPAgent, MCPClient, MCPSession, StdioConnector, WebSocketConnector };
|
11
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAA"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAEhE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAA"}
|
package/dist/index.js
CHANGED
@@ -7,4 +7,6 @@ import { StdioConnector } from './src/connectors/stdio.js';
|
|
7
7
|
import { WebSocketConnector } from './src/connectors/websocket.js';
|
8
8
|
import { Logger, logger } from './src/logging.js';
|
9
9
|
import { MCPSession } from './src/session.js';
|
10
|
+
export { BaseAdapter, LangChainAdapter } from './src/adapters/index.js';
|
11
|
+
export { ServerManager } from './src/managers/server_manager.js';
|
10
12
|
export { BaseConnector, HttpConnector, loadConfigFile, Logger, logger, MCPAgent, MCPClient, MCPSession, StdioConnector, WebSocketConnector };
|
@@ -1,12 +1,12 @@
|
|
1
|
-
import type {
|
1
|
+
import type { StructuredToolInterface } from '@langchain/core/tools';
|
2
|
+
import type { Tool as MCPTool } from '@modelcontextprotocol/sdk/types.js';
|
2
3
|
import type { BaseConnector } from '../connectors/base.js';
|
3
|
-
import { DynamicStructuredTool } from '@langchain/core/tools';
|
4
4
|
import { BaseAdapter } from './base.js';
|
5
|
-
export declare class LangChainAdapter extends BaseAdapter<
|
5
|
+
export declare class LangChainAdapter extends BaseAdapter<StructuredToolInterface> {
|
6
6
|
constructor(disallowedTools?: string[]);
|
7
7
|
/**
|
8
8
|
* Convert a single MCP tool specification into a LangChainJS structured tool.
|
9
9
|
*/
|
10
|
-
protected convertTool(mcpTool:
|
10
|
+
protected convertTool(mcpTool: MCPTool, connector: BaseConnector): StructuredToolInterface | null;
|
11
11
|
}
|
12
12
|
//# 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,
|
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,CAAA;AACpE,OAAO,KAAK,EAIV,IAAI,IAAI,OAAO,EAEhB,MAAM,oCAAoC,CAAA;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAM1D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAuDvC,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;CA8BlC"}
|
@@ -4,23 +4,8 @@ import { z } from 'zod';
|
|
4
4
|
import { logger } from '../logging.js';
|
5
5
|
import { BaseAdapter } from './base.js';
|
6
6
|
function schemaToZod(schema) {
|
7
|
-
/** Recursively normalise `type: [T, U]` → `anyOf: [{type:T},{type:U}]`. */
|
8
|
-
// const fixSchema = (s: any): any => {
|
9
|
-
// if (s && typeof s === 'object') {
|
10
|
-
// if (Array.isArray(s.type)) {
|
11
|
-
// s.anyOf = s.type.map((t: any) => ({ type: t }))
|
12
|
-
// delete s.type
|
13
|
-
// }
|
14
|
-
// for (const [k, v] of Object.entries(s)) {
|
15
|
-
// s[k] = fixSchema(v)
|
16
|
-
// }
|
17
|
-
// }
|
18
|
-
// return s
|
19
|
-
// }
|
20
7
|
try {
|
21
|
-
|
22
|
-
const zodSchema = JSONSchemaToZod.convert(schema);
|
23
|
-
return zodSchema;
|
8
|
+
return JSONSchemaToZod.convert(schema);
|
24
9
|
}
|
25
10
|
catch (err) {
|
26
11
|
logger.warn(`Failed to convert JSON schema to Zod: ${err}`);
|
@@ -95,7 +80,7 @@ export class LangChainAdapter extends BaseAdapter {
|
|
95
80
|
return parseMcpToolResult(result);
|
96
81
|
}
|
97
82
|
catch (err) {
|
98
|
-
logger.error(`Error executing MCP tool: ${err}`);
|
83
|
+
logger.error(`Error executing MCP tool: ${err.message}`);
|
99
84
|
return `Error executing MCP tool: ${String(err)}`;
|
100
85
|
}
|
101
86
|
},
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA"}
|
package/dist/src/agents/index.js
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
import type {
|
1
|
+
import type { BaseLanguageModelInterface } from '@langchain/core/language_models/base';
|
2
2
|
import type { BaseMessage } from '@langchain/core/messages';
|
3
3
|
import type { MCPClient } from '../client.js';
|
4
4
|
import type { BaseConnector } from '../connectors/base.js';
|
5
|
-
import type { ServerManager } from '
|
5
|
+
import type { ServerManager } from '../managers/server_manager.js';
|
6
6
|
import { SystemMessage } from '@langchain/core/messages';
|
7
7
|
import { LangChainAdapter } from '../adapters/langchain_adapter.js';
|
8
8
|
export declare class MCPAgent {
|
@@ -27,10 +27,9 @@ export declare class MCPAgent {
|
|
27
27
|
private adapter;
|
28
28
|
private serverManager;
|
29
29
|
constructor(options: {
|
30
|
-
llm:
|
30
|
+
llm: BaseLanguageModelInterface;
|
31
31
|
client?: MCPClient;
|
32
32
|
connectors?: BaseConnector[];
|
33
|
-
serverName?: string;
|
34
33
|
maxSteps?: number;
|
35
34
|
autoInitialize?: boolean;
|
36
35
|
memoryEnabled?: boolean;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mcp_agent.d.ts","sourceRoot":"","sources":["../../../src/agents/mcp_agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
1
|
+
{"version":3,"file":"mcp_agent.d.ts","sourceRoot":"","sources":["../../../src/agents/mcp_agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAqB,MAAM,sCAAsC,CAAA;AACzG,OAAO,KAAK,EACV,WAAW,EACZ,MAAM,0BAA0B,CAAA;AAGjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAElE,OAAO,EAGL,aAAa,EACd,MAAM,0BAA0B,CAAA;AAUjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAKnE,qBAAa,QAAQ;IACnB,OAAO,CAAC,GAAG,CAA4B;IACvC,OAAO,CAAC,MAAM,CAAC,CAAW;IAC1B,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,4BAA4B,CAAC,CAAe;IACpD,OAAO,CAAC,sBAAsB,CAAC,CAAe;IAE9C,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,mBAAmB,CAAoB;IAC/C,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,aAAa,CAA6B;gBAEtC,OAAO,EAAE;QACnB,GAAG,EAAE,0BAA0B,CAAA;QAC/B,MAAM,CAAC,EAAE,SAAS,CAAA;QAClB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAA;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,aAAa,CAAC,EAAE,OAAO,CAAA;QACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACpC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACtC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;QAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAA;QAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,OAAO,CAAC,EAAE,gBAAgB,CAAA;QAC1B,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,aAAa,CAAA;KAC5D;IAkCY,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YA8D1B,4BAA4B;IAuB1C,OAAO,CAAC,WAAW;IAyBZ,sBAAsB,IAAI,WAAW,EAAE;IAIvC,wBAAwB,IAAI,IAAI;IAIvC,OAAO,CAAC,YAAY;IAKb,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAIxC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAavC,kBAAkB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI;IAQnD,kBAAkB,IAAI,MAAM,EAAE;IAIxB,GAAG,CACd,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,eAAe,UAAO,EACtB,eAAe,CAAC,EAAE,WAAW,EAAE,GAC9B,OAAO,CAAC,MAAM,CAAC;IAyJL,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAyBpC"}
|
@@ -63,7 +63,7 @@ export class MCPAgent {
|
|
63
63
|
if (this.useServerManager && this.serverManager) {
|
64
64
|
await this.serverManager.initialize();
|
65
65
|
// Get server management tools
|
66
|
-
const managementTools =
|
66
|
+
const managementTools = this.serverManager.tools;
|
67
67
|
this.tools = managementTools;
|
68
68
|
logger.info(`🔧 Server manager mode active with ${managementTools.length} management tools`);
|
69
69
|
// Create the system message based on available tools
|
@@ -209,7 +209,7 @@ export class MCPAgent {
|
|
209
209
|
logger.info(`🏁 Starting agent execution with max_steps=${steps}`);
|
210
210
|
for (let stepNum = 0; stepNum < steps; stepNum++) {
|
211
211
|
if (this.useServerManager && this.serverManager) {
|
212
|
-
const currentTools =
|
212
|
+
const currentTools = this.serverManager.tools;
|
213
213
|
const currentToolNames = new Set(currentTools.map(t => t.name));
|
214
214
|
const existingToolNames = new Set(this.tools.map(t => t.name));
|
215
215
|
const changed = currentTools.length !== this.tools.length
|
@@ -223,7 +223,7 @@ export class MCPAgent {
|
|
223
223
|
nameToToolMap = Object.fromEntries(this.tools.map(t => [t.name, t]));
|
224
224
|
}
|
225
225
|
}
|
226
|
-
logger.info(
|
226
|
+
logger.info(`👣 Step ${stepNum + 1}/${steps}`);
|
227
227
|
try {
|
228
228
|
logger.debug('Starting agent step execution');
|
229
229
|
const nextStepOutput = await this.agentExecutor._takeNextStep(nameToToolMap, inputs, intermediateSteps);
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import type {
|
1
|
+
import type { StructuredToolInterface } from '@langchain/core/tools';
|
2
2
|
import { SystemMessage } from '@langchain/core/messages';
|
3
|
-
export declare function generateToolDescriptions(tools:
|
3
|
+
export declare function generateToolDescriptions(tools: StructuredToolInterface[], disallowedTools?: string[]): string[];
|
4
4
|
export declare function buildSystemPromptContent(template: string, toolDescriptionLines: string[], additionalInstructions?: string): string;
|
5
|
-
export declare function createSystemMessage(tools:
|
5
|
+
export declare function createSystemMessage(tools: StructuredToolInterface[], systemPromptTemplate: string, serverManagerTemplate: string, useServerManager: boolean, disallowedTools?: string[], userProvidedPrompt?: string, additionalInstructions?: string): SystemMessage;
|
6
6
|
//# sourceMappingURL=system_prompt_builder.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"system_prompt_builder.d.ts","sourceRoot":"","sources":["../../../../src/agents/prompts/system_prompt_builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
1
|
+
{"version":3,"file":"system_prompt_builder.d.ts","sourceRoot":"","sources":["../../../../src/agents/prompts/system_prompt_builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,uBAAuB,EAAE,EAChC,eAAe,CAAC,EAAE,MAAM,EAAE,GACzB,MAAM,EAAE,CAcV;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,oBAAoB,EAAE,MAAM,EAAE,EAC9B,sBAAsB,CAAC,EAAE,MAAM,GAC9B,MAAM,CAiBR;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,uBAAuB,EAAE,EAChC,oBAAoB,EAAE,MAAM,EAC5B,qBAAqB,EAAE,MAAM,EAC7B,gBAAgB,EAAE,OAAO,EACzB,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,kBAAkB,CAAC,EAAE,MAAM,EAC3B,sBAAsB,CAAC,EAAE,MAAM,GAC9B,aAAa,CAiBf"}
|
package/dist/src/client.d.ts
CHANGED
@@ -12,7 +12,7 @@ export declare class MCPClient {
|
|
12
12
|
saveConfig(filepath: string): void;
|
13
13
|
createSession(serverName: string, autoInitialize?: boolean): Promise<MCPSession>;
|
14
14
|
createAllSessions(autoInitialize?: boolean): Promise<Record<string, MCPSession>>;
|
15
|
-
getSession(serverName: string): MCPSession;
|
15
|
+
getSession(serverName: string): MCPSession | null;
|
16
16
|
getAllActiveSessions(): Record<string, MCPSession>;
|
17
17
|
closeSession(serverName: string): Promise<void>;
|
18
18
|
closeAllSessions(): Promise<void>;
|
package/dist/src/client.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,QAAQ,CAAiC;IAC1C,cAAc,EAAE,MAAM,EAAE,CAAK;gBAExB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;WAWnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS;WAI7C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAI9C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAKhE,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOhC,cAAc,IAAI,MAAM,EAAE;IAI1B,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQ5B,aAAa,CACxB,UAAU,EAAE,MAAM,EAClB,cAAc,UAAO,GACpB,OAAO,CAAC,UAAU,CAAC;IAwBT,iBAAiB,CAC5B,cAAc,UAAO,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAc/B,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU;
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,QAAQ,CAAiC;IAC1C,cAAc,EAAE,MAAM,EAAE,CAAK;gBAExB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;WAWnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS;WAI7C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAI9C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAKhE,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOhC,cAAc,IAAI,MAAM,EAAE;IAI1B,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQ5B,aAAa,CACxB,UAAU,EAAE,MAAM,EAClB,cAAc,UAAO,GACpB,OAAO,CAAC,UAAU,CAAC;IAwBT,iBAAiB,CAC5B,cAAc,UAAO,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAc/B,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAWjD,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;IAM5C,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB/C,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAqB/C"}
|
package/dist/src/client.js
CHANGED
@@ -46,7 +46,7 @@ export class MCPClient {
|
|
46
46
|
async createSession(serverName, autoInitialize = true) {
|
47
47
|
const servers = this.config.mcpServers ?? {};
|
48
48
|
if (Object.keys(servers).length === 0) {
|
49
|
-
|
49
|
+
logger.warn('No MCP servers defined in config');
|
50
50
|
}
|
51
51
|
if (!servers[serverName]) {
|
52
52
|
throw new Error(`Server '${serverName}' not found in config`);
|
@@ -65,7 +65,7 @@ export class MCPClient {
|
|
65
65
|
async createAllSessions(autoInitialize = true) {
|
66
66
|
const servers = this.config.mcpServers ?? {};
|
67
67
|
if (Object.keys(servers).length === 0) {
|
68
|
-
|
68
|
+
logger.warn('No MCP servers defined in config');
|
69
69
|
}
|
70
70
|
for (const name of Object.keys(servers)) {
|
71
71
|
await this.createSession(name, autoInitialize);
|
@@ -74,8 +74,11 @@ export class MCPClient {
|
|
74
74
|
}
|
75
75
|
getSession(serverName) {
|
76
76
|
const session = this.sessions[serverName];
|
77
|
+
// if (!session) {
|
78
|
+
// throw new Error(`No session exists for server '${serverName}'`)
|
79
|
+
// }
|
77
80
|
if (!session) {
|
78
|
-
|
81
|
+
return null;
|
79
82
|
}
|
80
83
|
return session;
|
81
84
|
}
|