@mcp-use/agent 0.0.0-bootstrap.0 → 2.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/dist/.tsbuildinfo +1 -0
  2. package/dist/adapters/base.d.ts +112 -0
  3. package/dist/adapters/base.d.ts.map +1 -0
  4. package/dist/adapters/index.d.ts +3 -0
  5. package/dist/adapters/index.d.ts.map +1 -0
  6. package/dist/adapters/langchain_adapter.d.ts +26 -0
  7. package/dist/adapters/langchain_adapter.d.ts.map +1 -0
  8. package/dist/adapters/native_adapter.d.ts +27 -0
  9. package/dist/adapters/native_adapter.d.ts.map +1 -0
  10. package/dist/agents/agent_options.d.ts +38 -0
  11. package/dist/agents/agent_options.d.ts.map +1 -0
  12. package/dist/agents/base.d.ts +27 -0
  13. package/dist/agents/base.d.ts.map +1 -0
  14. package/dist/agents/display.d.ts +6 -0
  15. package/dist/agents/display.d.ts.map +1 -0
  16. package/dist/agents/index.d.ts +9 -0
  17. package/dist/agents/index.d.ts.map +1 -0
  18. package/dist/agents/mcp_agent.d.ts +90 -0
  19. package/dist/agents/mcp_agent.d.ts.map +1 -0
  20. package/dist/agents/mcp_agent_langchain.d.ts +283 -0
  21. package/dist/agents/mcp_agent_langchain.d.ts.map +1 -0
  22. package/dist/agents/normalize_run_options.d.ts +12 -0
  23. package/dist/agents/normalize_run_options.d.ts.map +1 -0
  24. package/dist/agents/prompts/index.d.ts +10 -0
  25. package/dist/agents/prompts/index.d.ts.map +1 -0
  26. package/dist/agents/prompts/system_prompt_builder.d.ts +4 -0
  27. package/dist/agents/prompts/system_prompt_builder.d.ts.map +1 -0
  28. package/dist/agents/prompts/templates.d.ts +3 -0
  29. package/dist/agents/prompts/templates.d.ts.map +1 -0
  30. package/dist/agents/remote.d.ts +48 -0
  31. package/dist/agents/remote.d.ts.map +1 -0
  32. package/dist/agents/run_options.d.ts +13 -0
  33. package/dist/agents/run_options.d.ts.map +1 -0
  34. package/dist/agents/types.d.ts +79 -0
  35. package/dist/agents/types.d.ts.map +1 -0
  36. package/dist/agents/utils/ai_sdk.d.ts +22 -0
  37. package/dist/agents/utils/ai_sdk.d.ts.map +1 -0
  38. package/dist/agents/utils/index.d.ts +3 -0
  39. package/dist/agents/utils/index.d.ts.map +1 -0
  40. package/dist/agents/utils/llm_provider.d.ts +53 -0
  41. package/dist/agents/utils/llm_provider.d.ts.map +1 -0
  42. package/dist/browser-agent.cjs +3272 -0
  43. package/dist/browser-agent.cjs.map +1 -0
  44. package/dist/browser-agent.d.ts +9 -0
  45. package/dist/browser-agent.d.ts.map +1 -0
  46. package/dist/browser-agent.js +3227 -0
  47. package/dist/browser-agent.js.map +1 -0
  48. package/dist/index.cjs +3299 -0
  49. package/dist/index.cjs.map +1 -0
  50. package/dist/index.d.ts +14 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +3248 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/langchain.cjs +46340 -0
  55. package/dist/langchain.cjs.map +1 -0
  56. package/dist/langchain.d.ts +11 -0
  57. package/dist/langchain.d.ts.map +1 -0
  58. package/dist/langchain.js +46328 -0
  59. package/dist/langchain.js.map +1 -0
  60. package/dist/llm/chat.d.ts +8 -0
  61. package/dist/llm/chat.d.ts.map +1 -0
  62. package/dist/llm/driver.d.ts +40 -0
  63. package/dist/llm/driver.d.ts.map +1 -0
  64. package/dist/llm/messageFormat.d.ts +48 -0
  65. package/dist/llm/messageFormat.d.ts.map +1 -0
  66. package/dist/llm/native_runner.d.ts +23 -0
  67. package/dist/llm/native_runner.d.ts.map +1 -0
  68. package/dist/llm/ndjson.d.ts +5 -0
  69. package/dist/llm/ndjson.d.ts.map +1 -0
  70. package/dist/llm/provider_config.d.ts +13 -0
  71. package/dist/llm/provider_config.d.ts.map +1 -0
  72. package/dist/llm/providers/anthropic.d.ts +19 -0
  73. package/dist/llm/providers/anthropic.d.ts.map +1 -0
  74. package/dist/llm/providers/google.d.ts +19 -0
  75. package/dist/llm/providers/google.d.ts.map +1 -0
  76. package/dist/llm/providers/index.d.ts +19 -0
  77. package/dist/llm/providers/index.d.ts.map +1 -0
  78. package/dist/llm/providers/ollama/index.d.ts +18 -0
  79. package/dist/llm/providers/ollama/index.d.ts.map +1 -0
  80. package/dist/llm/providers/ollama/utils.d.ts +7 -0
  81. package/dist/llm/providers/ollama/utils.d.ts.map +1 -0
  82. package/dist/llm/providers/openai-chat-completions.d.ts +25 -0
  83. package/dist/llm/providers/openai-chat-completions.d.ts.map +1 -0
  84. package/dist/llm/providers/openai-responses-driver.d.ts +22 -0
  85. package/dist/llm/providers/openai-responses-driver.d.ts.map +1 -0
  86. package/dist/llm/providers/openai-responses.d.ts +37 -0
  87. package/dist/llm/providers/openai-responses.d.ts.map +1 -0
  88. package/dist/llm/providers/openai-shared.d.ts +6 -0
  89. package/dist/llm/providers/openai-shared.d.ts.map +1 -0
  90. package/dist/llm/schemaUtils.d.ts +2 -0
  91. package/dist/llm/schemaUtils.d.ts.map +1 -0
  92. package/dist/llm/sse.d.ts +15 -0
  93. package/dist/llm/sse.d.ts.map +1 -0
  94. package/dist/llm/toolLoop.d.ts +41 -0
  95. package/dist/llm/toolLoop.d.ts.map +1 -0
  96. package/dist/llm/toolResultParts.d.ts +28 -0
  97. package/dist/llm/toolResultParts.d.ts.map +1 -0
  98. package/dist/llm/types.d.ts +116 -0
  99. package/dist/llm/types.d.ts.map +1 -0
  100. package/dist/llm/usage.d.ts +4 -0
  101. package/dist/llm/usage.d.ts.map +1 -0
  102. package/dist/managers/server_manager.d.ts +19 -0
  103. package/dist/managers/server_manager.d.ts.map +1 -0
  104. package/dist/managers/tools/acquire_active_mcp_server.d.ts +13 -0
  105. package/dist/managers/tools/acquire_active_mcp_server.d.ts.map +1 -0
  106. package/dist/managers/tools/add_server_from_config.d.ts +15 -0
  107. package/dist/managers/tools/add_server_from_config.d.ts.map +1 -0
  108. package/dist/managers/tools/base.d.ts +19 -0
  109. package/dist/managers/tools/base.d.ts.map +1 -0
  110. package/dist/managers/tools/connect_mcp_server.d.ts +18 -0
  111. package/dist/managers/tools/connect_mcp_server.d.ts.map +1 -0
  112. package/dist/managers/tools/index.d.ts +6 -0
  113. package/dist/managers/tools/index.d.ts.map +1 -0
  114. package/dist/managers/tools/list_mcp_servers.d.ts +13 -0
  115. package/dist/managers/tools/list_mcp_servers.d.ts.map +1 -0
  116. package/dist/managers/tools/release_mcp_server_connection.d.ts +13 -0
  117. package/dist/managers/tools/release_mcp_server_connection.d.ts.map +1 -0
  118. package/dist/managers/types.d.ts +14 -0
  119. package/dist/managers/types.d.ts.map +1 -0
  120. package/dist/observability/index.d.ts +9 -0
  121. package/dist/observability/index.d.ts.map +1 -0
  122. package/dist/observability/langfuse.d.ts +26 -0
  123. package/dist/observability/langfuse.d.ts.map +1 -0
  124. package/dist/observability/manager.d.ts +89 -0
  125. package/dist/observability/manager.d.ts.map +1 -0
  126. package/dist/telemetry/utils.d.ts +4 -0
  127. package/dist/telemetry/utils.d.ts.map +1 -0
  128. package/dist/version.d.ts +3 -0
  129. package/dist/version.d.ts.map +1 -0
  130. package/package.json +109 -8
  131. package/README.md +0 -5
@@ -0,0 +1,112 @@
1
+ import type { MCPClient } from "@mcp-use/client";
2
+ import type { BaseConnector } from "@mcp-use/client";
3
+ /**
4
+ * Abstract base class for converting MCP tools to other framework formats.
5
+ *
6
+ * This class defines the common interface that all adapter implementations
7
+ * should follow to ensure consistency across different frameworks.
8
+ */
9
+ export declare abstract class BaseAdapter<T> {
10
+ /**
11
+ * List of tool names that should not be available.
12
+ */
13
+ protected readonly disallowedTools: string[];
14
+ /**
15
+ * Internal cache that maps a connector instance to the list of tools
16
+ * generated for it.
17
+ */
18
+ private readonly connectorToolMap;
19
+ constructor(disallowedTools?: string[]);
20
+ /**
21
+ * Create tools from an MCPClient instance.
22
+ *
23
+ * This is the recommended way to create tools from an MCPClient, as it handles
24
+ * session creation and connector extraction automatically.
25
+ *
26
+ * @param client The MCPClient to extract tools from.
27
+ * @param disallowedTools Optional list of tool names to exclude.
28
+ * @returns A promise that resolves with a list of converted tools.
29
+ */
30
+ static createTools<TTool, TAdapter extends BaseAdapter<TTool>>(this: new (disallowedTools?: string[]) => TAdapter, client: MCPClient, disallowedTools?: string[]): Promise<TTool[]>;
31
+ /**
32
+ * Dynamically load tools for a specific connector.
33
+ *
34
+ * @param connector The connector to load tools for.
35
+ * @returns The list of tools that were loaded in the target framework's format.
36
+ */
37
+ loadToolsForConnector(connector: BaseConnector): Promise<T[]>;
38
+ /**
39
+ * Convert an MCP tool to the target framework's tool format.
40
+ *
41
+ * @param mcpTool The MCP tool definition to convert.
42
+ * @param connector The connector that provides this tool.
43
+ * @returns The converted tool, or null / undefined if no tool should be produced.
44
+ */
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;
62
+ /**
63
+ * Create tools from MCP tools in all provided connectors.
64
+ *
65
+ * @param connectors List of MCP connectors to create tools from.
66
+ * @returns A promise that resolves with all converted tools.
67
+ */
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[]>;
97
+ /**
98
+ * Check if a connector is initialized and has tools.
99
+ *
100
+ * @param connector The connector to check.
101
+ * @returns True if the connector is initialized and has tools, false otherwise.
102
+ */
103
+ private checkConnectorInitialized;
104
+ /**
105
+ * Ensure a connector is initialized.
106
+ *
107
+ * @param connector The connector to initialize.
108
+ * @returns True if initialization succeeded, false otherwise.
109
+ */
110
+ private ensureConnectorInitialized;
111
+ }
112
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/adapters/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD;;;;;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"}
@@ -0,0 +1,3 @@
1
+ export { BaseAdapter } from "./base.js";
2
+ export { NativeAdapter } from "./native_adapter.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { StructuredToolInterface } from "@langchain/core/tools";
2
+ import type { Tool as MCPTool, Resource, Prompt } from "@modelcontextprotocol/client";
3
+ import type { BaseConnector } from "@mcp-use/client";
4
+ import { BaseAdapter } from "./base.js";
5
+ export declare class LangChainAdapter extends BaseAdapter<StructuredToolInterface> {
6
+ private usedToolNames;
7
+ constructor(disallowedTools?: string[]);
8
+ private reserveName;
9
+ createToolsFromConnectors(connectors: BaseConnector[]): Promise<StructuredToolInterface[]>;
10
+ /**
11
+ * Convert a single MCP tool specification into a LangChainJS structured tool.
12
+ */
13
+ protected convertTool(mcpTool: MCPTool, connector: BaseConnector): StructuredToolInterface | null;
14
+ /**
15
+ * Convert a single MCP resource into a LangChainJS structured tool.
16
+ * Each resource becomes an async tool that returns its content when called.
17
+ */
18
+ protected convertResource(mcpResource: Resource, connector: BaseConnector): StructuredToolInterface | null;
19
+ /**
20
+ * Convert a single MCP prompt into a LangChainJS structured tool.
21
+ * The resulting tool executes getPrompt on the connector with the prompt's name
22
+ * and the user-provided arguments (if any).
23
+ */
24
+ protected convertPrompt(mcpPrompt: Prompt, connector: BaseConnector): StructuredToolInterface | null;
25
+ }
26
+ //# sourceMappingURL=langchain_adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langchain_adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/langchain_adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAEV,IAAI,IAAI,OAAO,EACf,QAAQ,EACR,MAAM,EACP,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKrD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAmBxC,qBAAa,gBAAiB,SAAQ,WAAW,CAAC,uBAAuB,CAAC;IACxE,OAAO,CAAC,aAAa,CAA0B;gBAEnC,eAAe,GAAE,MAAM,EAAO;IAI1C,OAAO,CAAC,WAAW;IA0BG,yBAAyB,CAC7C,UAAU,EAAE,aAAa,EAAE,GAC1B,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAMrC;;OAEG;IACH,SAAS,CAAC,WAAW,CACnB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,aAAa,GACvB,uBAAuB,GAAG,IAAI;IAoCjC;;;OAGG;IACH,SAAS,CAAC,eAAe,CACvB,WAAW,EAAE,QAAQ,EACrB,SAAS,EAAE,aAAa,GACvB,uBAAuB,GAAG,IAAI;IA2CjC;;;;OAIG;IACH,SAAS,CAAC,aAAa,CACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,aAAa,GACvB,uBAAuB,GAAG,IAAI;CA6DlC"}
@@ -0,0 +1,27 @@
1
+ import type { Prompt, Resource, Tool as MCPTool } from "@modelcontextprotocol/client";
2
+ import type { BaseConnector } from "@mcp-use/client";
3
+ import type { ProviderTool } from "../llm/types.js";
4
+ import { BaseAdapter } from "./base.js";
5
+ export interface NativeToolEntry extends ProviderTool {
6
+ /** Internal dispatch key (may differ from MCP name after dedup). */
7
+ dispatchKey: string;
8
+ }
9
+ export type NativeCallToolFn = (name: string, args: Record<string, unknown>) => Promise<unknown>;
10
+ /**
11
+ * Converts MCP tools/resources/prompts to provider-neutral ProviderTool[]
12
+ * and a matching callTool dispatcher backed by @mcp-use/client connectors.
13
+ */
14
+ export declare class NativeAdapter extends BaseAdapter<NativeToolEntry> {
15
+ private usedToolNames;
16
+ private handlers;
17
+ constructor(disallowedTools?: string[]);
18
+ createToolsFromConnectors(connectors: BaseConnector[]): Promise<NativeToolEntry[]>;
19
+ createCallTool(): NativeCallToolFn;
20
+ toProviderTools(entries: NativeToolEntry[]): ProviderTool[];
21
+ private reserveName;
22
+ private register;
23
+ protected convertTool(mcpTool: MCPTool, connector: BaseConnector): NativeToolEntry | null;
24
+ protected convertResource(mcpResource: Resource, connector: BaseConnector): NativeToolEntry | null;
25
+ protected convertPrompt(mcpPrompt: Prompt, connector: BaseConnector): NativeToolEntry | null;
26
+ }
27
+ //# sourceMappingURL=native_adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native_adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/native_adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,QAAQ,EACR,IAAI,IAAI,OAAO,EAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AASxC,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,gBAAgB,GAAG,CAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC,OAAO,CAAC,CAAC;AAStB;;;GAGG;AACH,qBAAa,aAAc,SAAQ,WAAW,CAAC,eAAe,CAAC;IAC7D,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAkC;gBAEtC,eAAe,GAAE,MAAM,EAAO;IAIpB,yBAAyB,CAC7C,UAAU,EAAE,aAAa,EAAE,GAC1B,OAAO,CAAC,eAAe,EAAE,CAAC;IAM7B,cAAc,IAAI,gBAAgB;IAuBlC,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,YAAY,EAAE;IAQ3D,OAAO,CAAC,WAAW;IAwBnB,OAAO,CAAC,QAAQ;IAQhB,SAAS,CAAC,WAAW,CACnB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,aAAa,GACvB,eAAe,GAAG,IAAI;IAoBzB,SAAS,CAAC,eAAe,CACvB,WAAW,EAAE,QAAQ,EACrB,SAAS,EAAE,aAAa,GACvB,eAAe,GAAG,IAAI;IAoBzB,SAAS,CAAC,aAAa,CACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,aAAa,GACvB,eAAe,GAAG,IAAI;CA6B1B"}
@@ -0,0 +1,38 @@
1
+ import type { MCPClient } from "@mcp-use/client";
2
+ import type { BaseConnector } from "@mcp-use/client";
3
+ import type { ProviderConfig } from "../llm/types.js";
4
+ import type { NativeLLMConfig } from "../llm/provider_config.js";
5
+ import type { MCPServerConfig } from "./types.js";
6
+ /** Live MCP connection handle (McpServer from useMcp / useMcpClient). */
7
+ export interface McpConnectionLike {
8
+ tools?: Array<{
9
+ name: string;
10
+ description?: string;
11
+ inputSchema?: Record<string, unknown>;
12
+ }>;
13
+ callTool: (name: string, args: Record<string, unknown>, options?: {
14
+ signal?: AbortSignal;
15
+ }) => Promise<unknown>;
16
+ }
17
+ /** Spawn configs (Node) OR live connections (browser). */
18
+ export type McpServersInput = Record<string, MCPServerConfig> | McpConnectionLike[];
19
+ export interface MCPAgentOptions {
20
+ /** Simplified: `"openai/gpt-4o"`. Explicit: `ProviderConfig`. */
21
+ llm: string | ProviderConfig;
22
+ llmConfig?: NativeLLMConfig;
23
+ client?: MCPClient;
24
+ connectors?: BaseConnector[];
25
+ /** Config map to spawn servers, or live connection array. */
26
+ mcpServers?: McpServersInput;
27
+ maxSteps?: number;
28
+ autoInitialize?: boolean;
29
+ memoryEnabled?: boolean;
30
+ systemPrompt?: string | null;
31
+ disallowedTools?: string[];
32
+ exposeResourcesAsTools?: boolean;
33
+ exposePromptsAsTools?: boolean;
34
+ agentId?: string;
35
+ apiKey?: string;
36
+ baseUrl?: string;
37
+ }
38
+ //# sourceMappingURL=agent_options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent_options.d.ts","sourceRoot":"","sources":["../../src/agents/agent_options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACvC,CAAC,CAAC;IACH,QAAQ,EAAE,CACR,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAC/B,OAAO,CAAC,OAAO,CAAC,CAAC;CACvB;AAED,0DAA0D;AAC1D,MAAM,MAAM,eAAe,GACvB,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAC/B,iBAAiB,EAAE,CAAC;AAExB,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;IAC7B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,6DAA6D;IAC7D,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,27 @@
1
+ import type { MCPSession } from "@mcp-use/client";
2
+ export declare abstract class BaseAgent {
3
+ protected session: MCPSession;
4
+ /**
5
+ * @param session MCP session used for tool invocation
6
+ */
7
+ constructor(session: MCPSession);
8
+ /**
9
+ * Initialize the agent, including initializing the MCP session
10
+ */
11
+ abstract initialize(): Promise<void>;
12
+ /**
13
+ * Run the agent on a query with a maximum number of steps
14
+ * @param query The user query
15
+ * @param maxSteps Maximum steps allowed (default: 10)
16
+ * @returns Final result of agent execution
17
+ */
18
+ abstract run(query: string, maxSteps?: number): Promise<Record<string, any>>;
19
+ /**
20
+ * Perform a single step given the query and previous steps
21
+ * @param query The user query or intermediate input
22
+ * @param previousSteps History of steps so far
23
+ * @returns Result of this step
24
+ */
25
+ abstract step(query: string, previousSteps?: Array<Record<string, any>>): Promise<Record<string, any>>;
26
+ }
27
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/agents/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,8BAAsB,SAAS;IAC7B,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC;IAE9B;;OAEG;gBACS,OAAO,EAAE,UAAU;IAI/B;;OAEG;aACa,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAE3C;;;;;OAKG;aACa,GAAG,CACjB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE/B;;;;;OAKG;aACa,IAAI,CAClB,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GACzC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC"}
@@ -0,0 +1,6 @@
1
+ import type { StreamEvent } from "@langchain/core/tracers/log_stream";
2
+ /**
3
+ * Stream events with pretty printing
4
+ */
5
+ export declare function prettyStreamEvents(streamEventsGenerator: AsyncGenerator<StreamEvent, void, void>): AsyncGenerator<void, string, void>;
6
+ //# sourceMappingURL=display.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/agents/display.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAwrBtE;;GAEG;AACH,wBAAuB,kBAAkB,CACvC,qBAAqB,EAAE,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,GAC7D,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAoCpC"}
@@ -0,0 +1,9 @@
1
+ export { PROMPTS } from "./prompts/index.js";
2
+ export { BaseAgent } from "./base.js";
3
+ export { MCPAgent } from "./mcp_agent.js";
4
+ export { RemoteAgent } from "./remote.js";
5
+ export type { MCPAgentOptions, McpConnectionLike, McpServersInput, } from "./agent_options.js";
6
+ export type { BaseMessage, ExplicitModeOptions, LanguageModel, MCPServerConfig, SimplifiedModeOptions, } from "./types.js";
7
+ export type { LLMConfig, LLMProvider } from "./utils/llm_provider.js";
8
+ export type { RunOptions } from "./run_options.js";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,90 @@
1
+ import type { ZodSchema } from "zod";
2
+ import { parseLLMStringToProviderConfig, providerConfigFromOptions } from "../llm/provider_config.js";
3
+ import type { LlmStreamEvent, ProviderConfig, ProviderMessage, ProviderName, TokenUsage } from "../llm/types.js";
4
+ import type { MCPAgentOptions } from "./agent_options.js";
5
+ import type { RunOptions } from "./run_options.js";
6
+ export type { ProviderName, ProviderConfig, ProviderMessage, LlmStreamEvent, TokenUsage, };
7
+ export type { MCPAgentOptions, McpConnectionLike, McpServersInput, } from "./agent_options.js";
8
+ export type { RunOptions } from "./run_options.js";
9
+ export interface AgentStep {
10
+ action: {
11
+ tool: string;
12
+ toolInput: Record<string, unknown>;
13
+ log: string;
14
+ };
15
+ observation: string;
16
+ }
17
+ /**
18
+ * Cross-platform MCP agent: Inspector → MCPAgent → loop → fetch + @mcp-use/client.
19
+ */
20
+ export declare class MCPAgent {
21
+ static getPackageVersion(): string;
22
+ private driver?;
23
+ private client?;
24
+ private connectors;
25
+ private clientOwnedByAgent;
26
+ private nativeAdapter;
27
+ private providerTools;
28
+ private callTool?;
29
+ private maxSteps;
30
+ private autoInitialize;
31
+ private systemPrompt;
32
+ private disallowedTools;
33
+ private exposeResourcesAsTools;
34
+ private exposePromptsAsTools;
35
+ private initialized;
36
+ private isRemote;
37
+ private remoteAgent;
38
+ private isSimplifiedMode;
39
+ private llmString?;
40
+ private llmConfig?;
41
+ private mcpServersConfig?;
42
+ private explicitProviderConfig?;
43
+ private conversationMessages;
44
+ private memoryEnabled;
45
+ private boundConnections?;
46
+ constructor(options: MCPAgentOptions);
47
+ private resolveMcpServers;
48
+ private hasLiveConnections;
49
+ initialize(): Promise<void>;
50
+ private loadTools;
51
+ private bindConnections;
52
+ private buildMessages;
53
+ getConversationHistory(): ProviderMessage[];
54
+ clearConversationHistory(): void;
55
+ setSystemMessage(message: string): void;
56
+ private ensureReady;
57
+ private nativeRunParams;
58
+ run(options: RunOptions): Promise<string>;
59
+ run<T>(options: RunOptions<T>): Promise<T>;
60
+ /** @deprecated Use run({ prompt, maxSteps, ... }) */
61
+ run(query: string, maxSteps?: number, manageConnector?: boolean, externalHistory?: unknown, outputSchema?: undefined, signal?: AbortSignal): Promise<string>;
62
+ /** @deprecated Use run({ prompt, schema, maxSteps, ... }) */
63
+ run<T>(query: string, maxSteps?: number, manageConnector?: boolean, externalHistory?: unknown, outputSchema?: ZodSchema<T>, signal?: AbortSignal): Promise<T>;
64
+ stream(options: RunOptions): AsyncGenerator<AgentStep, string, void>;
65
+ stream<T>(options: RunOptions<T>): AsyncGenerator<AgentStep, T, void>;
66
+ /** @deprecated Use stream({ prompt, maxSteps, ... }) */
67
+ stream<T = string>(query: string, maxSteps?: number, manageConnector?: boolean, externalHistory?: unknown, outputSchema?: ZodSchema<T>, signal?: AbortSignal): AsyncGenerator<AgentStep, string | T, void>;
68
+ streamEvents(options: RunOptions): AsyncGenerator<LlmStreamEvent, void, unknown>;
69
+ streamEvents<T>(options: RunOptions<T>): AsyncGenerator<LlmStreamEvent, void, unknown>;
70
+ /** @deprecated Use streamEvents({ prompt, maxSteps, ... }) */
71
+ streamEvents<T = string>(query: string, maxSteps?: number, manageConnector?: boolean, externalHistory?: unknown, outputSchema?: ZodSchema<T>, signal?: AbortSignal): AsyncGenerator<LlmStreamEvent, void, unknown>;
72
+ /** Single-shot completion without tools (sampling, props generation). */
73
+ chat(options: {
74
+ messages: ProviderMessage[];
75
+ signal?: AbortSignal;
76
+ }): Promise<string>;
77
+ close(): Promise<void>;
78
+ }
79
+ /** Inspector / config UI LLM shape. */
80
+ export interface LLMConfig {
81
+ provider: ProviderName;
82
+ model: string;
83
+ apiKey: string;
84
+ temperature?: number;
85
+ baseUrl?: string;
86
+ }
87
+ export { providerConfigFromOptions, parseLLMStringToProviderConfig };
88
+ export { LlmRequestError } from "../llm/providers/openai-chat-completions.js";
89
+ export { convertMessagesToProvider } from "../llm/messageFormat.js";
90
+ //# sourceMappingURL=mcp_agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp_agent.d.ts","sourceRoot":"","sources":["../../src/agents/mcp_agent.ts"],"names":[],"mappings":"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"}