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.
Files changed (59) hide show
  1. package/README.md +34 -5
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +2 -0
  5. package/dist/src/adapters/langchain_adapter.d.ts +4 -4
  6. package/dist/src/adapters/langchain_adapter.d.ts.map +1 -1
  7. package/dist/src/adapters/langchain_adapter.js +2 -17
  8. package/dist/src/agents/index.d.ts +0 -1
  9. package/dist/src/agents/index.d.ts.map +1 -1
  10. package/dist/src/agents/index.js +0 -1
  11. package/dist/src/agents/mcp_agent.d.ts +3 -4
  12. package/dist/src/agents/mcp_agent.d.ts.map +1 -1
  13. package/dist/src/agents/mcp_agent.js +3 -3
  14. package/dist/src/agents/prompts/system_prompt_builder.d.ts +3 -3
  15. package/dist/src/agents/prompts/system_prompt_builder.d.ts.map +1 -1
  16. package/dist/src/client.d.ts +1 -1
  17. package/dist/src/client.d.ts.map +1 -1
  18. package/dist/src/client.js +6 -3
  19. package/dist/src/connectors/base.d.ts +466 -0
  20. package/dist/src/connectors/base.d.ts.map +1 -1
  21. package/dist/src/connectors/base.js +14 -0
  22. package/dist/src/logging.d.ts +15 -4
  23. package/dist/src/logging.d.ts.map +1 -1
  24. package/dist/src/logging.js +71 -38
  25. package/dist/src/managers/index.d.ts +3 -0
  26. package/dist/src/managers/index.d.ts.map +1 -0
  27. package/dist/src/managers/index.js +2 -0
  28. package/dist/src/managers/server_manager.d.ts +15 -0
  29. package/dist/src/managers/server_manager.d.ts.map +1 -0
  30. package/dist/src/managers/server_manager.js +72 -0
  31. package/dist/src/managers/tools/acquire_active_mcp_server.d.ts +13 -0
  32. package/dist/src/managers/tools/acquire_active_mcp_server.d.ts.map +1 -0
  33. package/dist/src/managers/tools/acquire_active_mcp_server.js +17 -0
  34. package/dist/src/managers/tools/base.d.ts +24 -0
  35. package/dist/src/managers/tools/base.d.ts.map +1 -0
  36. package/dist/src/managers/tools/base.js +17 -0
  37. package/dist/src/managers/tools/connect_mcp_server.d.ts +26 -0
  38. package/dist/src/managers/tools/connect_mcp_server.d.ts.map +1 -0
  39. package/dist/src/managers/tools/connect_mcp_server.js +46 -0
  40. package/dist/src/managers/tools/index.d.ts +5 -0
  41. package/dist/src/managers/tools/index.d.ts.map +1 -0
  42. package/dist/src/managers/tools/index.js +4 -0
  43. package/dist/src/managers/tools/list_mcp_servers.d.ts +13 -0
  44. package/dist/src/managers/tools/list_mcp_servers.d.ts.map +1 -0
  45. package/dist/src/managers/tools/list_mcp_servers.js +33 -0
  46. package/dist/src/managers/tools/release_mcp_server_connection.d.ts +13 -0
  47. package/dist/src/managers/tools/release_mcp_server_connection.d.ts.map +1 -0
  48. package/dist/src/managers/tools/release_mcp_server_connection.js +19 -0
  49. package/dist/src/session.d.ts +1 -9
  50. package/dist/src/session.d.ts.map +1 -1
  51. package/dist/src/session.js +1 -30
  52. package/dist/src/task_managers/sse.d.ts.map +1 -1
  53. package/dist/src/task_managers/sse.js +0 -1
  54. package/dist/src/task_managers/stdio.d.ts.map +1 -1
  55. package/dist/src/task_managers/stdio.js +0 -1
  56. package/package.json +37 -22
  57. package/dist/src/agents/server_manager.d.ts +0 -22
  58. package/dist/src/agents/server_manager.d.ts.map +0 -1
  59. 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
- [![](https://img.shields.io/npm/dw/mcp-use.svg)](https://www.npmjs.com/package/mcp-use)
4
- [![npm version](https://img.shields.io/npm/v/mcp-use.svg)](https://www.npmjs.com/package/mcp-use)
5
- [![License](https://img.shields.io/github/license/zandko/mcp-use)](https://github.com/zandko/mcp-use/blob/main/LICENSE)
6
- [![Code style: ESLint](https://img.shields.io/badge/code%20style-eslint-4B32C3.svg)](https://eslint.org)
7
- [![GitHub stars](https://img.shields.io/github/stars/zandko/mcp-use?style=social)](https://github.com/zandko/mcp-use/stargazers)
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
@@ -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 { Tool as McpTool } from '@modelcontextprotocol/sdk/types.js';
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<DynamicStructuredTool> {
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: McpTool, connector: BaseConnector): DynamicStructuredTool | null;
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,EAIV,IAAI,IAAI,OAAO,EAEhB,MAAM,oCAAoC,CAAA;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAG1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAG7D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAuEvC,qBAAa,gBAAiB,SAAQ,WAAW,CAAC,qBAAqB,CAAC;gBAC1D,eAAe,GAAE,MAAM,EAAO;IAI1C;;OAEG;IACH,SAAS,CAAC,WAAW,CACnB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,aAAa,GACvB,qBAAqB,GAAG,IAAI;CA8BhC"}
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
- // const normalised = fixSchema(structuredClone(schema))
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,4 +1,3 @@
1
1
  export { BaseAgent } from './base.js';
2
2
  export { MCPAgent } from './mcp_agent.js';
3
- export { ServerManager } from './server_manager.js';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -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;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,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"}
@@ -1,3 +1,2 @@
1
1
  export { BaseAgent } from './base.js';
2
2
  export { MCPAgent } from './mcp_agent.js';
3
- export { ServerManager } from './server_manager.js';
@@ -1,8 +1,8 @@
1
- import type { BaseLanguageModel } from '@langchain/core/language_models/base';
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 './server_manager.js';
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: BaseLanguageModel;
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,iBAAiB,EAAqB,MAAM,sCAAsC,CAAA;AAChG,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;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAGL,aAAa,EACd,MAAM,0BAA0B,CAAA;AAUjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAKnE,qBAAa,QAAQ;IACnB,OAAO,CAAC,GAAG,CAAmB;IAC9B,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,CAA8B;IAC3C,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,aAAa,CAA6B;gBAEtC,OAAO,EAAE;QACnB,GAAG,EAAE,iBAAiB,CAAA;QACtB,MAAM,CAAC,EAAE,SAAS,CAAA;QAClB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAA;QAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,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"}
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 = await this.serverManager.getServerManagementTools();
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 = await this.serverManager.getAllTools();
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(`🔍 Step ${stepNum + 1}/${steps}`);
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 { DynamicStructuredTool } from '@langchain/core/tools';
1
+ import type { StructuredToolInterface } from '@langchain/core/tools';
2
2
  import { SystemMessage } from '@langchain/core/messages';
3
- export declare function generateToolDescriptions(tools: DynamicStructuredTool[], disallowedTools?: string[]): string[];
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: DynamicStructuredTool[], systemPromptTemplate: string, serverManagerTemplate: string, useServerManager: boolean, disallowedTools?: string[], userProvidedPrompt?: string, additionalInstructions?: string): SystemMessage;
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,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,qBAAqB,EAAE,EAC9B,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,qBAAqB,EAAE,EAC9B,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"}
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"}
@@ -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>;
@@ -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;IAQ1C,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"}
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"}
@@ -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
- throw new Error('No MCP servers defined in config');
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
- throw new Error('No MCP servers defined in config');
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
- throw new Error(`No session exists for server '${serverName}'`);
81
+ return null;
79
82
  }
80
83
  return session;
81
84
  }