@delofarag/ai-utils 1.7.1 → 1.7.3

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 (184) hide show
  1. package/dist/heart/agent.d.ts +11 -1
  2. package/dist/heart/agent.d.ts.map +1 -1
  3. package/dist/heart/agent.js +41 -22
  4. package/dist/heart/agent.js.map +1 -1
  5. package/dist/heart/deepAgent.d.ts +13 -1
  6. package/dist/heart/deepAgent.d.ts.map +1 -1
  7. package/dist/heart/deepAgent.js +77 -46
  8. package/dist/heart/deepAgent.js.map +1 -1
  9. package/dist/heart/tools/MCP.d.ts +45 -0
  10. package/dist/heart/tools/MCP.d.ts.map +1 -0
  11. package/dist/heart/tools/MCP.js +51 -0
  12. package/dist/heart/tools/MCP.js.map +1 -0
  13. package/dist/heart/tools/ToolRegistry.d.ts +7 -1
  14. package/dist/heart/tools/ToolRegistry.d.ts.map +1 -1
  15. package/dist/heart/tools/ToolRegistry.js.map +1 -1
  16. package/dist/helpers/cli-llms.d.ts +192 -0
  17. package/dist/helpers/cli-llms.d.ts.map +1 -0
  18. package/dist/helpers/cli-llms.js +737 -0
  19. package/dist/helpers/cli-llms.js.map +1 -0
  20. package/dist/helpers/llms.d.ts +32 -2
  21. package/dist/helpers/llms.d.ts.map +1 -1
  22. package/dist/helpers/llms.js +27 -0
  23. package/dist/helpers/llms.js.map +1 -1
  24. package/dist/imports.d.ts +10 -4
  25. package/dist/imports.d.ts.map +1 -1
  26. package/dist/imports.js +6 -3
  27. package/dist/imports.js.map +1 -1
  28. package/dist/index.d.ts +2 -2
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +2 -2
  31. package/dist/index.js.map +1 -1
  32. package/package.json +4 -2
  33. package/dist/chatbot.d.ts +0 -33
  34. package/dist/chatbot.d.ts.map +0 -1
  35. package/dist/chatbot.js +0 -72
  36. package/dist/chatbot.js.map +0 -1
  37. package/dist/functions/answerers/ask.d.ts +0 -6
  38. package/dist/functions/answerers/ask.d.ts.map +0 -1
  39. package/dist/functions/answerers/ask.js +0 -14
  40. package/dist/functions/answerers/ask.js.map +0 -1
  41. package/dist/functions/answerers/websearch.d.ts +0 -2
  42. package/dist/functions/answerers/websearch.d.ts.map +0 -1
  43. package/dist/functions/answerers/websearch.js +0 -19
  44. package/dist/functions/answerers/websearch.js.map +0 -1
  45. package/dist/functions/evaluators/classify.d.ts +0 -23
  46. package/dist/functions/evaluators/classify.d.ts.map +0 -1
  47. package/dist/functions/evaluators/classify.js +0 -61
  48. package/dist/functions/evaluators/classify.js.map +0 -1
  49. package/dist/functions/evaluators/decide.d.ts +0 -22
  50. package/dist/functions/evaluators/decide.d.ts.map +0 -1
  51. package/dist/functions/evaluators/decide.js +0 -52
  52. package/dist/functions/evaluators/decide.js.map +0 -1
  53. package/dist/functions/optimizers/promptify.d.ts +0 -8
  54. package/dist/functions/optimizers/promptify.d.ts.map +0 -1
  55. package/dist/functions/optimizers/promptify.js +0 -48
  56. package/dist/functions/optimizers/promptify.js.map +0 -1
  57. package/dist/functions/optimizers/ragify.d.ts +0 -6
  58. package/dist/functions/optimizers/ragify.d.ts.map +0 -1
  59. package/dist/functions/optimizers/ragify.js +0 -40
  60. package/dist/functions/optimizers/ragify.js.map +0 -1
  61. package/dist/functions/parsers/extract.d.ts +0 -9
  62. package/dist/functions/parsers/extract.d.ts.map +0 -1
  63. package/dist/functions/parsers/extract.js +0 -37
  64. package/dist/functions/parsers/extract.js.map +0 -1
  65. package/dist/functions/parsers/normalize.d.ts +0 -9
  66. package/dist/functions/parsers/normalize.d.ts.map +0 -1
  67. package/dist/functions/parsers/normalize.js +0 -63
  68. package/dist/functions/parsers/normalize.js.map +0 -1
  69. package/dist/functions/parsers/structure.d.ts +0 -9
  70. package/dist/functions/parsers/structure.d.ts.map +0 -1
  71. package/dist/functions/parsers/structure.js +0 -36
  72. package/dist/functions/parsers/structure.js.map +0 -1
  73. package/dist/functions/parsers/summarize.d.ts +0 -8
  74. package/dist/functions/parsers/summarize.d.ts.map +0 -1
  75. package/dist/functions/parsers/summarize.js +0 -46
  76. package/dist/functions/parsers/summarize.js.map +0 -1
  77. package/dist/heart/chatbot.d.ts +0 -55
  78. package/dist/heart/chatbot.d.ts.map +0 -1
  79. package/dist/heart/chatbot.js +0 -99
  80. package/dist/heart/chatbot.js.map +0 -1
  81. package/dist/heart/memorychain.d.ts +0 -60
  82. package/dist/heart/memorychain.d.ts.map +0 -1
  83. package/dist/heart/memorychain.js +0 -190
  84. package/dist/heart/memorychain.js.map +0 -1
  85. package/dist/heart/tools/BasicToolRegistry.d.ts +0 -22
  86. package/dist/heart/tools/BasicToolRegistry.d.ts.map +0 -1
  87. package/dist/heart/tools/BasicToolRegistry.js +0 -45
  88. package/dist/heart/tools/BasicToolRegistry.js.map +0 -1
  89. package/dist/heart/tools/CombinedRegistry.d.ts +0 -41
  90. package/dist/heart/tools/CombinedRegistry.d.ts.map +0 -1
  91. package/dist/heart/tools/CombinedRegistry.js +0 -46
  92. package/dist/heart/tools/CombinedRegistry.js.map +0 -1
  93. package/dist/heart/tools/RAGTool 2.d.ts +0 -1
  94. package/dist/heart/tools/RAGTool 2.d.ts.map +0 -1
  95. package/dist/heart/tools/RAGTool 2.js +0 -2
  96. package/dist/heart/tools/RAGTool 2.js.map +0 -1
  97. package/dist/heart/tools/ZodiosToolRegistry.d.ts +0 -22
  98. package/dist/heart/tools/ZodiosToolRegistry.d.ts.map +0 -1
  99. package/dist/heart/tools/ZodiosToolRegistry.js +0 -80
  100. package/dist/heart/tools/ZodiosToolRegistry.js.map +0 -1
  101. package/dist/heart/tools/zodios/CombinedRegistry.d.ts +0 -41
  102. package/dist/heart/tools/zodios/CombinedRegistry.d.ts.map +0 -1
  103. package/dist/heart/tools/zodios/CombinedRegistry.js +0 -58
  104. package/dist/heart/tools/zodios/CombinedRegistry.js.map +0 -1
  105. package/dist/heart/tools/zodios/ZodiosToolRegistry.d.ts +0 -22
  106. package/dist/heart/tools/zodios/ZodiosToolRegistry.d.ts.map +0 -1
  107. package/dist/heart/tools/zodios/ZodiosToolRegistry.js +0 -80
  108. package/dist/heart/tools/zodios/ZodiosToolRegistry.js.map +0 -1
  109. package/dist/helpers.d.ts +0 -51
  110. package/dist/helpers.d.ts.map +0 -1
  111. package/dist/helpers.js +0 -70
  112. package/dist/helpers.js.map +0 -1
  113. package/dist/magic-funcs/decide.d.ts +0 -1
  114. package/dist/magic-funcs/decide.d.ts.map +0 -1
  115. package/dist/magic-funcs/decide.js +0 -2
  116. package/dist/magic-funcs/decide.js.map +0 -1
  117. package/dist/magic-funcs/extract.d.ts +0 -1
  118. package/dist/magic-funcs/extract.d.ts.map +0 -1
  119. package/dist/magic-funcs/extract.js +0 -2
  120. package/dist/magic-funcs/extract.js.map +0 -1
  121. package/dist/magic-funcs/structure.d.ts +0 -1
  122. package/dist/magic-funcs/structure.d.ts.map +0 -1
  123. package/dist/magic-funcs/structure.js +0 -2
  124. package/dist/magic-funcs/structure.js.map +0 -1
  125. package/dist/magic-funcs/summarize.d.ts +0 -1
  126. package/dist/magic-funcs/summarize.d.ts.map +0 -1
  127. package/dist/magic-funcs/summarize.js +0 -2
  128. package/dist/magic-funcs/summarize.js.map +0 -1
  129. package/dist/memory.d.ts +0 -91
  130. package/dist/memory.d.ts.map +0 -1
  131. package/dist/memory.js +0 -350
  132. package/dist/memory.js.map +0 -1
  133. package/dist/rag.d.ts +0 -42
  134. package/dist/rag.d.ts.map +0 -1
  135. package/dist/rag.js +0 -66
  136. package/dist/rag.js.map +0 -1
  137. package/dist/session.d.ts +0 -12
  138. package/dist/session.d.ts.map +0 -1
  139. package/dist/session.js +0 -31
  140. package/dist/session.js.map +0 -1
  141. package/dist/src/heart/agent.d.ts +0 -68
  142. package/dist/src/heart/agent.d.ts.map +0 -1
  143. package/dist/src/heart/agent.js +0 -140
  144. package/dist/src/heart/agent.js.map +0 -1
  145. package/dist/src/heart/chain.d.ts +0 -42
  146. package/dist/src/heart/chain.d.ts.map +0 -1
  147. package/dist/src/heart/chain.js +0 -152
  148. package/dist/src/heart/chain.js.map +0 -1
  149. package/dist/src/heart/chatbot.d.ts +0 -27
  150. package/dist/src/heart/chatbot.d.ts.map +0 -1
  151. package/dist/src/heart/chatbot.js +0 -100
  152. package/dist/src/heart/chatbot.js.map +0 -1
  153. package/dist/src/heart/memorychain.d.ts +0 -59
  154. package/dist/src/heart/memorychain.d.ts.map +0 -1
  155. package/dist/src/heart/memorychain.js +0 -165
  156. package/dist/src/heart/memorychain.js.map +0 -1
  157. package/dist/src/heart/tools/BasicToolRegistry.d.ts +0 -22
  158. package/dist/src/heart/tools/BasicToolRegistry.d.ts.map +0 -1
  159. package/dist/src/heart/tools/BasicToolRegistry.js +0 -45
  160. package/dist/src/heart/tools/BasicToolRegistry.js.map +0 -1
  161. package/dist/src/heart/tools/CombinedRegistry.d.ts +0 -41
  162. package/dist/src/heart/tools/CombinedRegistry.d.ts.map +0 -1
  163. package/dist/src/heart/tools/CombinedRegistry.js +0 -46
  164. package/dist/src/heart/tools/CombinedRegistry.js.map +0 -1
  165. package/dist/src/heart/tools/ZodiosToolRegistry.d.ts +0 -22
  166. package/dist/src/heart/tools/ZodiosToolRegistry.d.ts.map +0 -1
  167. package/dist/src/heart/tools/ZodiosToolRegistry.js +0 -80
  168. package/dist/src/heart/tools/ZodiosToolRegistry.js.map +0 -1
  169. package/dist/src/helpers.d.ts +0 -31
  170. package/dist/src/helpers.d.ts.map +0 -1
  171. package/dist/src/helpers.js +0 -105
  172. package/dist/src/helpers.js.map +0 -1
  173. package/dist/src/imports.d.ts +0 -44
  174. package/dist/src/imports.d.ts.map +0 -1
  175. package/dist/src/imports.js +0 -56
  176. package/dist/src/imports.js.map +0 -1
  177. package/dist/src/memory.d.ts +0 -78
  178. package/dist/src/memory.d.ts.map +0 -1
  179. package/dist/src/memory.js +0 -282
  180. package/dist/src/memory.js.map +0 -1
  181. package/dist/src/rag.d.ts +0 -58
  182. package/dist/src/rag.d.ts.map +0 -1
  183. package/dist/src/rag.js +0 -72
  184. package/dist/src/rag.js.map +0 -1
@@ -3,12 +3,19 @@ import type { InvokeInputBase, OutputSchema } from "./chain";
3
3
  import { DynamicStructuredTool } from "../imports";
4
4
  import { BaseChatModel } from "../imports";
5
5
  import { BaseCheckpointSaver } from "../imports";
6
+ import { type MCPServersInput } from "./tools/MCP";
6
7
  interface AgentProps<T extends OutputSchema | undefined = undefined> {
7
8
  tools: DynamicStructuredTool[];
8
9
  prompt?: string | Array<string>;
9
10
  llm?: BaseChatModel;
10
11
  output?: T;
11
12
  checkpointer?: BaseCheckpointSaver;
13
+ /**
14
+ * MCP-Server, deren Tools dem Agent zur Verfügung gestellt werden.
15
+ * Pro invoke()/stream() wird ein frischer MultiServerMCPClient gebaut,
16
+ * die Tools per getTools() geladen und der Client am Ende wieder geschlossen.
17
+ */
18
+ mcpServer?: MCPServersInput;
12
19
  }
13
20
  /**
14
21
  * CONSTRUCTOR:
@@ -19,6 +26,7 @@ interface AgentProps<T extends OutputSchema | undefined = undefined> {
19
26
  tools,
20
27
  output,
21
28
  checkpointer,
29
+ mcpServer,
22
30
  }: AgentProps<T>) {
23
31
  this.prompt = typeof prompt === "string" ? [["system", prompt]] : Array.isArray(prompt) ? prompt.map((p:string)=>{
24
32
  if(typeof p === "string"){
@@ -36,6 +44,7 @@ interface AgentProps<T extends OutputSchema | undefined = undefined> {
36
44
  this.llm = llm
37
45
  this.output = output
38
46
  this.checkpointer = checkpointer
47
+ this.mcpServer = mcpServer
39
48
  }
40
49
  * @param output - Zod-Schema: beschreibt die Struktur des Rückgabewerts von .invoke()
41
50
  */
@@ -46,8 +55,9 @@ export declare class Agent<T extends OutputSchema | undefined = undefined> {
46
55
  private output;
47
56
  private agent;
48
57
  private checkpointer;
58
+ private mcpServer;
49
59
  private should_use_output;
50
- constructor({ prompt, llm, tools, output, checkpointer, }: AgentProps<T>);
60
+ constructor({ prompt, llm, tools, output, checkpointer, mcpServer, }: AgentProps<T>);
51
61
  /** bruder ich weiss functional overloading tot aber muss hier sein! so kann sicher gesagt werden: wenn kein output gesetzt = string, wenn doch = z.infer<output>! */
52
62
  invoke(this: Agent<undefined>, invokeInput: InvokeInputBase & {
53
63
  thread_id?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/heart/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAC,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AA0BhD,UAAU,UAAU,CAAC,CAAC,SAAS,YAAY,GAAG,SAAS,GAAG,SAAS;IAC/D,KAAK,EAAE,qBAAqB,EAAE,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,MAAM,CAAC,EAAE,CAAC,CAAA;IACV,YAAY,CAAC,EAAE,mBAAmB,CAAA;CACrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,KAAK,CAAC,CAAC,SAAS,YAAY,GAAG,SAAS,GAAG,SAAS;IAC7D,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,GAAG,CAAe;IAC1B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,iBAAiB,CAAgB;gBAE7B,EACR,MAA6C,EAC7C,GAAoE,EACpE,KAAK,EACL,MAAM,EACN,YAAY,GACf,EAAE,UAAU,CAAC,CAAC,CAAC;IAmBhB,qKAAqK;IACxJ,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,eAAe,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IACtG,MAAM,CAAC,CAAC,SAAS,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,eAAe,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAsCzH,MAAM,CAAC,WAAW,EAAE,eAAe,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;IAyDlI,OAAO,CAAC,IAAI,EAAC,qBAAqB;IAIzC,IAAW,YAAY,IAAI,MAAM,EAAE,CAElC;CACJ"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/heart/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAC,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAMhD,OAAO,EAAuC,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AAqBvF,UAAU,UAAU,CAAC,CAAC,SAAS,YAAY,GAAG,SAAS,GAAG,SAAS;IAC/D,KAAK,EAAE,qBAAqB,EAAE,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,MAAM,CAAC,EAAE,CAAC,CAAA;IACV,YAAY,CAAC,EAAE,mBAAmB,CAAA;IAClC;;;;OAIG;IACH,SAAS,CAAC,EAAE,eAAe,CAAA;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,KAAK,CAAC,CAAC,SAAS,YAAY,GAAG,SAAS,GAAG,SAAS;IAC7D,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,GAAG,CAAe;IAC1B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,iBAAiB,CAAgB;gBAE7B,EACR,MAA6C,EAC7C,GAAoE,EACpE,KAAK,EACL,MAAM,EACN,YAAY,EACZ,SAAS,GACZ,EAAE,UAAU,CAAC,CAAC,CAAC;IAoBhB,qKAAqK;IACxJ,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,eAAe,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IACtG,MAAM,CAAC,CAAC,SAAS,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,eAAe,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAgDzH,MAAM,CAAC,WAAW,EAAE,eAAe,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;IA+DlI,OAAO,CAAC,IAAI,EAAC,qBAAqB;IAIzC,IAAW,YAAY,IAAI,MAAM,EAAE,CAElC;CACJ"}
@@ -3,6 +3,7 @@ import { createReactAgent } from "../imports";
3
3
  import { HumanMessage } from "../imports";
4
4
  import { structure } from "../magic-funcs/parsers/structure";
5
5
  import { getLLM } from "../helpers/llms";
6
+ import { buildMcpClient, buildMcpPromptBlock } from "./tools/MCP";
6
7
  async function resolveSystemPromptBlocks(blocks, promptVars) {
7
8
  if (!promptVars || Object.keys(promptVars).length === 0) {
8
9
  return blocks;
@@ -28,6 +29,7 @@ async function resolveSystemPromptBlocks(blocks, promptVars) {
28
29
  tools,
29
30
  output,
30
31
  checkpointer,
32
+ mcpServer,
31
33
  }: AgentProps<T>) {
32
34
  this.prompt = typeof prompt === "string" ? [["system", prompt]] : Array.isArray(prompt) ? prompt.map((p:string)=>{
33
35
  if(typeof p === "string"){
@@ -45,6 +47,7 @@ async function resolveSystemPromptBlocks(blocks, promptVars) {
45
47
  this.llm = llm
46
48
  this.output = output
47
49
  this.checkpointer = checkpointer
50
+ this.mcpServer = mcpServer
48
51
  }
49
52
  * @param output - Zod-Schema: beschreibt die Struktur des Rückgabewerts von .invoke()
50
53
  */
@@ -55,8 +58,9 @@ export class Agent {
55
58
  output;
56
59
  agent;
57
60
  checkpointer;
61
+ mcpServer;
58
62
  should_use_output = true;
59
- constructor({ prompt = `Du bist ein hilfreicher Assistent.`, llm = getLLM({ provider: "openrouter", model: "openai/gpt-5.4-mini" }), tools, output, checkpointer, }) {
63
+ constructor({ prompt = `Du bist ein hilfreicher Assistent.`, llm = getLLM({ provider: "openrouter", model: "openai/gpt-5.4-mini" }), tools, output, checkpointer, mcpServer, }) {
60
64
  this.prompt = typeof prompt === "string" ? [["system", prompt]] : Array.isArray(prompt) ? prompt.map((p) => {
61
65
  if (typeof p === "string") {
62
66
  return ["system", p];
@@ -74,6 +78,7 @@ export class Agent {
74
78
  this.llm = llm;
75
79
  this.output = output;
76
80
  this.checkpointer = checkpointer;
81
+ this.mcpServer = mcpServer;
77
82
  }
78
83
  async invoke(invokeInput) {
79
84
  const { thread_id, debug, promptVars, ...variables } = invokeInput;
@@ -83,33 +88,43 @@ export class Agent {
83
88
  console.warn("WARN: thread_id is provided but no checkpointer is set, so no state is stored");
84
89
  const humanMessages = Object.entries(variables).map(([key, value]) => new HumanMessage(`${key}: ${typeof value === "object" ? JSON.stringify(value) : value}`));
85
90
  const resolvedPrompt = await resolveSystemPromptBlocks(this.prompt, promptVars);
86
- this.agent = createReactAgent({
87
- llm: this.llm,
88
- tools: this.tools,
89
- checkpointSaver: this.checkpointer,
90
- prompt: (state) => [
91
- ...resolvedPrompt,
92
- ...state.messages
93
- ]
94
- });
91
+ const mcpBlock = buildMcpPromptBlock(this.mcpServer);
92
+ const promptBlocks = mcpBlock ? [...resolvedPrompt, ["system", mcpBlock]] : resolvedPrompt;
95
93
  const config = thread_id && this.checkpointer ? { configurable: { thread_id } } : undefined;
96
94
  if (thread_id && !this.checkpointer)
97
95
  console.warn("thread_id wurde beim invoke des agenten mitgegeben aber kein checkpointer, somit wird nichts gespeichert und die thread_id ist gleichgültig");
98
- const result = await this.agent.invoke({ messages: humanMessages }, config);
99
- if (debug)
100
- return result;
101
- const lastMessage = result.messages[result.messages.length - 1];
102
- const raw = lastMessage?.content;
103
- const content = typeof raw === "string" ? raw : (Array.isArray(raw) ? raw.map((c) => c?.text ?? c).join("") : String(raw ?? ""));
104
- if (this.output && this.should_use_output) {
105
- return await structure({ data: content, into: this.output, llm: this.llm });
96
+ const mcpClient = buildMcpClient(this.mcpServer);
97
+ try {
98
+ const tools = mcpClient ? [...this.tools, ...await mcpClient.getTools()] : this.tools;
99
+ this.agent = createReactAgent({
100
+ llm: this.llm,
101
+ tools: tools,
102
+ checkpointSaver: this.checkpointer,
103
+ prompt: (state) => [
104
+ ...promptBlocks,
105
+ ...state.messages
106
+ ]
107
+ });
108
+ const result = await this.agent.invoke({ messages: humanMessages }, config);
109
+ if (debug)
110
+ return result;
111
+ const lastMessage = result.messages[result.messages.length - 1];
112
+ const raw = lastMessage?.content;
113
+ const content = typeof raw === "string" ? raw : (Array.isArray(raw) ? raw.map((c) => c?.text ?? c).join("") : String(raw ?? ""));
114
+ if (this.output && this.should_use_output) {
115
+ return await structure({ data: content, into: this.output, llm: this.llm });
116
+ }
117
+ else {
118
+ return content;
119
+ }
106
120
  }
107
- else {
108
- return content;
121
+ finally {
122
+ await mcpClient?.close();
109
123
  }
110
124
  }
111
125
  async *stream(invokeInput) {
112
126
  this.should_use_output = false;
127
+ const mcpClient = buildMcpClient(this.mcpServer);
113
128
  try {
114
129
  const { thread_id, promptVars, ...variables } = invokeInput;
115
130
  if (this.checkpointer && !thread_id)
@@ -118,12 +133,15 @@ export class Agent {
118
133
  console.warn("WARN: thread_id is provided but no checkpointer is set, so no state is stored");
119
134
  const humanMessages = Object.entries(variables).map(([key, value]) => new HumanMessage(`${key}: ${typeof value === "object" ? JSON.stringify(value) : value}`));
120
135
  const resolvedPrompt = await resolveSystemPromptBlocks(this.prompt, promptVars);
136
+ const mcpBlock = buildMcpPromptBlock(this.mcpServer);
137
+ const promptBlocks = mcpBlock ? [...resolvedPrompt, ["system", mcpBlock]] : resolvedPrompt;
138
+ const tools = mcpClient ? [...this.tools, ...await mcpClient.getTools()] : this.tools;
121
139
  this.agent = createReactAgent({
122
140
  llm: this.llm,
123
- tools: this.tools,
141
+ tools: tools,
124
142
  checkpointSaver: this.checkpointer,
125
143
  prompt: (state) => [
126
- ...resolvedPrompt,
144
+ ...promptBlocks,
127
145
  ...state.messages
128
146
  ]
129
147
  });
@@ -154,6 +172,7 @@ export class Agent {
154
172
  }
155
173
  finally {
156
174
  this.should_use_output = true;
175
+ await mcpClient?.close();
157
176
  }
158
177
  }
159
178
  addTool(tool) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/heart/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/heart/agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAKxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAC,MAAM,YAAY,CAAA;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAwB,MAAM,aAAa,CAAA;AAEvF,KAAK,UAAU,yBAAyB,CACpC,MAAiC,EACjC,UAAgC;IAEhC,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,OAAO,MAAM,CAAA;IACjB,CAAC;IACD,MAAM,GAAG,GAA8B,EAAE,CAAA;IACzC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;QAChC,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAiC,CAAC,CAAA;YACnG,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAA;QAC/B,CAAC;QAAC,MAAM,CAAC;YACL,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;QAC1B,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,OAAO,KAAK;IACN,MAAM,CAA2B;IACjC,KAAK,CAAyB;IAC9B,GAAG,CAAe;IAClB,MAAM,CAAe;IACrB,KAAK,CAAK;IACV,YAAY,CAAiC;IAC7C,SAAS,CAA6B;IACtC,iBAAiB,GAAY,IAAI,CAAA;IAEzC,YAAY,EACR,MAAM,GAAG,oCAAoC,EAC7C,GAAG,GAAG,MAAM,CAAC,EAAE,QAAQ,EAAC,YAAY,EAAE,KAAK,EAAE,qBAAqB,EAAC,CAAC,EACpE,KAAK,EACL,MAAM,EACN,YAAY,EACZ,SAAS,GACG;QACZ,IAAI,CAAC,MAAM,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAQ,EAAC,EAAE;YAC7G,IAAG,OAAO,CAAC,KAAK,QAAQ,EAAC,CAAC;gBACtB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;YACxB,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,CAAA,CAAC,mEAAmE;YAChF,CAAC;QACL,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAC;;;;wEAIqC,CAAC,CAAC,CAAA;QAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC9B,CAAC;IAKM,KAAK,CAAC,MAAM,CAAC,WAAqD;QACrE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,GAAG,WAAW,CAAA;QAElE,IAAG,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;QAC7H,IAAG,CAAC,IAAI,CAAC,YAAY,IAAI,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAA;QAEjI,MAAM,aAAa,GAAmB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAC/D,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,GAAG,GAAG,KAAK,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAC7G,CAAC;QAEF,MAAM,cAAc,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAC/E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACpD,MAAM,YAAY,GAA8B,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAA;QAErH,MAAM,MAAM,GAAG,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAC3F,IAAG,SAAS,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,CAAC,IAAI,CAAC,6IAA6I,CAAC,CAAA;QAE/L,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAChD,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;YAErF,IAAI,CAAC,KAAK,GAAG,gBAAgB,CAAC;gBAC1B,GAAG,EAAE,IAAI,CAAC,GAAU;gBACpB,KAAK,EAAE,KAAY;gBACnB,eAAe,EAAE,IAAI,CAAC,YAAmB;gBACzC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;oBACf,GAAG,YAAY;oBACf,GAAG,KAAK,CAAC,QAAQ;iBACpB;aACJ,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAS,EAAE,MAAM,CAAC,CAAA;YAClF,IAAG,KAAK;gBAAE,OAAO,MAAM,CAAA;YACvB,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAC/D,MAAM,GAAG,GAAG,WAAW,EAAE,OAAO,CAAA;YAChC,MAAM,OAAO,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;YAErI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACxC,OAAO,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;YAC/E,CAAC;iBAAM,CAAC;gBACJ,OAAO,OAAO,CAAA;YAClB,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,MAAM,SAAS,EAAE,KAAK,EAAE,CAAA;QAC5B,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,CAAC,MAAM,CAAC,WAA4E;QAC7F,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAA;QAC9B,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAChD,IAAI,CAAC;YACD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,GAAG,WAAW,CAAA;YAE3D,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;YAC9H,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,SAAS;gBAAE,OAAO,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAA;YAElI,MAAM,aAAa,GAAmB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAC/D,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,GAAG,GAAG,KAAK,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAC7G,CAAA;YAED,MAAM,cAAc,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;YAC/E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACpD,MAAM,YAAY,GAA8B,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAA;YAErH,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;YAErF,IAAI,CAAC,KAAK,GAAG,gBAAgB,CAAC;gBAC1B,GAAG,EAAE,IAAI,CAAC,GAAU;gBACpB,KAAK,EAAE,KAAY;gBACnB,eAAe,EAAE,IAAI,CAAC,YAAmB;gBACzC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;oBACf,GAAG,YAAY;oBACf,GAAG,KAAK,CAAC,QAAQ;iBACpB;aACJ,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;YAC3F,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,OAAO,CAAC,IAAI,CAAC,6IAA6I,CAAC,CAAA;YAEhM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CACxC,EAAE,QAAQ,EAAE,aAAa,EAAS,EAClC,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,EAAS,CACvD,CAAA;YAED,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;gBACrC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;gBAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC5D,MAAM,IAAI,GAAG,QAAQ,EAAE,cAAc,CAAA;gBACrC,MAAM,WAAW,GAAG,OAAO,YAAY,EAAE,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAA;gBAEnH,IAAI,IAAI,KAAK,OAAO,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;oBAC7C,SAAQ;gBACZ,CAAC;gBAED,MAAM,GAAG,GAAG,YAAY,EAAE,OAAO,CAAA;gBACjC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC1B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;wBAAE,MAAM,GAAG,CAAA;oBAC7B,SAAQ;gBACZ,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;oBAC9D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;wBAAE,MAAM,IAAI,CAAA;gBACnC,CAAC;YACL,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;YAC7B,MAAM,SAAS,EAAE,KAAK,EAAE,CAAA;QAC5B,CAAC;IACL,CAAC;IAEM,OAAO,CAAC,IAA0B;QACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;CACJ"}
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod/v4";
2
2
  import type { OutputSchema } from "./chain";
3
3
  import { DynamicStructuredTool, BaseChatModel, BaseCheckpointSaver, type AgentMiddleware, type BaseStore, type CreateDeepAgentParams, type SubAgent, type FilesystemPermission } from "../imports";
4
+ import { type MCPServersInput } from "./tools/MCP";
4
5
  import type { DeepAgentInterrupt, DeepAgentRunInputBase, DeepAgentHitlFields, DeepAgentShowToolCallsField, DeepAgentToolEvent } from "../helpers/deepagent/interruptTypes";
5
6
  import { type DeepAgentInterruptableToolName, type InterruptOnFor } from "../helpers/deepagent/interruptOn";
6
7
  import type { DeepAgentBackend } from "../helpers/deepagent/backend";
@@ -20,6 +21,14 @@ interface DeepAgentProps<T extends OutputSchema | undefined = undefined, TTools
20
21
  store?: BaseStore;
21
22
  name?: string;
22
23
  contextSchema?: CreateDeepAgentParams["contextSchema"];
24
+ /**
25
+ * MCP-Server, deren Tools dem Deep Agent zur Verfügung gestellt werden.
26
+ * Pro invoke()/stream() wird ein frischer MultiServerMCPClient gebaut,
27
+ * die Tools per getTools() geladen und der Client am Ende geschlossen.
28
+ * Achtung: bei gesetztem mcpServer wird der Agent-Cache umgangen
29
+ * (Neuaufbau pro Aufruf), damit close() den Client nicht für Folge-Calls killt.
30
+ */
31
+ mcpServer?: MCPServersInput;
23
32
  }
24
33
  /**
25
34
  * @example
@@ -77,8 +86,9 @@ export declare class DeepAgent<T extends OutputSchema | undefined = undefined, c
77
86
  private store;
78
87
  private name;
79
88
  private contextSchema;
89
+ private mcpServer;
80
90
  private should_use_output;
81
- constructor({ prompt, llm, tools, output, checkpointer, agentsMd, subagents, backend, permissions, skills, middleware, interruptOn, store, name, contextSchema, }?: DeepAgentProps<T, TTools, TBackend>);
91
+ constructor({ prompt, llm, tools, output, checkpointer, agentsMd, subagents, backend, permissions, skills, middleware, interruptOn, store, name, contextSchema, mcpServer, }?: DeepAgentProps<T, TTools, TBackend>);
82
92
  static create<const TTools extends readonly DynamicStructuredTool[], TBackend extends DeepAgentBackend | undefined = undefined>(props: DeepAgentProps<undefined, TTools, TBackend> & {
83
93
  interruptOn: InterruptOnFor<DeepAgentInterruptableToolName<TTools, TBackend>>;
84
94
  }): DeepAgent<undefined, TTools, TBackend, true>;
@@ -88,6 +98,8 @@ export declare class DeepAgent<T extends OutputSchema | undefined = undefined, c
88
98
  static create<const TTools extends readonly DynamicStructuredTool[], TBackend extends DeepAgentBackend | undefined = undefined>(props: DeepAgentProps<undefined, TTools, TBackend>): DeepAgent<undefined, TTools, TBackend, false>;
89
99
  static create<const TTools extends readonly DynamicStructuredTool[], TBackend extends DeepAgentBackend | undefined = undefined, U extends OutputSchema = OutputSchema>(props: DeepAgentProps<U, TTools, TBackend>): DeepAgent<U, TTools, TBackend, false>;
90
100
  private markAgentDirty;
101
+ private get hasMcp();
102
+ private systemPromptWithMcp;
91
103
  private ensureAgent;
92
104
  private buildConfig;
93
105
  private validateThreadConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"deepAgent.d.ts","sourceRoot":"","sources":["../../src/heart/deepAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deepAgent.d.ts","sourceRoot":"","sources":["../../src/heart/deepAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EACH,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EAInB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EACb,KAAK,oBAAoB,EAC5B,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAuC,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AACvF,OAAO,KAAK,EACR,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,2BAA2B,EAC3B,kBAAkB,EAErB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAMH,KAAK,8BAA8B,EACnC,KAAK,cAAc,EACtB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAEpE,UAAU,cAAc,CACpB,CAAC,SAAS,YAAY,GAAG,SAAS,GAAG,SAAS,EAC9C,MAAM,SAAS,SAAS,qBAAqB,EAAE,GAAG,SAAS,EAAE,EAC7D,QAAQ,SAAS,gBAAgB,GAAG,SAAS,GAAG,SAAS;IAEzD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,MAAM,CAAC,EAAE,CAAC,CAAA;IACV,YAAY,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAA;IAC5C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,QAAQ,CAAA;IAClB,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAA;IACpC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAA;IAC9B,WAAW,CAAC,EAAE,cAAc,CAAC,8BAA8B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC9E,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,aAAa,CAAC,EAAE,qBAAqB,CAAC,eAAe,CAAC,CAAA;IACtD;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,eAAe,CAAA;CAC9B;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBAAa,SAAS,CAClB,CAAC,SAAS,YAAY,GAAG,SAAS,GAAG,SAAS,EAC9C,KAAK,CAAC,MAAM,SAAS,SAAS,qBAAqB,EAAE,GAAG,SAAS,EAAE,EACnE,QAAQ,SAAS,gBAAgB,GAAG,SAAS,GAAG,SAAS,EACzD,aAAa,SAAS,OAAO,GAAG,KAAK;IAErC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,GAAG,CAAe;IAC1B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,eAAe,CAAO;IAC9B,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,WAAW,CAA8E;IACjG,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,iBAAiB,CAAgB;gBAE7B,EACR,MAA8C,EAC9C,GAAsE,EACtE,KAA+B,EAC/B,MAAM,EACN,YAAgC,EAChC,QAAQ,EACR,SAAS,EACT,OAAO,EACP,WAAW,EACX,MAAM,EACN,UAAU,EACV,WAAW,EACX,KAAK,EACL,IAAI,EACJ,aAAa,EACb,SAAS,GACZ,GAAE,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAA6C;IAqBlF,MAAM,CAAC,MAAM,CACT,KAAK,CAAC,MAAM,SAAS,SAAS,qBAAqB,EAAE,EACrD,QAAQ,SAAS,gBAAgB,GAAG,SAAS,GAAG,SAAS,EAEzD,KAAK,EAAE,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG;QACjD,WAAW,EAAE,cAAc,CAAC,8BAA8B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;KAChF,GACF,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;IAC/C,MAAM,CAAC,MAAM,CACT,KAAK,CAAC,MAAM,SAAS,SAAS,qBAAqB,EAAE,EACrD,QAAQ,SAAS,gBAAgB,GAAG,SAAS,GAAG,SAAS,EACzD,CAAC,SAAS,YAAY,GAAG,YAAY,EAErC,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG;QACzC,WAAW,EAAE,cAAc,CAAC,8BAA8B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;KAChF,GACF,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;IACvC,MAAM,CAAC,MAAM,CACT,KAAK,CAAC,MAAM,SAAS,SAAS,qBAAqB,EAAE,EACrD,QAAQ,SAAS,gBAAgB,GAAG,SAAS,GAAG,SAAS,EAEzD,KAAK,EAAE,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,GACnD,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;IAChD,MAAM,CAAC,MAAM,CACT,KAAK,CAAC,MAAM,SAAS,SAAS,qBAAqB,EAAE,EACrD,QAAQ,SAAS,gBAAgB,GAAG,SAAS,GAAG,SAAS,EACzD,CAAC,SAAS,YAAY,GAAG,YAAY,EAErC,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,GAC3C,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;IAKxC,OAAO,CAAC,cAAc;IAItB,OAAO,KAAK,MAAM,GAGjB;IAED,OAAO,CAAC,mBAAmB;YAMb,WAAW;IAmCzB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,oBAAoB;YASd,eAAe;IAqB7B,OAAO,CAAC,kBAAkB;YAeZ,eAAe;YAqBd,eAAe;YA4Cf,eAAe;IA8BjB,MAAM,CACf,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,EAClD,WAAW,EAAE,qBAAqB,GAAG,mBAAmB,GACzD,OAAO,CAAC,MAAM,GAAG,kBAAkB,CAAC;IAC1B,MAAM,CAAC,CAAC,SAAS,YAAY,EACtC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,EAC1C,WAAW,EAAE,qBAAqB,GAAG,mBAAmB,GACzD,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC;IAC9B,MAAM,CACf,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EACnD,WAAW,EAAE,qBAAqB,GACnC,OAAO,CAAC,MAAM,CAAC;IACL,MAAM,CAAC,CAAC,SAAS,YAAY,EACtC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAC3C,WAAW,EAAE,qBAAqB,GACnC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IA6Cf,MAAM,CACT,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,EAC1C,WAAW,EAAE,qBAAqB,GAAG,mBAAmB,GACzD,cAAc,CAAC,MAAM,GAAG,kBAAkB,EAAE,IAAI,EAAE,OAAO,CAAC;IACtD,MAAM,CACT,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,EAC1C,WAAW,EAAE,qBAAqB,GAAG,mBAAmB,GAAG,2BAA2B,GACvF,cAAc,CAAC,MAAM,GAAG,kBAAkB,GAAG,kBAAkB,EAAE,IAAI,EAAE,OAAO,CAAC;IAC3E,MAAM,CACT,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAC3C,WAAW,EAAE,qBAAqB,GACnC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;IACjC,MAAM,CACT,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAC3C,WAAW,EAAE,qBAAqB,GAAG,2BAA2B,GACjE,cAAc,CAAC,MAAM,GAAG,kBAAkB,EAAE,IAAI,EAAE,OAAO,CAAC;IAmDtD,OAAO,CAAC,IAAI,EAAE,qBAAqB;IAK1C,IAAW,YAAY,IAAI,MAAM,EAAE,CAElC;CACJ"}
@@ -2,6 +2,7 @@ import { PromptTemplate } from "@langchain/core/prompts";
2
2
  import { createDeepAgent, HumanMessage, MemorySaver, } from "../imports";
3
3
  import { getLLM } from "../helpers/llms";
4
4
  import { structure } from "../magic-funcs/parsers/structure";
5
+ import { buildMcpClient, buildMcpPromptBlock } from "./tools/MCP";
5
6
  import { createResumeCommand, expandResumeDecisions, getPendingInterruptCount, mapInterruptOnToNative, mapResultToInterrupt, } from "../helpers/deepagent/interruptOn";
6
7
  import { mapNativeStreamChunk } from "../helpers/deepagent/streamEvents";
7
8
  async function resolveSystemPromptBlocks(blocks, promptVars) {
@@ -79,8 +80,9 @@ export class DeepAgent {
79
80
  store;
80
81
  name;
81
82
  contextSchema;
83
+ mcpServer;
82
84
  should_use_output = true;
83
- constructor({ prompt = `Du bist ein hilfreicher Deep Agent.`, llm = getLLM({ provider: "openrouter", model: "openai/gpt-5.4-mini" }), tools = [], output, checkpointer = new MemorySaver(), agentsMd, subagents, backend, permissions, skills, middleware, interruptOn, store, name, contextSchema, } = {}) {
85
+ constructor({ prompt = `Du bist ein hilfreicher Deep Agent.`, llm = getLLM({ provider: "openrouter", model: "openai/gpt-5.4-mini" }), tools = [], output, checkpointer = new MemorySaver(), agentsMd, subagents, backend, permissions, skills, middleware, interruptOn, store, name, contextSchema, mcpServer, } = {}) {
84
86
  this.prompt = typeof prompt === "string"
85
87
  ? [["system", prompt]]
86
88
  : prompt.map((p) => ["system", p]);
@@ -98,6 +100,7 @@ export class DeepAgent {
98
100
  this.store = store;
99
101
  this.name = name;
100
102
  this.contextSchema = contextSchema;
103
+ this.mcpServer = mcpServer;
101
104
  }
102
105
  static create(props) {
103
106
  return new DeepAgent(props);
@@ -105,14 +108,25 @@ export class DeepAgent {
105
108
  markAgentDirty() {
106
109
  this.agentCacheDirty = true;
107
110
  }
108
- async ensureAgent(systemPrompt) {
109
- if (!this.agentCacheDirty && this.agent) {
111
+ get hasMcp() {
112
+ if (!this.mcpServer)
113
+ return false;
114
+ return Array.isArray(this.mcpServer) ? this.mcpServer.length > 0 : true;
115
+ }
116
+ systemPromptWithMcp(blocks) {
117
+ const mcpBlock = buildMcpPromptBlock(this.mcpServer);
118
+ const finalBlocks = mcpBlock ? [...blocks, ["system", mcpBlock]] : blocks;
119
+ return blocksToSystemPrompt(finalBlocks);
120
+ }
121
+ async ensureAgent(systemPrompt, mcpTools = []) {
122
+ if (!this.hasMcp && !this.agentCacheDirty && this.agent) {
110
123
  return this.agent;
111
124
  }
112
- this.agent = createDeepAgent({
125
+ const tools = [...this.tools, ...mcpTools];
126
+ const agent = createDeepAgent({
113
127
  model: this.llm,
114
128
  systemPrompt,
115
- tools: this.tools,
129
+ tools: tools,
116
130
  ...(this.output ? { responseFormat: this.output } : {}),
117
131
  checkpointer: this.checkpointer,
118
132
  ...(this.agentsMd ? { memory: this.agentsMd } : {}),
@@ -126,8 +140,13 @@ export class DeepAgent {
126
140
  ...(this.name ? { name: this.name } : {}),
127
141
  ...(this.contextSchema ? { contextSchema: this.contextSchema } : {}),
128
142
  });
129
- this.agentCacheDirty = false;
130
- return this.agent;
143
+ // Bei MCP NICHT cachen: der Client wird pro Aufruf geschlossen, also müssen
144
+ // Tools (und damit der Agent) bei jedem Aufruf frisch aufgebaut werden.
145
+ if (!this.hasMcp) {
146
+ this.agent = agent;
147
+ this.agentCacheDirty = false;
148
+ }
149
+ return agent;
131
150
  }
132
151
  buildConfig(thread_id, context) {
133
152
  return thread_id && this.checkpointer
@@ -176,9 +195,9 @@ export class DeepAgent {
176
195
  }
177
196
  }
178
197
  async runResumeInvoke(input) {
179
- const { thread_id, context, decision, decisions } = input;
180
- const systemPrompt = blocksToSystemPrompt(this.prompt);
181
- const agent = await this.ensureAgent(systemPrompt);
198
+ const { thread_id, context, decision, decisions, mcpTools = [] } = input;
199
+ const systemPrompt = this.systemPromptWithMcp(this.prompt);
200
+ const agent = await this.ensureAgent(systemPrompt, mcpTools);
182
201
  const config = this.buildConfig(thread_id, context);
183
202
  const pendingCount = await getPendingInterruptCount(agent, config);
184
203
  const hitlDecisions = expandResumeDecisions(decision, decisions, pendingCount);
@@ -187,12 +206,12 @@ export class DeepAgent {
187
206
  return this.mapInvokeResult(result);
188
207
  }
189
208
  async *runResumeStream(input) {
190
- const { thread_id, context, decision, decisions, showToolCalls = false } = input;
209
+ const { thread_id, context, decision, decisions, showToolCalls = false, mcpTools = [] } = input;
191
210
  this.should_use_output = false;
192
211
  const seenToolStarts = new Set();
193
212
  try {
194
- const systemPrompt = blocksToSystemPrompt(this.prompt);
195
- const agent = await this.ensureAgent(systemPrompt);
213
+ const systemPrompt = this.systemPromptWithMcp(this.prompt);
214
+ const agent = await this.ensureAgent(systemPrompt, mcpTools);
196
215
  const config = this.buildConfig(thread_id, context);
197
216
  const pendingCount = await getPendingInterruptCount(agent, config);
198
217
  const hitlDecisions = expandResumeDecisions(decision, decisions, pendingCount);
@@ -239,58 +258,70 @@ export class DeepAgent {
239
258
  async invoke(invokeInput) {
240
259
  const { thread_id, decision, decisions, context, debug, promptVars, ...variables } = invokeInput;
241
260
  const isResume = decision !== undefined || decisions !== undefined;
242
- if (isResume) {
243
- this.validateHitlResume(thread_id, variables);
244
- return this.runResumeInvoke({
245
- thread_id: thread_id,
246
- context,
247
- decision,
248
- decisions,
249
- });
261
+ const mcpClient = buildMcpClient(this.mcpServer);
262
+ try {
263
+ const mcpTools = mcpClient ? await mcpClient.getTools() : [];
264
+ if (isResume) {
265
+ this.validateHitlResume(thread_id, variables);
266
+ return await this.runResumeInvoke({
267
+ thread_id: thread_id,
268
+ context,
269
+ decision,
270
+ decisions,
271
+ mcpTools,
272
+ });
273
+ }
274
+ this.validateThreadConfig(thread_id);
275
+ if (Object.keys(variables).length === 0) {
276
+ throw new Error("input required");
277
+ }
278
+ const humanMessages = Object.entries(variables).map(([key, value]) => new HumanMessage(`${key}: ${typeof value === "object" ? JSON.stringify(value) : value}`));
279
+ const resolvedPrompt = await resolveSystemPromptBlocks(this.prompt, promptVars);
280
+ const systemPrompt = this.systemPromptWithMcp(resolvedPrompt);
281
+ const agent = await this.ensureAgent(systemPrompt, mcpTools);
282
+ const config = this.buildConfig(thread_id, context);
283
+ const result = await agent.invoke({ messages: humanMessages }, config);
284
+ if (debug)
285
+ return result;
286
+ return await this.mapInvokeResult(result);
250
287
  }
251
- this.validateThreadConfig(thread_id);
252
- if (Object.keys(variables).length === 0) {
253
- throw new Error("input required");
288
+ finally {
289
+ await mcpClient?.close();
254
290
  }
255
- const humanMessages = Object.entries(variables).map(([key, value]) => new HumanMessage(`${key}: ${typeof value === "object" ? JSON.stringify(value) : value}`));
256
- const resolvedPrompt = await resolveSystemPromptBlocks(this.prompt, promptVars);
257
- const systemPrompt = blocksToSystemPrompt(resolvedPrompt);
258
- const agent = await this.ensureAgent(systemPrompt);
259
- const config = this.buildConfig(thread_id, context);
260
- const result = await agent.invoke({ messages: humanMessages }, config);
261
- if (debug)
262
- return result;
263
- return this.mapInvokeResult(result);
264
291
  }
265
292
  async *stream(invokeInput) {
266
293
  const { thread_id, decision, decisions, context, promptVars, showToolCalls, ...variables } = invokeInput;
267
294
  const isResume = decision !== undefined || decisions !== undefined;
268
- if (isResume) {
269
- this.validateHitlResume(thread_id, variables);
270
- yield* this.runResumeStream({
271
- thread_id: thread_id,
272
- context,
273
- decision,
274
- decisions,
275
- showToolCalls: showToolCalls === true,
276
- });
277
- return;
278
- }
279
295
  this.should_use_output = false;
296
+ const mcpClient = buildMcpClient(this.mcpServer);
280
297
  try {
298
+ const mcpTools = mcpClient ? await mcpClient.getTools() : [];
299
+ if (isResume) {
300
+ this.validateHitlResume(thread_id, variables);
301
+ yield* this.runResumeStream({
302
+ thread_id: thread_id,
303
+ context,
304
+ decision,
305
+ decisions,
306
+ showToolCalls: showToolCalls === true,
307
+ mcpTools,
308
+ });
309
+ return;
310
+ }
281
311
  this.validateThreadConfig(thread_id);
282
312
  if (Object.keys(variables).length === 0) {
283
313
  throw new Error("input required");
284
314
  }
285
315
  const humanMessages = Object.entries(variables).map(([key, value]) => new HumanMessage(`${key}: ${typeof value === "object" ? JSON.stringify(value) : value}`));
286
316
  const resolvedPrompt = await resolveSystemPromptBlocks(this.prompt, promptVars);
287
- const systemPrompt = blocksToSystemPrompt(resolvedPrompt);
288
- const agent = await this.ensureAgent(systemPrompt);
317
+ const systemPrompt = this.systemPromptWithMcp(resolvedPrompt);
318
+ const agent = await this.ensureAgent(systemPrompt, mcpTools);
289
319
  const config = this.buildConfig(thread_id, context);
290
320
  yield* this.runNativeStream(agent, { messages: humanMessages }, config, showToolCalls === true);
291
321
  }
292
322
  finally {
293
323
  this.should_use_output = true;
324
+ await mcpClient?.close();
294
325
  }
295
326
  }
296
327
  addTool(tool) {
@@ -1 +1 @@
1
- {"version":3,"file":"deepAgent.js","sourceRoot":"","sources":["../../src/heart/deepAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deepAgent.js","sourceRoot":"","sources":["../../src/heart/deepAgent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { MultiServerMCPClient } from "../../imports";
2
+ import type { OAuthClientProvider } from "../../imports";
3
+ /**
4
+ * Deklarative Beschreibung eines MCP-Servers, den ein Agent nutzen soll.
5
+ *
6
+ * @example
7
+ * { name: "hubspot", url: env.HUBSPOT_MCP_URL, auth: new HubSpotMcpOAuthProvider(userId) }
8
+ */
9
+ export interface MCPServerConfig {
10
+ /** eindeutiger Name – wird als Tool-Prefix verwendet: `<name>__<tool>` */
11
+ name: string;
12
+ /** URL des MCP-Servers (streamable HTTP / SSE) */
13
+ url: string;
14
+ /** OAuth-Provider für die Authentifizierung (optional) */
15
+ auth?: OAuthClientProvider;
16
+ /** statische Header als Auth-Alternative, z.B. `{ Authorization: "Bearer ..." }` */
17
+ headers?: Record<string, string>;
18
+ /**
19
+ * Optionaler Hinweis für den Agent, WOFÜR dieser Server da ist / WANN er zu nutzen ist.
20
+ * Wird – wenn gesetzt – automatisch als System-Prompt-Block injiziert.
21
+ * z.B. "Dein CRM. Nutze für Bewerber/Kontakte aus dem CRM."
22
+ */
23
+ description?: string;
24
+ }
25
+ export type MCPServersInput = MCPServerConfig | MCPServerConfig[];
26
+ /**
27
+ * Baut aus einer/mehreren {@link MCPServerConfig}(s) einen MultiServerMCPClient.
28
+ * Gibt `undefined` zurück, wenn keine Server angegeben sind.
29
+ *
30
+ * WICHTIG (Lifecycle): Der Client öffnet beim ersten `getTools()` eine Verbindung,
31
+ * die mit `client.close()` wieder geschlossen werden MUSS. `Agent` und `DeepAgent`
32
+ * übernehmen das automatisch im `finally` von `invoke()`/`stream()` – pro Aufruf
33
+ * wird ein frischer Client gebaut und danach geschlossen.
34
+ */
35
+ export declare function buildMcpClient(servers?: MCPServersInput): MultiServerMCPClient | undefined;
36
+ /**
37
+ * Baut einen System-Prompt-Block aus den `description`-Feldern der MCP-Server –
38
+ * damit der Agent weiß, wofür welcher Server da ist und wann er ihn nutzen soll.
39
+ * Server ohne `description` werden ausgelassen; gibt `undefined` zurück, wenn
40
+ * kein Server eine description hat (dann wird nichts injiziert).
41
+ */
42
+ export declare function buildMcpPromptBlock(servers?: MCPServersInput): string | undefined;
43
+ export { MultiServerMCPClient };
44
+ export type { OAuthClientProvider };
45
+ //# sourceMappingURL=MCP.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MCP.d.ts","sourceRoot":"","sources":["../../../src/heart/tools/MCP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAExD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC5B,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAA;IACZ,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAA;IACX,0DAA0D;IAC1D,IAAI,CAAC,EAAE,mBAAmB,CAAA;IAC1B,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,eAAe,EAAE,CAAA;AAEjE;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,oBAAoB,GAAG,SAAS,CAsB1F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAQjF;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAA;AAC/B,YAAY,EAAE,mBAAmB,EAAE,CAAA"}