@mastra/core 1.2.0 → 1.2.1-alpha.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 (406) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/_types/@internal_ai-sdk-v4/dist/index.d.ts +30 -17
  3. package/dist/_types/@internal_ai-sdk-v5/dist/index.d.ts +10 -7
  4. package/dist/agent/index.cjs +13 -13
  5. package/dist/agent/index.js +2 -2
  6. package/dist/agent/message-list/index.cjs +18 -18
  7. package/dist/agent/message-list/index.js +1 -1
  8. package/dist/{chunk-VBOO4F4D.cjs → chunk-2DMSFLJY.cjs} +5 -5
  9. package/dist/{chunk-VBOO4F4D.cjs.map → chunk-2DMSFLJY.cjs.map} +1 -1
  10. package/dist/{chunk-ARQG4ZSD.cjs → chunk-5SOS47PH.cjs} +37 -37
  11. package/dist/chunk-5SOS47PH.cjs.map +1 -0
  12. package/dist/{chunk-NRMSZFAU.js → chunk-5YVR7B4R.js} +5 -5
  13. package/dist/{chunk-NRMSZFAU.js.map → chunk-5YVR7B4R.js.map} +1 -1
  14. package/dist/{chunk-G5NRZOPO.cjs → chunk-7MDVYPWX.cjs} +4 -4
  15. package/dist/{chunk-G5NRZOPO.cjs.map → chunk-7MDVYPWX.cjs.map} +1 -1
  16. package/dist/{chunk-AP3Z4EAP.cjs → chunk-A5QFWX67.cjs} +53 -53
  17. package/dist/{chunk-AP3Z4EAP.cjs.map → chunk-A5QFWX67.cjs.map} +1 -1
  18. package/dist/{chunk-4XLGMCCQ.js → chunk-AUF6U2BL.js} +3 -3
  19. package/dist/{chunk-4XLGMCCQ.js.map → chunk-AUF6U2BL.js.map} +1 -1
  20. package/dist/{chunk-POKH6N2J.cjs → chunk-AXN5P2GE.cjs} +4 -4
  21. package/dist/{chunk-POKH6N2J.cjs.map → chunk-AXN5P2GE.cjs.map} +1 -1
  22. package/dist/{chunk-YL6ETQ5I.cjs → chunk-B4M33FCS.cjs} +9 -9
  23. package/dist/{chunk-YL6ETQ5I.cjs.map → chunk-B4M33FCS.cjs.map} +1 -1
  24. package/dist/{chunk-DG6C6ZTL.cjs → chunk-CC3OOESY.cjs} +44 -43
  25. package/dist/chunk-CC3OOESY.cjs.map +1 -0
  26. package/dist/{chunk-NYC6PYZF.js → chunk-E3VFKTIA.js} +36 -4
  27. package/dist/chunk-E3VFKTIA.js.map +1 -0
  28. package/dist/{chunk-3LRUJTH3.cjs → chunk-GVLPTDJA.cjs} +50 -13
  29. package/dist/chunk-GVLPTDJA.cjs.map +1 -0
  30. package/dist/{chunk-SS4AZHZW.cjs → chunk-HU2ONA2W.cjs} +9 -9
  31. package/dist/{chunk-SS4AZHZW.cjs.map → chunk-HU2ONA2W.cjs.map} +1 -1
  32. package/dist/chunk-HVG7MWNT.js +439 -0
  33. package/dist/chunk-HVG7MWNT.js.map +1 -0
  34. package/dist/chunk-JCEP2VPF.cjs +441 -0
  35. package/dist/chunk-JCEP2VPF.cjs.map +1 -0
  36. package/dist/{chunk-PPAJGWVW.js → chunk-MSWXEOZC.js} +3 -3
  37. package/dist/{chunk-PPAJGWVW.js.map → chunk-MSWXEOZC.js.map} +1 -1
  38. package/dist/{chunk-AQHO4OC2.cjs → chunk-QOFI2WBM.cjs} +6 -6
  39. package/dist/{chunk-AQHO4OC2.cjs.map → chunk-QOFI2WBM.cjs.map} +1 -1
  40. package/dist/{chunk-EY3WXGUD.js → chunk-RXD5EGQF.js} +43 -6
  41. package/dist/chunk-RXD5EGQF.js.map +1 -0
  42. package/dist/{chunk-XC7WIZBL.js → chunk-S6BH5HHY.js} +4 -3
  43. package/dist/chunk-S6BH5HHY.js.map +1 -0
  44. package/dist/{chunk-IPXNR6RQ.js → chunk-V2MLGA7T.js} +1884 -998
  45. package/dist/chunk-V2MLGA7T.js.map +1 -0
  46. package/dist/{chunk-Z4PGSIZ5.cjs → chunk-VTE2OBKS.cjs} +1890 -1004
  47. package/dist/chunk-VTE2OBKS.cjs.map +1 -0
  48. package/dist/{chunk-ZODRDMZ7.js → chunk-VX7UA3SO.js} +3 -3
  49. package/dist/{chunk-ZODRDMZ7.js.map → chunk-VX7UA3SO.js.map} +1 -1
  50. package/dist/{chunk-5HDIPOLV.js → chunk-WFUNLRQX.js} +6 -6
  51. package/dist/chunk-WFUNLRQX.js.map +1 -0
  52. package/dist/{chunk-V3LENMEW.js → chunk-X5ORARLG.js} +4 -4
  53. package/dist/{chunk-V3LENMEW.js.map → chunk-X5ORARLG.js.map} +1 -1
  54. package/dist/{chunk-Z2OKCLGV.cjs → chunk-XCPEEIHI.cjs} +41 -8
  55. package/dist/chunk-XCPEEIHI.cjs.map +1 -0
  56. package/dist/{chunk-57O4TPB3.js → chunk-Z6NRYYOH.js} +3 -3
  57. package/dist/{chunk-57O4TPB3.js.map → chunk-Z6NRYYOH.js.map} +1 -1
  58. package/dist/{chunk-RUMXBL6P.js → chunk-ZWM2CAIM.js} +5 -5
  59. package/dist/{chunk-RUMXBL6P.js.map → chunk-ZWM2CAIM.js.map} +1 -1
  60. package/dist/docs/SKILL.md +270 -64
  61. package/dist/docs/{SOURCE_MAP.json → assets/SOURCE_MAP.json} +156 -152
  62. package/dist/docs/{agents/10-adding-voice.md → references/docs-agents-adding-voice.md} +6 -5
  63. package/dist/docs/{agents/08-agent-approval.md → references/docs-agents-agent-approval.md} +19 -19
  64. package/dist/docs/{agents/03-agent-memory.md → references/docs-agents-agent-memory.md} +57 -55
  65. package/dist/docs/{agents/07-guardrails.md → references/docs-agents-guardrails.md} +21 -39
  66. package/dist/docs/{agents/09-network-approval.md → references/docs-agents-network-approval.md} +12 -11
  67. package/dist/docs/{agents/05-networks.md → references/docs-agents-networks.md} +7 -9
  68. package/dist/docs/{agents/01-overview.md → references/docs-agents-overview.md} +54 -72
  69. package/dist/docs/{agents/06-processors.md → references/docs-agents-processors.md} +29 -24
  70. package/dist/docs/{agents/04-structured-output.md → references/docs-agents-structured-output.md} +13 -22
  71. package/dist/docs/{agents/02-using-tools.md → references/docs-agents-using-tools.md} +12 -13
  72. package/dist/docs/{evals/02-custom-scorers.md → references/docs-evals-custom-scorers.md} +5 -7
  73. package/dist/docs/{evals/01-overview.md → references/docs-evals-overview.md} +26 -17
  74. package/dist/docs/{evals/03-running-in-ci.md → references/docs-evals-running-in-ci.md} +2 -4
  75. package/dist/docs/{mcp/01-overview.md → references/docs-mcp-overview.md} +135 -140
  76. package/dist/docs/references/docs-mcp-publishing-mcp-server.md +95 -0
  77. package/dist/docs/{memory/05-memory-processors.md → references/docs-memory-memory-processors.md} +6 -8
  78. package/dist/docs/references/docs-memory-observational-memory.md +166 -0
  79. package/dist/docs/{memory/01-overview.md → references/docs-memory-overview.md} +8 -8
  80. package/dist/docs/{memory/04-semantic-recall.md → references/docs-memory-semantic-recall.md} +33 -17
  81. package/dist/docs/{memory/02-storage.md → references/docs-memory-storage.md} +29 -39
  82. package/dist/docs/{memory/03-working-memory.md → references/docs-memory-working-memory.md} +16 -27
  83. package/dist/docs/{observability/02-logging.md → references/docs-observability-logging.md} +6 -10
  84. package/dist/docs/{observability/01-overview.md → references/docs-observability-overview.md} +4 -10
  85. package/dist/docs/{observability/04-otel.md → references/docs-observability-tracing-bridges-otel.md} +31 -14
  86. package/dist/docs/{observability/07-arize.md → references/docs-observability-tracing-exporters-arize.md} +38 -22
  87. package/dist/docs/{observability/08-braintrust.md → references/docs-observability-tracing-exporters-braintrust.md} +24 -6
  88. package/dist/docs/{observability/06-cloud.md → references/docs-observability-tracing-exporters-cloud.md} +7 -7
  89. package/dist/docs/{observability/09-datadog.md → references/docs-observability-tracing-exporters-datadog.md} +26 -8
  90. package/dist/docs/{observability/05-default.md → references/docs-observability-tracing-exporters-default.md} +11 -14
  91. package/dist/docs/{observability/10-laminar.md → references/docs-observability-tracing-exporters-laminar.md} +24 -6
  92. package/dist/docs/{observability/11-langfuse.md → references/docs-observability-tracing-exporters-langfuse.md} +31 -12
  93. package/dist/docs/{observability/12-langsmith.md → references/docs-observability-tracing-exporters-langsmith.md} +29 -11
  94. package/dist/docs/{observability/13-otel.md → references/docs-observability-tracing-exporters-otel.md} +107 -63
  95. package/dist/docs/{observability/14-posthog.md → references/docs-observability-tracing-exporters-posthog.md} +24 -6
  96. package/dist/docs/{observability/03-overview.md → references/docs-observability-tracing-overview.md} +45 -53
  97. package/dist/docs/{rag/02-chunking-and-embedding.md → references/docs-rag-chunking-and-embedding.md} +5 -11
  98. package/dist/docs/{rag/05-graph-rag.md → references/docs-rag-graph-rag.md} +0 -2
  99. package/dist/docs/{rag/01-overview.md → references/docs-rag-overview.md} +2 -7
  100. package/dist/docs/{rag/04-retrieval.md → references/docs-rag-retrieval.md} +26 -53
  101. package/dist/docs/{rag/03-vector-databases.md → references/docs-rag-vector-databases.md} +198 -202
  102. package/dist/docs/{server/13-auth0.md → references/docs-server-auth-auth0.md} +68 -79
  103. package/dist/docs/{server/09-clerk.md → references/docs-server-auth-clerk.md} +41 -52
  104. package/dist/docs/{server/14-composite-auth.md → references/docs-server-auth-composite-auth.md} +1 -3
  105. package/dist/docs/{server/15-custom-auth-provider.md → references/docs-server-auth-custom-auth-provider.md} +13 -15
  106. package/dist/docs/{server/11-firebase.md → references/docs-server-auth-firebase.md} +83 -97
  107. package/dist/docs/{server/08-jwt.md → references/docs-server-auth-jwt.md} +46 -35
  108. package/dist/docs/{server/07-simple-auth.md → references/docs-server-auth-simple-auth.md} +10 -11
  109. package/dist/docs/{server/10-supabase.md → references/docs-server-auth-supabase.md} +33 -44
  110. package/dist/docs/{server/12-workos.md → references/docs-server-auth-workos.md} +45 -56
  111. package/dist/docs/{server/02-custom-adapters.md → references/docs-server-custom-adapters.md} +25 -31
  112. package/dist/docs/{server/05-custom-api-routes.md → references/docs-server-custom-api-routes.md} +7 -7
  113. package/dist/docs/{server/06-mastra-client.md → references/docs-server-mastra-client.md} +32 -20
  114. package/dist/docs/{server/01-mastra-server.md → references/docs-server-mastra-server.md} +5 -11
  115. package/dist/docs/{server/03-middleware.md → references/docs-server-middleware.md} +8 -15
  116. package/dist/docs/{server/04-request-context.md → references/docs-server-request-context.md} +29 -43
  117. package/dist/docs/{streaming/01-events.md → references/docs-streaming-events.md} +9 -16
  118. package/dist/docs/{streaming/02-tool-streaming.md → references/docs-streaming-tool-streaming.md} +6 -11
  119. package/dist/docs/{streaming/03-workflow-streaming.md → references/docs-streaming-workflow-streaming.md} +2 -6
  120. package/dist/docs/{tools-mcp/03-advanced-usage.md → references/docs-tools-mcp-advanced-usage.md} +23 -5
  121. package/dist/docs/{tools-mcp/01-mcp-overview.md → references/docs-tools-mcp-mcp-overview.md} +141 -146
  122. package/dist/docs/{tools-mcp/02-overview.md → references/docs-tools-mcp-overview.md} +4 -12
  123. package/dist/docs/{voice/01-overview.md → references/docs-voice-overview.md} +37 -81
  124. package/dist/docs/{voice/04-speech-to-speech.md → references/docs-voice-speech-to-speech.md} +1 -4
  125. package/dist/docs/{voice/03-speech-to-text.md → references/docs-voice-speech-to-text.md} +8 -11
  126. package/dist/docs/{voice/02-text-to-speech.md → references/docs-voice-text-to-speech.md} +12 -15
  127. package/dist/docs/{workflows/04-agents-and-tools.md → references/docs-workflows-agents-and-tools.md} +11 -21
  128. package/dist/docs/{workflows/03-control-flow.md → references/docs-workflows-control-flow.md} +58 -56
  129. package/dist/docs/{workflows/09-error-handling.md → references/docs-workflows-error-handling.md} +13 -15
  130. package/dist/docs/{workflows/07-human-in-the-loop.md → references/docs-workflows-human-in-the-loop.md} +11 -12
  131. package/dist/docs/{workflows/10-input-data-mapping.md → references/docs-workflows-input-data-mapping.md} +12 -14
  132. package/dist/docs/{workflows/01-overview.md → references/docs-workflows-overview.md} +31 -52
  133. package/dist/docs/{workflows/05-snapshots.md → references/docs-workflows-snapshots.md} +3 -5
  134. package/dist/docs/{workflows/06-suspend-and-resume.md → references/docs-workflows-suspend-and-resume.md} +12 -12
  135. package/dist/docs/{workflows/08-time-travel.md → references/docs-workflows-time-travel.md} +2 -5
  136. package/dist/docs/{workflows/02-workflow-state.md → references/docs-workflows-workflow-state.md} +4 -6
  137. package/dist/docs/{workspace/02-filesystem.md → references/docs-workspace-filesystem.md} +3 -8
  138. package/dist/docs/{workspace/01-overview.md → references/docs-workspace-overview.md} +10 -16
  139. package/dist/docs/{workspace/03-sandbox.md → references/docs-workspace-sandbox.md} +2 -4
  140. package/dist/docs/{workspace/05-search.md → references/docs-workspace-search.md} +20 -22
  141. package/dist/docs/{workspace/04-skills.md → references/docs-workspace-skills.md} +6 -9
  142. package/dist/docs/{guides/01-ai-sdk.md → references/guides-agent-frameworks-ai-sdk.md} +25 -9
  143. package/dist/docs/references/reference-agents-agent.md +142 -0
  144. package/dist/docs/references/reference-agents-generate.md +174 -0
  145. package/dist/docs/references/reference-agents-generateLegacy.md +176 -0
  146. package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +36 -0
  147. package/dist/docs/references/reference-agents-getDefaultOptions.md +34 -0
  148. package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +36 -0
  149. package/dist/docs/references/reference-agents-getDescription.md +21 -0
  150. package/dist/docs/references/reference-agents-getInstructions.md +34 -0
  151. package/dist/docs/references/reference-agents-getLLM.md +37 -0
  152. package/dist/docs/references/reference-agents-getMemory.md +34 -0
  153. package/dist/docs/references/reference-agents-getModel.md +34 -0
  154. package/dist/docs/references/reference-agents-getTools.md +34 -0
  155. package/dist/docs/references/reference-agents-getVoice.md +34 -0
  156. package/dist/docs/references/reference-agents-listAgents.md +35 -0
  157. package/dist/docs/references/reference-agents-listScorers.md +34 -0
  158. package/dist/docs/references/reference-agents-listTools.md +34 -0
  159. package/dist/docs/references/reference-agents-listWorkflows.md +34 -0
  160. package/dist/docs/references/reference-agents-network.md +136 -0
  161. package/dist/docs/references/reference-ai-sdk-chat-route.md +82 -0
  162. package/dist/docs/references/reference-ai-sdk-network-route.md +74 -0
  163. package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +232 -0
  164. package/dist/docs/references/reference-ai-sdk-with-mastra.md +59 -0
  165. package/dist/docs/references/reference-ai-sdk-workflow-route.md +79 -0
  166. package/dist/docs/references/reference-auth-auth0.md +73 -0
  167. package/dist/docs/references/reference-auth-clerk.md +36 -0
  168. package/dist/docs/references/reference-auth-firebase.md +80 -0
  169. package/dist/docs/references/reference-auth-jwt.md +26 -0
  170. package/dist/docs/references/reference-auth-supabase.md +33 -0
  171. package/dist/docs/references/reference-auth-workos.md +84 -0
  172. package/dist/docs/{cli/01-reference.md → references/reference-cli-mastra.md} +14 -28
  173. package/dist/docs/{client-js/01-reference.md → references/reference-client-js-agents.md} +3 -12
  174. package/dist/docs/{configuration.mdx/01-reference.md → references/reference-configuration.md} +71 -91
  175. package/dist/docs/references/reference-core-addGateway.md +42 -0
  176. package/dist/docs/references/reference-core-getAgent.md +21 -0
  177. package/dist/docs/references/reference-core-getAgentById.md +21 -0
  178. package/dist/docs/references/reference-core-getDeployer.md +22 -0
  179. package/dist/docs/references/reference-core-getGateway.md +38 -0
  180. package/dist/docs/references/reference-core-getGatewayById.md +41 -0
  181. package/dist/docs/references/reference-core-getLogger.md +22 -0
  182. package/dist/docs/references/reference-core-getMCPServer.md +45 -0
  183. package/dist/docs/references/reference-core-getMCPServerById.md +53 -0
  184. package/dist/docs/references/reference-core-getMemory.md +50 -0
  185. package/dist/docs/references/reference-core-getScorer.md +54 -0
  186. package/dist/docs/references/reference-core-getScorerById.md +54 -0
  187. package/dist/docs/references/reference-core-getServer.md +22 -0
  188. package/dist/docs/references/reference-core-getStorage.md +22 -0
  189. package/dist/docs/references/reference-core-getStoredAgentById.md +89 -0
  190. package/dist/docs/references/reference-core-getTelemetry.md +22 -0
  191. package/dist/docs/references/reference-core-getVector.md +22 -0
  192. package/dist/docs/references/reference-core-getWorkflow.md +40 -0
  193. package/dist/docs/references/reference-core-listAgents.md +21 -0
  194. package/dist/docs/references/reference-core-listGateways.md +40 -0
  195. package/dist/docs/references/reference-core-listLogs.md +38 -0
  196. package/dist/docs/references/reference-core-listLogsByRunId.md +36 -0
  197. package/dist/docs/references/reference-core-listMCPServers.md +51 -0
  198. package/dist/docs/references/reference-core-listMemory.md +56 -0
  199. package/dist/docs/references/reference-core-listScorers.md +29 -0
  200. package/dist/docs/references/reference-core-listStoredAgents.md +93 -0
  201. package/dist/docs/references/reference-core-listVectors.md +22 -0
  202. package/dist/docs/references/reference-core-listWorkflows.md +21 -0
  203. package/dist/docs/references/reference-core-mastra-class.md +66 -0
  204. package/dist/docs/references/reference-core-mastra-model-gateway.md +153 -0
  205. package/dist/docs/references/reference-core-setLogger.md +26 -0
  206. package/dist/docs/references/reference-core-setStorage.md +27 -0
  207. package/dist/docs/references/reference-deployer-cloudflare.md +56 -0
  208. package/dist/docs/references/reference-deployer-netlify.md +14 -0
  209. package/dist/docs/references/reference-deployer-vercel.md +39 -0
  210. package/dist/docs/references/reference-evals-answer-relevancy.md +105 -0
  211. package/dist/docs/references/reference-evals-answer-similarity.md +99 -0
  212. package/dist/docs/references/reference-evals-bias.md +120 -0
  213. package/dist/docs/references/reference-evals-completeness.md +137 -0
  214. package/dist/docs/references/reference-evals-content-similarity.md +101 -0
  215. package/dist/docs/references/reference-evals-context-precision.md +196 -0
  216. package/dist/docs/references/reference-evals-create-scorer.md +270 -0
  217. package/dist/docs/references/reference-evals-faithfulness.md +114 -0
  218. package/dist/docs/references/reference-evals-hallucination.md +220 -0
  219. package/dist/docs/references/reference-evals-keyword-coverage.md +128 -0
  220. package/dist/docs/references/reference-evals-mastra-scorer.md +123 -0
  221. package/dist/docs/references/reference-evals-run-evals.md +138 -0
  222. package/dist/docs/references/reference-evals-scorer-utils.md +330 -0
  223. package/dist/docs/references/reference-evals-textual-difference.md +113 -0
  224. package/dist/docs/references/reference-evals-tone-consistency.md +119 -0
  225. package/dist/docs/references/reference-evals-toxicity.md +123 -0
  226. package/dist/docs/{logging/01-reference.md → references/reference-logging-pino-logger.md} +16 -15
  227. package/dist/docs/references/reference-memory-deleteMessages.md +40 -0
  228. package/dist/docs/{memory/06-reference.md → references/reference-memory-memory-class.md} +28 -55
  229. package/dist/docs/references/reference-memory-observational-memory.md +217 -0
  230. package/dist/docs/references/reference-observability-tracing-bridges-otel.md +131 -0
  231. package/dist/docs/references/reference-observability-tracing-configuration.md +178 -0
  232. package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +138 -0
  233. package/dist/docs/references/reference-observability-tracing-exporters-datadog.md +116 -0
  234. package/dist/docs/references/reference-observability-tracing-instances.md +109 -0
  235. package/dist/docs/references/reference-observability-tracing-interfaces.md +749 -0
  236. package/dist/docs/references/reference-observability-tracing-processors-sensitive-data-filter.md +144 -0
  237. package/dist/docs/references/reference-observability-tracing-spans.md +224 -0
  238. package/dist/docs/references/reference-processors-batch-parts-processor.md +61 -0
  239. package/dist/docs/references/reference-processors-language-detector.md +81 -0
  240. package/dist/docs/references/reference-processors-message-history-processor.md +85 -0
  241. package/dist/docs/references/reference-processors-moderation-processor.md +104 -0
  242. package/dist/docs/references/reference-processors-pii-detector.md +107 -0
  243. package/dist/docs/references/reference-processors-processor-interface.md +521 -0
  244. package/dist/docs/references/reference-processors-prompt-injection-detector.md +71 -0
  245. package/dist/docs/references/reference-processors-semantic-recall-processor.md +123 -0
  246. package/dist/docs/references/reference-processors-system-prompt-scrubber.md +80 -0
  247. package/dist/docs/references/reference-processors-token-limiter-processor.md +113 -0
  248. package/dist/docs/references/reference-processors-tool-call-filter.md +85 -0
  249. package/dist/docs/references/reference-processors-tool-search-processor.md +113 -0
  250. package/dist/docs/references/reference-processors-unicode-normalizer.md +62 -0
  251. package/dist/docs/references/reference-processors-working-memory-processor.md +154 -0
  252. package/dist/docs/references/reference-rag-database-config.md +264 -0
  253. package/dist/docs/references/reference-rag-embeddings.md +92 -0
  254. package/dist/docs/references/reference-server-mastra-server.md +298 -0
  255. package/dist/docs/references/reference-server-register-api-route.md +249 -0
  256. package/dist/docs/references/reference-storage-cloudflare-d1.md +218 -0
  257. package/dist/docs/references/reference-storage-composite.md +235 -0
  258. package/dist/docs/references/reference-storage-lance.md +131 -0
  259. package/dist/docs/references/reference-storage-libsql.md +135 -0
  260. package/dist/docs/references/reference-storage-mongodb.md +262 -0
  261. package/dist/docs/references/reference-storage-mssql.md +155 -0
  262. package/dist/docs/references/reference-storage-overview.md +121 -0
  263. package/dist/docs/references/reference-storage-postgresql.md +529 -0
  264. package/dist/docs/references/reference-storage-upstash.md +160 -0
  265. package/dist/docs/references/reference-streaming-ChunkType.md +292 -0
  266. package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +182 -0
  267. package/dist/docs/references/reference-streaming-agents-streamLegacy.md +142 -0
  268. package/dist/docs/references/reference-streaming-workflows-observeStream.md +42 -0
  269. package/dist/docs/references/reference-streaming-workflows-resumeStream.md +61 -0
  270. package/dist/docs/references/reference-streaming-workflows-stream.md +87 -0
  271. package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +142 -0
  272. package/dist/docs/{templates/01-reference.md → references/reference-templates-overview.md} +8 -17
  273. package/dist/docs/references/reference-tools-client.md +228 -0
  274. package/dist/docs/references/reference-tools-create-tool.md +237 -0
  275. package/dist/docs/references/reference-tools-graph-rag-tool.md +185 -0
  276. package/dist/docs/references/reference-tools-mcp-client.md +964 -0
  277. package/dist/docs/references/reference-tools-mcp-server.md +1275 -0
  278. package/dist/docs/references/reference-tools-vector-query-tool.md +459 -0
  279. package/dist/docs/references/reference-vectors-libsql.md +305 -0
  280. package/dist/docs/references/reference-vectors-mongodb.md +295 -0
  281. package/dist/docs/references/reference-vectors-pg.md +408 -0
  282. package/dist/docs/references/reference-vectors-upstash.md +294 -0
  283. package/dist/docs/references/reference-voice-composite-voice.md +121 -0
  284. package/dist/docs/references/reference-voice-mastra-voice.md +313 -0
  285. package/dist/docs/references/reference-voice-voice.addInstructions.md +56 -0
  286. package/dist/docs/references/reference-voice-voice.addTools.md +67 -0
  287. package/dist/docs/references/reference-voice-voice.connect.md +94 -0
  288. package/dist/docs/references/reference-voice-voice.events.md +37 -0
  289. package/dist/docs/references/reference-voice-voice.listen.md +164 -0
  290. package/dist/docs/references/reference-voice-voice.on.md +111 -0
  291. package/dist/docs/references/reference-voice-voice.speak.md +157 -0
  292. package/dist/docs/references/reference-workflows-run-methods-cancel.md +86 -0
  293. package/dist/docs/references/reference-workflows-run-methods-restart.md +33 -0
  294. package/dist/docs/references/reference-workflows-run-methods-resume.md +59 -0
  295. package/dist/docs/references/reference-workflows-run-methods-start.md +58 -0
  296. package/dist/docs/references/reference-workflows-run-methods-startAsync.md +67 -0
  297. package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +142 -0
  298. package/dist/docs/references/reference-workflows-run.md +59 -0
  299. package/dist/docs/references/reference-workflows-step.md +117 -0
  300. package/dist/docs/references/reference-workflows-workflow-methods-branch.md +25 -0
  301. package/dist/docs/references/reference-workflows-workflow-methods-commit.md +17 -0
  302. package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +63 -0
  303. package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +25 -0
  304. package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +25 -0
  305. package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +88 -0
  306. package/dist/docs/references/reference-workflows-workflow-methods-map.md +93 -0
  307. package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +21 -0
  308. package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +35 -0
  309. package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +35 -0
  310. package/dist/docs/references/reference-workflows-workflow-methods-then.md +21 -0
  311. package/dist/docs/references/reference-workflows-workflow.md +157 -0
  312. package/dist/docs/references/reference-workspace-filesystem.md +200 -0
  313. package/dist/docs/references/reference-workspace-local-filesystem.md +300 -0
  314. package/dist/docs/references/reference-workspace-local-sandbox.md +283 -0
  315. package/dist/docs/references/reference-workspace-sandbox.md +79 -0
  316. package/dist/docs/references/reference-workspace-workspace-class.md +247 -0
  317. package/dist/docs/references/reference.md +243 -0
  318. package/dist/evals/index.cjs +5 -5
  319. package/dist/evals/index.js +2 -2
  320. package/dist/evals/scoreTraces/index.cjs +3 -3
  321. package/dist/evals/scoreTraces/index.js +1 -1
  322. package/dist/index.cjs +4 -4
  323. package/dist/index.js +2 -2
  324. package/dist/llm/index.cjs +9 -5
  325. package/dist/llm/index.d.ts +1 -1
  326. package/dist/llm/index.d.ts.map +1 -1
  327. package/dist/llm/index.js +1 -1
  328. package/dist/llm/model/index.d.ts +1 -1
  329. package/dist/llm/model/index.d.ts.map +1 -1
  330. package/dist/loop/index.cjs +12 -12
  331. package/dist/loop/index.js +1 -1
  332. package/dist/mastra/index.cjs +2 -2
  333. package/dist/mastra/index.d.ts +17 -0
  334. package/dist/mastra/index.d.ts.map +1 -1
  335. package/dist/mastra/index.js +1 -1
  336. package/dist/memory/index.cjs +14 -14
  337. package/dist/memory/index.js +1 -1
  338. package/dist/memory/types.d.ts +3 -2
  339. package/dist/memory/types.d.ts.map +1 -1
  340. package/dist/processors/index.cjs +41 -41
  341. package/dist/processors/index.js +1 -1
  342. package/dist/relevance/index.cjs +3 -3
  343. package/dist/relevance/index.js +1 -1
  344. package/dist/storage/index.cjs +33 -33
  345. package/dist/storage/index.js +1 -1
  346. package/dist/stream/index.cjs +11 -11
  347. package/dist/stream/index.js +2 -2
  348. package/dist/test-utils/llm-mock.cjs +12 -12
  349. package/dist/test-utils/llm-mock.js +3 -3
  350. package/dist/{token-6GSAFR2W-TOUJCAPY.js → token-APYSY3BW-QJCV2XQG.js} +11 -11
  351. package/dist/token-APYSY3BW-QJCV2XQG.js.map +1 -0
  352. package/dist/{token-6GSAFR2W-GERJXNN5.cjs → token-APYSY3BW-UBKUGJQP.cjs} +14 -14
  353. package/dist/token-APYSY3BW-UBKUGJQP.cjs.map +1 -0
  354. package/dist/token-util-RMHT2CPJ-S2YMG7N3.js +8 -0
  355. package/dist/token-util-RMHT2CPJ-S2YMG7N3.js.map +1 -0
  356. package/dist/token-util-RMHT2CPJ-WV2T74WQ.cjs +10 -0
  357. package/dist/token-util-RMHT2CPJ-WV2T74WQ.cjs.map +1 -0
  358. package/dist/tool-loop-agent/index.cjs +4 -4
  359. package/dist/tool-loop-agent/index.js +1 -1
  360. package/dist/vector/index.cjs +11 -11
  361. package/dist/vector/index.js +3 -3
  362. package/dist/workflows/evented/index.cjs +10 -10
  363. package/dist/workflows/evented/index.js +1 -1
  364. package/dist/workflows/index.cjs +25 -25
  365. package/dist/workflows/index.js +1 -1
  366. package/package.json +4 -5
  367. package/dist/chunk-3LRUJTH3.cjs.map +0 -1
  368. package/dist/chunk-5HDIPOLV.js.map +0 -1
  369. package/dist/chunk-ARQG4ZSD.cjs.map +0 -1
  370. package/dist/chunk-DG6C6ZTL.cjs.map +0 -1
  371. package/dist/chunk-EY3WXGUD.js.map +0 -1
  372. package/dist/chunk-IPXNR6RQ.js.map +0 -1
  373. package/dist/chunk-NYC6PYZF.js.map +0 -1
  374. package/dist/chunk-X5HU5YVN.js +0 -250
  375. package/dist/chunk-X5HU5YVN.js.map +0 -1
  376. package/dist/chunk-XC7WIZBL.js.map +0 -1
  377. package/dist/chunk-Z2OKCLGV.cjs.map +0 -1
  378. package/dist/chunk-Z4PGSIZ5.cjs.map +0 -1
  379. package/dist/chunk-ZZF2IKZJ.cjs +0 -252
  380. package/dist/chunk-ZZF2IKZJ.cjs.map +0 -1
  381. package/dist/docs/README.md +0 -57
  382. package/dist/docs/agents/11-reference.md +0 -854
  383. package/dist/docs/ai-sdk/01-reference.md +0 -490
  384. package/dist/docs/auth/01-reference.md +0 -308
  385. package/dist/docs/core/01-reference.md +0 -1283
  386. package/dist/docs/deployer/01-reference.md +0 -128
  387. package/dist/docs/evals/04-reference.md +0 -2137
  388. package/dist/docs/index.mdx/01-reference.md +0 -14
  389. package/dist/docs/mcp/02-publishing-mcp-server.md +0 -111
  390. package/dist/docs/observability/15-reference.md +0 -1831
  391. package/dist/docs/processors/01-reference.md +0 -1418
  392. package/dist/docs/rag/06-reference.md +0 -342
  393. package/dist/docs/server/16-reference.md +0 -513
  394. package/dist/docs/storage/01-reference.md +0 -2022
  395. package/dist/docs/streaming/04-reference.md +0 -724
  396. package/dist/docs/tools/01-reference.md +0 -3136
  397. package/dist/docs/vectors/01-reference.md +0 -942
  398. package/dist/docs/voice/05-reference.md +0 -1043
  399. package/dist/docs/workflows/11-reference.md +0 -1044
  400. package/dist/docs/workspace/06-reference.md +0 -946
  401. package/dist/token-6GSAFR2W-GERJXNN5.cjs.map +0 -1
  402. package/dist/token-6GSAFR2W-TOUJCAPY.js.map +0 -1
  403. package/dist/token-util-NEHG7TUY-R2XAU2MF.cjs +0 -10
  404. package/dist/token-util-NEHG7TUY-R2XAU2MF.cjs.map +0 -1
  405. package/dist/token-util-NEHG7TUY-TZ426VZB.js +0 -8
  406. package/dist/token-util-NEHG7TUY-TZ426VZB.js.map +0 -1
@@ -1,12 +1,3 @@
1
- > Overview of scorers in Mastra, detailing their capabilities for evaluating AI outputs and measuring performance.
2
-
3
- > **Code References:**
4
- - `Agent`: dist/agent/agent.d.ts → dist/chunk-5HDIPOLV.js:17701
5
- - `createWorkflow`: dist/workflows/index.d.ts → dist/chunk-5HDIPOLV.js:8436
6
- - `createStep`: dist/workflows/index.d.ts → dist/chunk-5HDIPOLV.js:7750
7
- - `Workflow`: dist/workflows/workflow.d.ts → dist/chunk-5HDIPOLV.js:8452
8
- - `Mastra`: dist/mastra/index.d.ts → dist/chunk-EY3WXGUD.js:24
9
-
10
1
  # Scorers overview
11
2
 
12
3
  While traditional software tests have clear pass/fail conditions, AI outputs are non-deterministic — they can vary with the same input. **Scorers** help bridge this gap by providing quantifiable metrics for measuring agent quality.
@@ -27,10 +18,30 @@ There are different kinds of scorers, each serving a specific purpose. Here are
27
18
 
28
19
  To access Mastra's scorers feature install the `@mastra/evals` package.
29
20
 
30
- ```bash npm2yarn
21
+ **npm**:
22
+
23
+ ```bash
31
24
  npm install @mastra/evals@latest
32
25
  ```
33
26
 
27
+ **pnpm**:
28
+
29
+ ```bash
30
+ pnpm add @mastra/evals@latest
31
+ ```
32
+
33
+ **Yarn**:
34
+
35
+ ```bash
36
+ yarn add @mastra/evals@latest
37
+ ```
38
+
39
+ **Bun**:
40
+
41
+ ```bash
42
+ bun add @mastra/evals@latest
43
+ ```
44
+
34
45
  ## Live evaluations
35
46
 
36
47
  **Live evaluations** allow you to automatically score AI outputs in real-time as your agents and workflows operate. Instead of running evaluations manually or in batches, scorers run asynchronously alongside your AI systems, providing continuous quality monitoring.
@@ -39,7 +50,7 @@ npm install @mastra/evals@latest
39
50
 
40
51
  You can add built-in scorers to your agents to automatically evaluate their outputs. See the [full list of built-in scorers](https://mastra.ai/docs/evals/built-in-scorers) for all available options.
41
52
 
42
- ```typescript title="src/mastra/agents/evaluated-agent.ts"
53
+ ```typescript
43
54
  import { Agent } from "@mastra/core/agent";
44
55
  import {
45
56
  createAnswerRelevancyScorer,
@@ -64,7 +75,7 @@ export const evaluatedAgent = new Agent({
64
75
 
65
76
  You can also add scorers to individual workflow steps to evaluate outputs at specific points in your process:
66
77
 
67
- ```typescript title="src/mastra/workflows/content-generation.ts"
78
+ ```typescript
68
79
  import { createWorkflow, createStep } from "@mastra/core/workflows";
69
80
  import { z } from "zod";
70
81
  import { customStepScorer } from "../scorers/custom-step-scorer";
@@ -103,11 +114,9 @@ export const contentWorkflow = createWorkflow({ ... })
103
114
 
104
115
  In addition to live evaluations, you can use scorers to evaluate historical traces from your agent interactions and workflows. This is particularly useful for analyzing past performance, debugging issues, or running batch evaluations.
105
116
 
106
- > **Note:**
107
-
108
- **Observability Required**
109
-
110
- To score traces, you must first configure observability in your Mastra instance to collect trace data. See [Tracing documentation](../observability/tracing/overview) for setup instructions.
117
+ > **Info:** **Observability Required**
118
+ >
119
+ > To score traces, you must first configure observability in your Mastra instance to collect trace data. See [Tracing documentation](https://mastra.ai/docs/observability/tracing/overview) for setup instructions.
111
120
 
112
121
  ### Scoring traces with Studio
113
122
 
@@ -1,5 +1,3 @@
1
- > Learn how to run scorer experiments in your CI/CD pipeline using the runEvals function.
2
-
3
1
  # Running Scorers in CI
4
2
 
5
3
  Running scorers in your CI pipeline provides quantifiable metrics for measuring agent quality over time. The `runEvals` function processes multiple test cases through your agent or workflow and returns aggregate scores.
@@ -12,7 +10,7 @@ You can use any testing framework that supports ESM modules, such as [Vitest](ht
12
10
 
13
11
  Use `runEvals` to evaluate your agent against multiple test cases. The function accepts an array of data items, each containing an `input` and optional `groundTruth` for scorer validation.
14
12
 
15
- ```typescript title="src/mastra/agents/weather-agent.test.ts"
13
+ ```typescript
16
14
  import { describe, it, expect } from 'vitest';
17
15
  import { createScorer, runEvals } from "@mastra/core/evals";
18
16
  import { weatherAgent } from "./weather-agent";
@@ -69,7 +67,7 @@ The `runEvals` function returns an object with:
69
67
 
70
68
  Create separate test cases for different evaluation scenarios:
71
69
 
72
- ```typescript title="src/mastra/agents/weather-agent.test.ts"
70
+ ```typescript
73
71
  describe('Weather Agent Tests', () => {
74
72
  const locationScorer = createScorer({ /* ... */ });
75
73
 
@@ -1,9 +1,3 @@
1
- > Learn about the Model Context Protocol (MCP), how to use third-party tools via MCPClient, connect to registries, and share your own tools using MCPServer.
2
-
3
- > **Code References:**
4
- - `Agent`: dist/agent/agent.d.ts → dist/chunk-5HDIPOLV.js:17701
5
- - `Mastra`: dist/mastra/index.d.ts → dist/chunk-EY3WXGUD.js:24
6
-
7
1
  # MCP Overview
8
2
 
9
3
  Mastra supports the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction), an open standard for connecting AI agents to external tools and resources. It serves as a universal plugin system, enabling agents to call tools regardless of language or hosting environment.
@@ -19,15 +13,35 @@ Mastra currently supports two MCP classes:
19
13
 
20
14
  To use MCP, install the required dependency:
21
15
 
22
- ```bash npm2yarn
16
+ **npm**:
17
+
18
+ ```bash
23
19
  npm install @mastra/mcp@latest
24
20
  ```
25
21
 
22
+ **pnpm**:
23
+
24
+ ```bash
25
+ pnpm add @mastra/mcp@latest
26
+ ```
27
+
28
+ **Yarn**:
29
+
30
+ ```bash
31
+ yarn add @mastra/mcp@latest
32
+ ```
33
+
34
+ **Bun**:
35
+
36
+ ```bash
37
+ bun add @mastra/mcp@latest
38
+ ```
39
+
26
40
  ## Configuring `MCPClient`
27
41
 
28
42
  The `MCPClient` connects Mastra primitives to external MCP servers, which can be local packages (invoked using `npx`) or remote HTTP(S) endpoints. Each server must be configured with either a `command` or a `url`, depending on how it's hosted.
29
43
 
30
- ```typescript title="src/mastra/mcp/test-mcp-client.ts"
44
+ ```typescript
31
45
  import { MCPClient } from "@mastra/mcp";
32
46
 
33
47
  export const testMcpClient = new MCPClient({
@@ -46,19 +60,15 @@ export const testMcpClient = new MCPClient({
46
60
  });
47
61
  ```
48
62
 
49
- > **Note:**
50
-
51
- Visit [MCPClient](https://mastra.ai/reference/tools/mcp-client) for a full list of configuration options.
52
-
53
- > **Note:** Authentication
63
+ > **Info:** Visit [MCPClient](https://mastra.ai/reference/tools/mcp-client) for a full list of configuration options.
54
64
 
55
- For connecting to OAuth-protected MCP servers, see the [OAuth Authentication](https://mastra.ai/reference/tools/mcp-client#oauth-authentication) section.
65
+ > **Authentication:** For connecting to OAuth-protected MCP servers, see the [OAuth Authentication](https://mastra.ai/reference/tools/mcp-client) section.
56
66
 
57
67
  ## Using `MCPClient` with an agent
58
68
 
59
69
  To use tools from an MCP server in an agent, import your `MCPClient` and call `.listTools()` in the `tools` parameter. This loads from the defined MCP servers, making them available to the agent.
60
70
 
61
- ```typescript {2,15} title="src/mastra/agents/test-agent.ts"
71
+ ```typescript
62
72
  import { Agent } from "@mastra/core/agent";
63
73
  import { testMcpClient } from "../mcp/test-mcp-client";
64
74
 
@@ -77,15 +87,13 @@ export const testAgent = new Agent({
77
87
  });
78
88
  ```
79
89
 
80
- > **Note:**
81
-
82
- Visit [Agent Class](https://mastra.ai/reference/agents/agent) for a full list of configuration options.
90
+ > **Info:** Visit [Agent Class](https://mastra.ai/reference/agents/agent) for a full list of configuration options.
83
91
 
84
92
  ## Configuring `MCPServer`
85
93
 
86
94
  To expose agents, tools, and workflows from your Mastra application to external systems over HTTP(S) use the `MCPServer` class. This makes them accessible to any system or agent that supports the protocol.
87
95
 
88
- ```typescript title="src/mastra/mcp/test-mcp-server.ts"
96
+ ```typescript
89
97
  import { MCPServer } from "@mastra/mcp";
90
98
 
91
99
  import { testAgent } from "../agents/test-agent";
@@ -102,19 +110,15 @@ export const testMcpServer = new MCPServer({
102
110
  });
103
111
  ```
104
112
 
105
- > **Note:**
113
+ > **Info:** Visit [MCPServer](https://mastra.ai/reference/tools/mcp-server) for a full list of configuration options.
106
114
 
107
- Visit [MCPServer](https://mastra.ai/reference/tools/mcp-server) for a full list of configuration options.
108
-
109
- > **Note:** Authentication
110
-
111
- To protect your MCP server with OAuth, see the [OAuth Protection](https://mastra.ai/reference/tools/mcp-server#oauth-protection) section.
115
+ > **Authentication:** To protect your MCP server with OAuth, see the [OAuth Protection](https://mastra.ai/reference/tools/mcp-server) section.
112
116
 
113
117
  ## Registering an `MCPServer`
114
118
 
115
119
  To make an MCP server available to other systems or agents that support the protocol, register it in the main `Mastra` instance using `mcpServers`.
116
120
 
117
- ```typescript title="src/mastra/index.ts"
121
+ ```typescript
118
122
  import { Mastra } from "@mastra/core/mastra";
119
123
 
120
124
  import { testMcpServer } from "./mcp/test-mcp-server";
@@ -129,7 +133,7 @@ export const mastra = new Mastra({
129
133
  `MCPClient` offers two approaches to retrieving tools from connected servers, suitable for different application architectures:
130
134
 
131
135
  | Feature | Static Configuration (`await mcp.listTools()`) | Dynamic Configuration (`await mcp.listToolsets()`) |
132
- | :---------------- | :--------------------------------------------- | :--------------------------------------------------- |
136
+ | ----------------- | ---------------------------------------------- | ---------------------------------------------------- |
133
137
  | **Use Case** | Single-user, static config (e.g., CLI tool) | Multi-user, dynamic config (e.g., SaaS app) |
134
138
  | **Configuration** | Fixed at agent initialization | Per-request, dynamic |
135
139
  | **Credentials** | Shared across all uses | Can vary per user/request |
@@ -139,11 +143,9 @@ export const mastra = new Mastra({
139
143
 
140
144
  Use the `.listTools()` method to fetch tools from all configured MCP servers. This is suitable when configuration (such as API keys) is static and consistent across users or requests. Call it once and pass the result to the `tools` property when defining your agent.
141
145
 
142
- > **Note:**
146
+ > **Info:** Visit [listTools()](https://mastra.ai/reference/tools/mcp-client) for more information.
143
147
 
144
- Visit [listTools()](https://mastra.ai/reference/tools/mcp-client#listtools) for more information.
145
-
146
- ```typescript {6} title="src/mastra/agents/test-agent.ts"
148
+ ```typescript
147
149
  import { Agent } from "@mastra/core/agent";
148
150
 
149
151
  import { testMcpClient } from "../mcp/test-mcp-client";
@@ -158,7 +160,7 @@ export const testAgent = new Agent({
158
160
 
159
161
  Use the `.listToolsets()` method when tool configuration may vary by request or user, such as in a multi-tenant system where each user provides their own API key. This method returns toolsets that can be passed to the `toolsets` option in the agent's `.generate()` or `.stream()` calls.
160
162
 
161
- ```typescript {5-16,21}
163
+ ```typescript
162
164
  import { MCPClient } from "@mastra/mcp";
163
165
  import { mastra } from "./mastra";
164
166
 
@@ -190,132 +192,127 @@ async function handleRequest(userPrompt: string, userApiKey: string) {
190
192
  }
191
193
  ```
192
194
 
193
- > **Note:**
194
-
195
- Visit [listToolsets()](https://mastra.ai/reference/tools/mcp-client#listtoolsets) for more information.
195
+ > **Info:** Visit [listToolsets()](https://mastra.ai/reference/tools/mcp-client) for more information.
196
196
 
197
197
  ## Connecting to an MCP registry
198
198
 
199
199
  MCP servers can be discovered through registries. Here's how to connect to some popular ones using `MCPClient`:
200
200
 
201
- **klavis:**
201
+ **Klavis AI**:
202
202
 
203
- [Klavis AI](https://klavis.ai) provides hosted, enterprise-authenticated, high-quality MCP servers.
203
+ [Klavis AI](https://klavis.ai) provides hosted, enterprise-authenticated, high-quality MCP servers.
204
204
 
205
- ```typescript
206
- import { MCPClient } from "@mastra/mcp";
205
+ ```typescript
206
+ import { MCPClient } from "@mastra/mcp";
207
207
 
208
- const mcp = new MCPClient({
209
- servers: {
210
- salesforce: {
211
- url: new URL("https://salesforce-mcp-server.klavis.ai/mcp/?instance_id={private-instance-id}"),
212
- },
213
- hubspot: {
214
- url: new URL("https://hubspot-mcp-server.klavis.ai/mcp/?instance_id={private-instance-id}"),
215
- },
216
- },
217
- });
218
- ```
208
+ const mcp = new MCPClient({
209
+ servers: {
210
+ salesforce: {
211
+ url: new URL("https://salesforce-mcp-server.klavis.ai/mcp/?instance_id={private-instance-id}"),
212
+ },
213
+ hubspot: {
214
+ url: new URL("https://hubspot-mcp-server.klavis.ai/mcp/?instance_id={private-instance-id}"),
215
+ },
216
+ },
217
+ });
218
+ ```
219
219
 
220
- Klavis AI offers enterprise-grade authentication and security for production deployments.
220
+ Klavis AI offers enterprise-grade authentication and security for production deployments.
221
221
 
222
- For more details on how to integrate Mastra with Klavis, check out their [documentation](https://docs.klavis.ai/documentation/ai-platform-integration/mastra).
222
+ For more details on how to integrate Mastra with Klavis, check out their [documentation](https://docs.klavis.ai/documentation/ai-platform-integration/mastra).
223
223
 
224
-
225
- **mcp-run:**
224
+ **mcp.run**:
226
225
 
227
- [mcp.run](https://www.mcp.run/) provides pre-authenticated, managed MCP servers. Tools are grouped into Profiles, each with a unique, signed URL.
226
+ [mcp.run](https://www.mcp.run/) provides pre-authenticated, managed MCP servers. Tools are grouped into Profiles, each with a unique, signed URL.
228
227
 
229
- ```typescript
230
- import { MCPClient } from "@mastra/mcp";
228
+ ```typescript
229
+ import { MCPClient } from "@mastra/mcp";
231
230
 
232
- const mcp = new MCPClient({
233
- servers: {
234
- marketing: { // Example profile name
235
- url: new URL(process.env.MCP_RUN_SSE_URL!), // Get URL from mcp.run profile
236
- },
237
- },
238
- });
239
- ```
231
+ const mcp = new MCPClient({
232
+ servers: {
233
+ marketing: { // Example profile name
234
+ url: new URL(process.env.MCP_RUN_SSE_URL!), // Get URL from mcp.run profile
235
+ },
236
+ },
237
+ });
238
+ ```
240
239
 
241
- > **Important:** Treat the mcp.run SSE URL like a password. Store it securely, for example, in an environment variable.
242
- > ```bash title=".env"
243
- > MCP_RUN_SSE_URL=https://www.mcp.run/api/mcp/sse?nonce=...
244
- > ```
240
+ > **Important:** Treat the mcp.run SSE URL like a password. Store it securely, for example, in an environment variable.
241
+ >
242
+ > ```bash
243
+ > MCP_RUN_SSE_URL=https://www.mcp.run/api/mcp/sse?nonce=...
244
+ > ```
245
245
 
246
-
247
- **composio:**
246
+ **Composio.dev**:
248
247
 
249
- [Composio.dev](https://composio.dev) offers a registry of [SSE-based MCP servers](https://mcp.composio.dev). You can use the SSE URL generated for tools like Cursor directly.
248
+ [Composio.dev](https://composio.dev) offers a registry of [SSE-based MCP servers](https://mcp.composio.dev). You can use the SSE URL generated for tools like Cursor directly.
250
249
 
251
- ```typescript
252
- import { MCPClient } from "@mastra/mcp";
250
+ ```typescript
251
+ import { MCPClient } from "@mastra/mcp";
253
252
 
254
- const mcp = new MCPClient({
255
- servers: {
256
- googleSheets: {
257
- url: new URL("https://mcp.composio.dev/googlesheets/[private-url-path]"),
258
- },
259
- gmail: {
260
- url: new URL("https://mcp.composio.dev/gmail/[private-url-path]"),
261
- },
262
- },
263
- });
264
- ```
265
-
266
- Authentication with services like Google Sheets often happens interactively through the agent conversation.
267
-
268
- *Note: Composio URLs are typically tied to a single user account, making them best suited for personal automation rather than multi-tenant applications.*
269
-
270
-
271
- **smithery:**
272
-
273
- [Smithery.ai](https://smithery.ai) provides a registry accessible via their CLI.
274
-
275
- ```typescript
276
- // Unix/Mac
277
- import { MCPClient } from "@mastra/mcp";
278
-
279
- const mcp = new MCPClient({
280
- servers: {
281
- sequentialThinking: {
282
- command: "npx",
283
- args: [
284
- "-y",
285
- "@smithery/cli@latest",
286
- "run",
287
- "@smithery-ai/server-sequential-thinking",
288
- "--config",
289
- "{}",
290
- ],
291
- },
292
- },
293
- });
294
- ```
295
-
296
- ```typescript
297
- // Windows
298
- import { MCPClient } from "@mastra/mcp";
299
-
300
- const mcp = new MCPClient({
301
- servers: {
302
- sequentialThinking: {
303
- command: "npx",
304
- args: [
305
- "-y",
306
- "@smithery/cli@latest",
307
- "run",
308
- "@smithery-ai/server-sequential-thinking",
309
- "--config",
310
- "{}",
311
- ],
312
- },
313
- },
314
- });
315
- ```
253
+ const mcp = new MCPClient({
254
+ servers: {
255
+ googleSheets: {
256
+ url: new URL("https://mcp.composio.dev/googlesheets/[private-url-path]"),
257
+ },
258
+ gmail: {
259
+ url: new URL("https://mcp.composio.dev/gmail/[private-url-path]"),
260
+ },
261
+ },
262
+ });
263
+ ```
264
+
265
+ Authentication with services like Google Sheets often happens interactively through the agent conversation.
316
266
 
317
-
318
- **ampersand:**
267
+ _Note: Composio URLs are typically tied to a single user account, making them best suited for personal automation rather than multi-tenant applications._
268
+
269
+ **Smithery.ai**:
270
+
271
+ [Smithery.ai](https://smithery.ai) provides a registry accessible via their CLI.
272
+
273
+ ```typescript
274
+ // Unix/Mac
275
+ import { MCPClient } from "@mastra/mcp";
276
+
277
+ const mcp = new MCPClient({
278
+ servers: {
279
+ sequentialThinking: {
280
+ command: "npx",
281
+ args: [
282
+ "-y",
283
+ "@smithery/cli@latest",
284
+ "run",
285
+ "@smithery-ai/server-sequential-thinking",
286
+ "--config",
287
+ "{}",
288
+ ],
289
+ },
290
+ },
291
+ });
292
+ ```
293
+
294
+ ```typescript
295
+ // Windows
296
+ import { MCPClient } from "@mastra/mcp";
297
+
298
+ const mcp = new MCPClient({
299
+ servers: {
300
+ sequentialThinking: {
301
+ command: "npx",
302
+ args: [
303
+ "-y",
304
+ "@smithery/cli@latest",
305
+ "run",
306
+ "@smithery-ai/server-sequential-thinking",
307
+ "--config",
308
+ "{}",
309
+ ],
310
+ },
311
+ },
312
+ });
313
+ ```
314
+
315
+ **Ampersand**:
319
316
 
320
317
  [Ampersand](https://withampersand.com?utm_source=mastra-docs) offers an [MCP Server](https://docs.withampersand.com/mcp) that allows you to connect your agent to 150+ integrations with SaaS products like Salesforce, Hubspot, and Zendesk.
321
318
 
@@ -366,8 +363,6 @@ export const mcp = new MCPClient({
366
363
 
367
364
  As an alternative to MCP, Ampersand's AI SDK also has an adapter for Mastra, so you can [directly import Ampersand tools](https://docs.withampersand.com/ai-sdk#use-with-mastra) for your agent to access.
368
365
 
369
-
370
-
371
366
  ## Related
372
367
 
373
368
  - [Using Tools](https://mastra.ai/docs/agents/using-tools)
@@ -0,0 +1,95 @@
1
+ # Publishing an MCP Server
2
+
3
+ This example guides you through setting up a basic Mastra MCPServer using the stdio transport, building it, and preparing it for publishing to NPM.
4
+
5
+ ## Install dependencies
6
+
7
+ Install the necessary packages:
8
+
9
+ ```bash
10
+ pnpm add @mastra/mcp @mastra/core tsup
11
+ ```
12
+
13
+ ## Setting up an MCP Server
14
+
15
+ 1. Create a file for your stdio server, for example, `/src/mastra/stdio.ts`.
16
+
17
+ 2. Add the following code to the file. Remember to import your actual Mastra tools and name the server appropriately.
18
+
19
+ ```typescript
20
+ #!/usr/bin/env node
21
+ import { MCPServer } from "@mastra/mcp";
22
+ import { weatherTool } from "./tools";
23
+
24
+ const server = new MCPServer({
25
+ name: "my-mcp-server",
26
+ version: "1.0.0",
27
+ tools: { weatherTool },
28
+ });
29
+
30
+ server.startStdio().catch((error) => {
31
+ console.error("Error running MCP server:", error);
32
+ process.exit(1);
33
+ });
34
+ ```
35
+
36
+ 3. Update your `package.json` to include the `bin` entry pointing to your built server file and a script to build the server with both ESM and CJS outputs.
37
+
38
+ ```json
39
+ {
40
+ "bin": "dist/stdio.mjs",
41
+ "scripts": {
42
+ "build:mcp": "tsup src/mastra/stdio.ts --format esm,cjs --no-splitting --dts && echo '#!/usr/bin/env node' | cat - dist/stdio.mjs > temp && mv temp dist/stdio.mjs && chmod +x dist/stdio.mjs"
43
+ }
44
+ }
45
+ ```
46
+
47
+ The build command generates both ESM (`.mjs`) and CJS (`.cjs`) outputs for maximum compatibility. The shebang (`#!/usr/bin/env node`) is prepended to the ESM artifact to make it directly executable, and the `bin` entry points to this file.
48
+
49
+ 4. Run the build command:
50
+
51
+ ```bash
52
+ pnpm run build:mcp
53
+ ```
54
+
55
+ This will compile your server code into both ESM and CJS formats and make the ESM output file executable. On Unix-like systems, the `chmod +x` step makes the file directly executable. Windows users may need to use WSL or handle execution through Node.js directly.
56
+
57
+ ## Publishing to NPM
58
+
59
+ To make your MCP server available for others (or yourself) to use via `npx` or as a dependency, you can publish it to NPM.
60
+
61
+ 1. Ensure you have an NPM account and are logged in (`npm login`).
62
+
63
+ 2. Make sure your package name in `package.json` is unique and available.
64
+
65
+ 3. Run the publish command from your project root after building:
66
+
67
+ ```bash
68
+ npm publish --access public
69
+ ```
70
+
71
+ For more details on publishing packages, refer to the [NPM documentation](https://docs.npmjs.com/creating-and-publishing-scoped-public-packages).
72
+
73
+ ## Using a published MCP Server
74
+
75
+ Once published, your MCP server can be used by an `MCPClient` by specifying the command to run your package. You can also use any other MCP client like Claude desktop, Cursor, or Windsurf.
76
+
77
+ ```typescript
78
+ import { MCPClient } from "@mastra/mcp";
79
+
80
+ const mcp = new MCPClient({
81
+ servers: {
82
+ // Give this MCP server instance a name
83
+ yourServerName: {
84
+ command: "npx",
85
+ args: ["-y", "@your-org-name/your-package-name@latest"], // Replace with your package name
86
+ },
87
+ },
88
+ });
89
+
90
+ // You can then get tools or toolsets from this configuration to use in your agent
91
+ const tools = await mcp.listTools();
92
+ const toolsets = await mcp.listToolsets();
93
+ ```
94
+
95
+ Note: If you published without an organization scope, the `args` might just be `["-y", "your-package-name@latest"]`.
@@ -1,5 +1,3 @@
1
- > Learn how to use memory processors in Mastra to filter, trim, and transform messages before they
2
-
3
1
  # Memory Processors
4
2
 
5
3
  Memory processors transform and filter messages as they pass through an agent with memory enabled. They manage context window limits, remove unnecessary content, and optimize the information sent to the language model.
@@ -200,7 +198,7 @@ Understanding the execution order is important when combining guardrails with me
200
198
 
201
199
  ### Input Processors
202
200
 
203
- ```
201
+ ```text
204
202
  [Memory Processors] → [Your inputProcessors]
205
203
  ```
206
204
 
@@ -211,7 +209,7 @@ This means memory loads message history before your processors can validate or f
211
209
 
212
210
  ### Output Processors
213
211
 
214
- ```
212
+ ```text
215
213
  [Your outputProcessors] → [Memory Processors]
216
214
  ```
217
215
 
@@ -302,10 +300,10 @@ const agent = new Agent({
302
300
 
303
301
  ### Summary
304
302
 
305
- | Guardrail Type | When it runs | If it aborts |
306
- | -------------- | ------------ | ------------ |
307
- | Input | After memory loads history | LLM not called, nothing saved |
308
- | Output | Before memory saves | Nothing saved to storage |
303
+ | Guardrail Type | When it runs | If it aborts |
304
+ | -------------- | -------------------------- | ----------------------------- |
305
+ | Input | After memory loads history | LLM not called, nothing saved |
306
+ | Output | Before memory saves | Nothing saved to storage |
309
307
 
310
308
  Both scenarios are safe - guardrails prevent inappropriate content from being persisted to memory
311
309