@mastra/mcp-docs-server 1.0.0-beta.0 → 1.0.0-beta.10

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 (496) hide show
  1. package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +1 -15
  2. package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +1 -7
  3. package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +201 -1
  4. package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +1 -55
  5. package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +201 -1
  6. package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +250 -50
  7. package/.docs/organized/changelogs/%40mastra%2Fastra.md +201 -1
  8. package/.docs/organized/changelogs/%40mastra%2Fauth.md +6 -0
  9. package/.docs/organized/changelogs/%40mastra%2Fchroma.md +201 -1
  10. package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +201 -1
  11. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +201 -1
  12. package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +201 -1
  13. package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +201 -1
  14. package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +26 -0
  15. package/.docs/organized/changelogs/%40mastra%2Fconvex.md +89 -0
  16. package/.docs/organized/changelogs/%40mastra%2Fcore.md +396 -196
  17. package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +201 -1
  18. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +201 -1
  19. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +201 -1
  20. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +201 -1
  21. package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +201 -1
  22. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +200 -0
  23. package/.docs/organized/changelogs/%40mastra%2Fduckdb.md +42 -0
  24. package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +201 -1
  25. package/.docs/organized/changelogs/%40mastra%2Felasticsearch.md +61 -0
  26. package/.docs/organized/changelogs/%40mastra%2Fevals.md +201 -1
  27. package/.docs/organized/changelogs/%40mastra%2Flance.md +201 -1
  28. package/.docs/organized/changelogs/%40mastra%2Flibsql.md +201 -1
  29. package/.docs/organized/changelogs/%40mastra%2Floggers.md +201 -1
  30. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +201 -1
  31. package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +201 -1
  32. package/.docs/organized/changelogs/%40mastra%2Fmcp.md +201 -1
  33. package/.docs/organized/changelogs/%40mastra%2Fmemory.md +201 -1
  34. package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +201 -1
  35. package/.docs/organized/changelogs/%40mastra%2Fmssql.md +201 -1
  36. package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +201 -1
  37. package/.docs/organized/changelogs/%40mastra%2Fpg.md +201 -1
  38. package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +201 -1
  39. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +251 -51
  40. package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +201 -1
  41. package/.docs/organized/changelogs/%40mastra%2Frag.md +201 -1
  42. package/.docs/organized/changelogs/%40mastra%2Freact.md +128 -1
  43. package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +18 -0
  44. package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +42 -0
  45. package/.docs/organized/changelogs/%40mastra%2Fserver.md +251 -51
  46. package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +201 -1
  47. package/.docs/organized/changelogs/%40mastra%2Fupstash.md +201 -1
  48. package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +201 -1
  49. package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +201 -1
  50. package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +201 -1
  51. package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +201 -1
  52. package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +201 -1
  53. package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +92 -1
  54. package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +67 -1
  55. package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +201 -1
  56. package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +201 -1
  57. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +201 -1
  58. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +201 -1
  59. package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +201 -1
  60. package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +201 -1
  61. package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +201 -1
  62. package/.docs/organized/changelogs/create-mastra.md +201 -1
  63. package/.docs/organized/changelogs/mastra.md +201 -1
  64. package/.docs/organized/code-examples/agui.md +1 -0
  65. package/.docs/organized/code-examples/ai-elements.md +2 -2
  66. package/.docs/organized/code-examples/ai-sdk-useChat.md +2 -2
  67. package/.docs/organized/code-examples/ai-sdk-v5.md +3 -2
  68. package/.docs/organized/code-examples/assistant-ui.md +2 -2
  69. package/.docs/organized/code-examples/bird-checker-with-express.md +1 -1
  70. package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +2 -2
  71. package/.docs/organized/code-examples/bird-checker-with-nextjs.md +2 -2
  72. package/.docs/organized/code-examples/client-side-tools.md +1 -1
  73. package/.docs/organized/code-examples/crypto-chatbot.md +2 -2
  74. package/.docs/organized/code-examples/fireworks-r1.md +1 -1
  75. package/.docs/organized/code-examples/heads-up-game.md +1 -1
  76. package/.docs/organized/code-examples/mcp-configuration.md +0 -3
  77. package/.docs/organized/code-examples/mcp-server-adapters.md +720 -0
  78. package/.docs/organized/code-examples/memory-per-resource-example.md +1 -1
  79. package/.docs/organized/code-examples/memory-with-processors.md +1 -1
  80. package/.docs/organized/code-examples/openapi-spec-writer.md +1 -1
  81. package/.docs/organized/code-examples/processors-with-ai-sdk.md +14 -0
  82. package/.docs/organized/code-examples/quick-start.md +2 -2
  83. package/.docs/organized/code-examples/server-app-access.md +342 -0
  84. package/.docs/organized/code-examples/server-express-adapter.md +87 -0
  85. package/.docs/organized/code-examples/server-hono-adapter.md +85 -0
  86. package/.docs/organized/code-examples/stock-price-tool.md +1 -21
  87. package/.docs/organized/code-examples/workflow-ai-recruiter.md +1 -1
  88. package/.docs/organized/code-examples/workflow-with-inline-steps.md +1 -1
  89. package/.docs/organized/code-examples/workflow-with-memory.md +1 -1
  90. package/.docs/organized/code-examples/workflow-with-separate-steps.md +1 -1
  91. package/.docs/organized/code-examples/workflow-with-suspend-resume.md +1 -1
  92. package/.docs/raw/agents/adding-voice.mdx +56 -10
  93. package/.docs/raw/agents/agent-approval.mdx +189 -0
  94. package/.docs/raw/agents/agent-memory.mdx +2 -2
  95. package/.docs/raw/agents/guardrails.mdx +27 -24
  96. package/.docs/raw/agents/networks.mdx +3 -3
  97. package/.docs/raw/agents/overview.mdx +19 -168
  98. package/.docs/raw/agents/processors.mdx +279 -0
  99. package/.docs/raw/agents/structured-output.mdx +224 -0
  100. package/.docs/raw/agents/using-tools.mdx +14 -14
  101. package/.docs/raw/auth/auth0.mdx +2 -2
  102. package/.docs/raw/auth/clerk.mdx +2 -2
  103. package/.docs/raw/auth/firebase.mdx +2 -2
  104. package/.docs/raw/auth/index.mdx +1 -1
  105. package/.docs/raw/auth/jwt.mdx +2 -2
  106. package/.docs/raw/auth/supabase.mdx +2 -2
  107. package/.docs/raw/auth/workos.mdx +2 -2
  108. package/.docs/raw/community/contributing-templates.mdx +1 -1
  109. package/.docs/raw/community/discord.mdx +2 -2
  110. package/.docs/raw/community/licensing.mdx +1 -1
  111. package/.docs/raw/course/01-first-agent/03-verifying-installation.md +1 -1
  112. package/.docs/raw/course/01-first-agent/05-running-playground.md +5 -5
  113. package/.docs/raw/course/01-first-agent/09-testing-your-agent.md +3 -3
  114. package/.docs/raw/course/01-first-agent/13-testing-your-tool.md +3 -3
  115. package/.docs/raw/course/01-first-agent/17-testing-memory.md +2 -2
  116. package/.docs/raw/course/02-agent-tools-mcp/02-installing-mcp.md +1 -1
  117. package/.docs/raw/course/03-agent-memory/03-installing-memory.md +1 -1
  118. package/.docs/raw/course/04-workflows/07-using-playground.md +1 -1
  119. package/.docs/raw/deployment/{server-deployment.mdx → building-mastra.mdx} +4 -4
  120. package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +3 -3
  121. package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +4 -4
  122. package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +4 -4
  123. package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/cloudflare-deployer.mdx +2 -2
  124. package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +3 -3
  125. package/.docs/raw/deployment/cloud-providers/index.mdx +26 -29
  126. package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/netlify-deployer.mdx +46 -15
  127. package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/vercel-deployer.mdx +2 -2
  128. package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/dashboard.mdx +3 -3
  129. package/.docs/raw/deployment/mastra-cloud/observability.mdx +53 -0
  130. package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/overview.mdx +3 -3
  131. package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/setting-up.mdx +4 -4
  132. package/.docs/raw/deployment/monorepo.mdx +3 -3
  133. package/.docs/raw/deployment/overview.mdx +7 -7
  134. package/.docs/raw/deployment/web-framework.mdx +6 -6
  135. package/.docs/raw/evals/{off-the-shelf-scorers.mdx → built-in-scorers.mdx} +17 -15
  136. package/.docs/raw/evals/custom-scorers.mdx +4 -6
  137. package/.docs/raw/evals/overview.mdx +6 -7
  138. package/.docs/raw/evals/running-in-ci.mdx +2 -4
  139. package/.docs/raw/getting-started/{installation.mdx → manual-install.mdx} +15 -89
  140. package/.docs/raw/getting-started/mcp-docs-server.mdx +6 -6
  141. package/.docs/raw/getting-started/project-structure.mdx +2 -2
  142. package/.docs/raw/getting-started/start.mdx +72 -0
  143. package/.docs/raw/getting-started/studio.mdx +8 -6
  144. package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +147 -0
  145. package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +627 -0
  146. package/.docs/raw/{frameworks/agentic-uis → guides/build-your-ui}/assistant-ui.mdx +72 -20
  147. package/.docs/raw/guides/build-your-ui/copilotkit.mdx +206 -0
  148. package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/astro.mdx +28 -30
  149. package/.docs/raw/{frameworks/servers → guides/getting-started}/express.mdx +4 -5
  150. package/.docs/raw/guides/getting-started/next-js.mdx +276 -0
  151. package/.docs/raw/guides/getting-started/quickstart.mdx +97 -0
  152. package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/sveltekit.mdx +28 -30
  153. package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/vite-react.mdx +12 -12
  154. package/.docs/raw/guides/guide/ai-recruiter.mdx +2 -3
  155. package/.docs/raw/guides/guide/chef-michel.mdx +2 -3
  156. package/.docs/raw/guides/guide/notes-mcp-server.mdx +3 -3
  157. package/.docs/raw/guides/guide/research-assistant.mdx +8 -18
  158. package/.docs/raw/guides/guide/stock-agent.mdx +4 -6
  159. package/.docs/raw/guides/guide/web-search.mdx +12 -10
  160. package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +421 -0
  161. package/.docs/raw/guides/index.mdx +3 -35
  162. package/.docs/raw/guides/migrations/agentnetwork.mdx +4 -4
  163. package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +119 -0
  164. package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +56 -6
  165. package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +42 -2
  166. package/.docs/raw/guides/migrations/upgrade-to-v1/evals.mdx +31 -1
  167. package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +29 -5
  168. package/.docs/raw/guides/migrations/upgrade-to-v1/mcp.mdx +3 -3
  169. package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +28 -0
  170. package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +59 -37
  171. package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +80 -0
  172. package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +70 -5
  173. package/.docs/raw/guides/migrations/upgrade-to-v1/tracing.mdx +13 -13
  174. package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +25 -1
  175. package/.docs/raw/guides/migrations/upgrade-to-v1/voice.mdx +1 -1
  176. package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +175 -2
  177. package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +2 -2
  178. package/.docs/raw/index.mdx +4 -4
  179. package/.docs/raw/mcp/overview.mdx +358 -0
  180. package/.docs/raw/mcp/publishing-mcp-server.mdx +139 -0
  181. package/.docs/raw/memory/conversation-history.mdx +1 -1
  182. package/.docs/raw/memory/memory-processors.mdx +265 -80
  183. package/.docs/raw/memory/overview.mdx +3 -3
  184. package/.docs/raw/memory/semantic-recall.mdx +10 -10
  185. package/.docs/raw/memory/storage/memory-with-libsql.mdx +5 -10
  186. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +150 -0
  187. package/.docs/raw/memory/storage/memory-with-pg.mdx +5 -10
  188. package/.docs/raw/memory/storage/memory-with-upstash.mdx +5 -10
  189. package/.docs/raw/memory/threads-and-resources.mdx +4 -4
  190. package/.docs/raw/memory/working-memory.mdx +16 -8
  191. package/.docs/raw/{logging.mdx → observability/logging.mdx} +8 -8
  192. package/.docs/raw/observability/overview.mdx +5 -6
  193. package/.docs/raw/observability/tracing/bridges/otel.mdx +200 -0
  194. package/.docs/raw/observability/tracing/exporters/arize.mdx +39 -3
  195. package/.docs/raw/observability/tracing/exporters/braintrust.mdx +22 -3
  196. package/.docs/raw/observability/tracing/exporters/cloud.mdx +4 -4
  197. package/.docs/raw/observability/tracing/exporters/default.mdx +6 -6
  198. package/.docs/raw/observability/tracing/exporters/langfuse.mdx +86 -3
  199. package/.docs/raw/observability/tracing/exporters/langsmith.mdx +15 -3
  200. package/.docs/raw/observability/tracing/exporters/otel.mdx +128 -30
  201. package/.docs/raw/observability/tracing/exporters/posthog.mdx +127 -0
  202. package/.docs/raw/observability/tracing/overview.mdx +100 -29
  203. package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +2 -3
  204. package/.docs/raw/rag/chunking-and-embedding.mdx +16 -17
  205. package/.docs/raw/rag/overview.mdx +5 -4
  206. package/.docs/raw/rag/retrieval.mdx +44 -39
  207. package/.docs/raw/rag/vector-databases.mdx +94 -3
  208. package/.docs/raw/reference/agents/agent.mdx +10 -14
  209. package/.docs/raw/reference/agents/generate.mdx +67 -99
  210. package/.docs/raw/reference/agents/generateLegacy.mdx +3 -3
  211. package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +1 -1
  212. package/.docs/raw/reference/agents/getDefaultOptions.mdx +1 -1
  213. package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +1 -1
  214. package/.docs/raw/reference/agents/getDescription.mdx +1 -1
  215. package/.docs/raw/reference/agents/getInstructions.mdx +1 -1
  216. package/.docs/raw/reference/agents/getLLM.mdx +2 -2
  217. package/.docs/raw/reference/agents/getMemory.mdx +1 -1
  218. package/.docs/raw/reference/agents/getModel.mdx +1 -1
  219. package/.docs/raw/reference/agents/getTools.mdx +69 -0
  220. package/.docs/raw/reference/agents/getVoice.mdx +1 -1
  221. package/.docs/raw/reference/agents/listAgents.mdx +1 -1
  222. package/.docs/raw/reference/agents/listScorers.mdx +1 -1
  223. package/.docs/raw/reference/agents/listTools.mdx +2 -2
  224. package/.docs/raw/reference/agents/listWorkflows.mdx +1 -1
  225. package/.docs/raw/reference/agents/network.mdx +33 -72
  226. package/.docs/raw/reference/ai-sdk/chat-route.mdx +127 -0
  227. package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +117 -0
  228. package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +64 -0
  229. package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +116 -0
  230. package/.docs/raw/reference/ai-sdk/network-route.mdx +99 -0
  231. package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +289 -0
  232. package/.docs/raw/reference/ai-sdk/with-mastra.mdx +119 -0
  233. package/.docs/raw/reference/ai-sdk/workflow-route.mdx +110 -0
  234. package/.docs/raw/reference/auth/auth0.mdx +1 -1
  235. package/.docs/raw/reference/auth/clerk.mdx +1 -1
  236. package/.docs/raw/reference/auth/firebase.mdx +1 -1
  237. package/.docs/raw/reference/auth/jwt.mdx +1 -1
  238. package/.docs/raw/reference/auth/supabase.mdx +1 -1
  239. package/.docs/raw/reference/auth/workos.mdx +1 -1
  240. package/.docs/raw/reference/cli/create-mastra.mdx +11 -11
  241. package/.docs/raw/reference/cli/mastra.mdx +25 -12
  242. package/.docs/raw/reference/client-js/agents.mdx +252 -68
  243. package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
  244. package/.docs/raw/reference/client-js/logs.mdx +1 -1
  245. package/.docs/raw/reference/client-js/mastra-client.mdx +4 -4
  246. package/.docs/raw/reference/client-js/memory.mdx +48 -2
  247. package/.docs/raw/reference/client-js/observability.mdx +1 -1
  248. package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
  249. package/.docs/raw/reference/client-js/tools.mdx +1 -1
  250. package/.docs/raw/reference/client-js/vectors.mdx +1 -1
  251. package/.docs/raw/reference/client-js/workflows.mdx +93 -64
  252. package/.docs/raw/reference/core/addGateway.mdx +59 -0
  253. package/.docs/raw/reference/core/getAgent.mdx +1 -1
  254. package/.docs/raw/reference/core/getAgentById.mdx +1 -1
  255. package/.docs/raw/reference/core/getDeployer.mdx +1 -1
  256. package/.docs/raw/reference/core/getGateway.mdx +59 -0
  257. package/.docs/raw/reference/core/getGatewayById.mdx +62 -0
  258. package/.docs/raw/reference/core/getLogger.mdx +3 -3
  259. package/.docs/raw/reference/core/getMCPServer.mdx +4 -4
  260. package/.docs/raw/reference/core/getMCPServerById.mdx +5 -5
  261. package/.docs/raw/reference/core/getMemory.mdx +73 -0
  262. package/.docs/raw/reference/core/getScorer.mdx +1 -1
  263. package/.docs/raw/reference/core/getScorerById.mdx +1 -1
  264. package/.docs/raw/reference/core/getServer.mdx +2 -2
  265. package/.docs/raw/reference/core/getStorage.mdx +1 -1
  266. package/.docs/raw/reference/core/getStoredAgentById.mdx +183 -0
  267. package/.docs/raw/reference/core/getTelemetry.mdx +3 -3
  268. package/.docs/raw/reference/core/getVector.mdx +1 -1
  269. package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
  270. package/.docs/raw/reference/core/listAgents.mdx +1 -1
  271. package/.docs/raw/reference/core/listGateways.mdx +53 -0
  272. package/.docs/raw/reference/core/listLogs.mdx +3 -3
  273. package/.docs/raw/reference/core/listLogsByRunId.mdx +3 -3
  274. package/.docs/raw/reference/core/listMCPServers.mdx +5 -5
  275. package/.docs/raw/reference/core/listMemory.mdx +70 -0
  276. package/.docs/raw/reference/core/listScorers.mdx +1 -1
  277. package/.docs/raw/reference/core/listStoredAgents.mdx +151 -0
  278. package/.docs/raw/reference/core/listVectors.mdx +1 -1
  279. package/.docs/raw/reference/core/listWorkflows.mdx +1 -1
  280. package/.docs/raw/reference/core/mastra-class.mdx +17 -1
  281. package/.docs/raw/reference/core/mastra-model-gateway.mdx +227 -0
  282. package/.docs/raw/reference/core/setLogger.mdx +3 -3
  283. package/.docs/raw/reference/core/setStorage.mdx +1 -1
  284. package/.docs/raw/reference/core/setTelemetry.mdx +3 -3
  285. package/.docs/raw/reference/deployer/cloudflare.mdx +1 -1
  286. package/.docs/raw/reference/deployer/deployer.mdx +1 -1
  287. package/.docs/raw/reference/deployer/netlify.mdx +2 -3
  288. package/.docs/raw/reference/deployer/vercel.mdx +1 -1
  289. package/.docs/raw/reference/evals/answer-relevancy.mdx +29 -99
  290. package/.docs/raw/reference/evals/answer-similarity.mdx +13 -259
  291. package/.docs/raw/reference/evals/bias.mdx +30 -88
  292. package/.docs/raw/reference/evals/completeness.mdx +32 -91
  293. package/.docs/raw/reference/evals/content-similarity.mdx +29 -89
  294. package/.docs/raw/reference/evals/context-precision.mdx +29 -131
  295. package/.docs/raw/reference/evals/context-relevance.mdx +12 -12
  296. package/.docs/raw/reference/evals/create-scorer.mdx +59 -50
  297. package/.docs/raw/reference/evals/faithfulness.mdx +29 -102
  298. package/.docs/raw/reference/evals/hallucination.mdx +29 -104
  299. package/.docs/raw/reference/evals/keyword-coverage.mdx +29 -108
  300. package/.docs/raw/reference/evals/mastra-scorer.mdx +3 -1
  301. package/.docs/raw/reference/evals/noise-sensitivity.mdx +12 -12
  302. package/.docs/raw/reference/evals/prompt-alignment.mdx +16 -16
  303. package/.docs/raw/reference/evals/run-evals.mdx +1 -1
  304. package/.docs/raw/reference/evals/scorer-utils.mdx +362 -0
  305. package/.docs/raw/reference/evals/textual-difference.mdx +28 -101
  306. package/.docs/raw/reference/evals/tone-consistency.mdx +26 -99
  307. package/.docs/raw/reference/evals/tool-call-accuracy.mdx +8 -8
  308. package/.docs/raw/reference/evals/toxicity.mdx +30 -93
  309. package/.docs/raw/reference/index.mdx +1 -0
  310. package/.docs/raw/reference/logging/pino-logger.mdx +2 -2
  311. package/.docs/raw/reference/memory/createThread.mdx +1 -1
  312. package/.docs/raw/reference/memory/deleteMessages.mdx +1 -1
  313. package/.docs/raw/reference/memory/getThreadById.mdx +1 -1
  314. package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +1 -1
  315. package/.docs/raw/reference/memory/memory-class.mdx +6 -8
  316. package/.docs/raw/reference/memory/query.mdx +1 -1
  317. package/.docs/raw/reference/memory/recall.mdx +1 -1
  318. package/.docs/raw/reference/observability/tracing/bridges/otel.mdx +177 -0
  319. package/.docs/raw/reference/observability/tracing/configuration.mdx +12 -16
  320. package/.docs/raw/reference/observability/tracing/exporters/arize.mdx +31 -2
  321. package/.docs/raw/reference/observability/tracing/exporters/braintrust.mdx +1 -1
  322. package/.docs/raw/reference/observability/tracing/exporters/cloud-exporter.mdx +9 -9
  323. package/.docs/raw/reference/observability/tracing/exporters/console-exporter.mdx +9 -9
  324. package/.docs/raw/reference/observability/tracing/exporters/default-exporter.mdx +9 -9
  325. package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +44 -1
  326. package/.docs/raw/reference/observability/tracing/exporters/langsmith.mdx +18 -2
  327. package/.docs/raw/reference/observability/tracing/exporters/otel.mdx +34 -44
  328. package/.docs/raw/reference/observability/tracing/exporters/posthog.mdx +132 -0
  329. package/.docs/raw/reference/observability/tracing/instances.mdx +8 -12
  330. package/.docs/raw/reference/observability/tracing/interfaces.mdx +36 -11
  331. package/.docs/raw/reference/observability/tracing/processors/sensitive-data-filter.mdx +1 -1
  332. package/.docs/raw/reference/observability/tracing/spans.mdx +7 -11
  333. package/.docs/raw/reference/processors/batch-parts-processor.mdx +10 -4
  334. package/.docs/raw/reference/processors/language-detector.mdx +19 -6
  335. package/.docs/raw/reference/processors/message-history-processor.mdx +131 -0
  336. package/.docs/raw/reference/processors/moderation-processor.mdx +21 -8
  337. package/.docs/raw/reference/processors/pii-detector.mdx +21 -8
  338. package/.docs/raw/reference/processors/processor-interface.mdx +502 -0
  339. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +19 -6
  340. package/.docs/raw/reference/processors/semantic-recall-processor.mdx +197 -0
  341. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +12 -7
  342. package/.docs/raw/reference/processors/token-limiter-processor.mdx +11 -5
  343. package/.docs/raw/reference/processors/tool-call-filter.mdx +125 -0
  344. package/.docs/raw/reference/processors/unicode-normalizer.mdx +10 -4
  345. package/.docs/raw/reference/processors/working-memory-processor.mdx +221 -0
  346. package/.docs/raw/reference/rag/chunk.mdx +1 -1
  347. package/.docs/raw/reference/rag/database-config.mdx +1 -1
  348. package/.docs/raw/reference/rag/document.mdx +1 -1
  349. package/.docs/raw/reference/rag/embeddings.mdx +6 -6
  350. package/.docs/raw/reference/rag/extract-params.mdx +1 -1
  351. package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
  352. package/.docs/raw/reference/rag/metadata-filters.mdx +1 -1
  353. package/.docs/raw/reference/rag/rerank.mdx +2 -3
  354. package/.docs/raw/reference/rag/rerankWithScorer.mdx +1 -2
  355. package/.docs/raw/reference/server/create-route.mdx +328 -0
  356. package/.docs/raw/reference/server/express-adapter.mdx +260 -0
  357. package/.docs/raw/reference/server/hono-adapter.mdx +242 -0
  358. package/.docs/raw/reference/server/mastra-server.mdx +345 -0
  359. package/.docs/raw/reference/server/routes.mdx +250 -0
  360. package/.docs/raw/reference/storage/cloudflare-d1.mdx +39 -2
  361. package/.docs/raw/reference/storage/cloudflare.mdx +2 -2
  362. package/.docs/raw/reference/storage/convex.mdx +164 -0
  363. package/.docs/raw/reference/storage/dynamodb.mdx +4 -4
  364. package/.docs/raw/reference/storage/lance.mdx +35 -2
  365. package/.docs/raw/reference/storage/libsql.mdx +39 -2
  366. package/.docs/raw/reference/storage/mongodb.mdx +41 -2
  367. package/.docs/raw/reference/storage/mssql.mdx +39 -2
  368. package/.docs/raw/reference/storage/postgresql.mdx +39 -2
  369. package/.docs/raw/reference/storage/upstash.mdx +2 -2
  370. package/.docs/raw/reference/streaming/ChunkType.mdx +2 -2
  371. package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +1 -1
  372. package/.docs/raw/reference/streaming/agents/stream.mdx +68 -95
  373. package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +1 -1
  374. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +8 -10
  375. package/.docs/raw/reference/streaming/workflows/{resumeStreamVNext.mdx → resumeStream.mdx} +51 -11
  376. package/.docs/raw/reference/streaming/workflows/stream.mdx +84 -25
  377. package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +170 -0
  378. package/.docs/raw/reference/templates/overview.mdx +3 -6
  379. package/.docs/raw/reference/tools/client.mdx +2 -3
  380. package/.docs/raw/reference/tools/create-tool.mdx +135 -4
  381. package/.docs/raw/reference/tools/document-chunker-tool.mdx +1 -1
  382. package/.docs/raw/reference/tools/graph-rag-tool.mdx +7 -7
  383. package/.docs/raw/reference/tools/mcp-client.mdx +131 -23
  384. package/.docs/raw/reference/tools/mcp-server.mdx +56 -8
  385. package/.docs/raw/reference/tools/vector-query-tool.mdx +16 -17
  386. package/.docs/raw/reference/vectors/astra.mdx +1 -1
  387. package/.docs/raw/reference/vectors/chroma.mdx +82 -2
  388. package/.docs/raw/reference/vectors/convex.mdx +429 -0
  389. package/.docs/raw/reference/vectors/couchbase.mdx +33 -20
  390. package/.docs/raw/reference/vectors/duckdb.mdx +462 -0
  391. package/.docs/raw/reference/vectors/elasticsearch.mdx +310 -0
  392. package/.docs/raw/reference/vectors/lance.mdx +39 -23
  393. package/.docs/raw/reference/vectors/libsql.mdx +37 -4
  394. package/.docs/raw/reference/vectors/mongodb.mdx +43 -4
  395. package/.docs/raw/reference/vectors/opensearch.mdx +38 -17
  396. package/.docs/raw/reference/vectors/pg.mdx +44 -37
  397. package/.docs/raw/reference/vectors/pinecone.mdx +70 -3
  398. package/.docs/raw/reference/vectors/qdrant.mdx +37 -2
  399. package/.docs/raw/reference/vectors/s3vectors.mdx +2 -2
  400. package/.docs/raw/reference/vectors/turbopuffer.mdx +75 -1
  401. package/.docs/raw/reference/vectors/upstash.mdx +1 -1
  402. package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
  403. package/.docs/raw/reference/voice/azure.mdx +96 -81
  404. package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
  405. package/.docs/raw/reference/voice/composite-voice.mdx +72 -29
  406. package/.docs/raw/reference/voice/deepgram.mdx +1 -1
  407. package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
  408. package/.docs/raw/reference/voice/google-gemini-live.mdx +1 -1
  409. package/.docs/raw/reference/voice/google.mdx +160 -21
  410. package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
  411. package/.docs/raw/reference/voice/murf.mdx +1 -1
  412. package/.docs/raw/reference/voice/openai-realtime.mdx +3 -3
  413. package/.docs/raw/reference/voice/openai.mdx +1 -1
  414. package/.docs/raw/reference/voice/playai.mdx +1 -1
  415. package/.docs/raw/reference/voice/sarvam.mdx +1 -1
  416. package/.docs/raw/reference/voice/speechify.mdx +1 -1
  417. package/.docs/raw/reference/voice/voice.addInstructions.mdx +3 -4
  418. package/.docs/raw/reference/voice/voice.addTools.mdx +2 -2
  419. package/.docs/raw/reference/voice/voice.answer.mdx +2 -2
  420. package/.docs/raw/reference/voice/voice.close.mdx +2 -2
  421. package/.docs/raw/reference/voice/voice.connect.mdx +2 -2
  422. package/.docs/raw/reference/voice/voice.events.mdx +1 -1
  423. package/.docs/raw/reference/voice/voice.getSpeakers.mdx +1 -1
  424. package/.docs/raw/reference/voice/voice.listen.mdx +87 -53
  425. package/.docs/raw/reference/voice/voice.off.mdx +2 -2
  426. package/.docs/raw/reference/voice/voice.on.mdx +2 -2
  427. package/.docs/raw/reference/voice/voice.send.mdx +2 -2
  428. package/.docs/raw/reference/voice/voice.speak.mdx +76 -41
  429. package/.docs/raw/reference/voice/voice.updateConfig.mdx +2 -2
  430. package/.docs/raw/reference/workflows/run-methods/cancel.mdx +1 -1
  431. package/.docs/raw/reference/workflows/run-methods/restart.mdx +142 -0
  432. package/.docs/raw/reference/workflows/run-methods/resume.mdx +45 -1
  433. package/.docs/raw/reference/workflows/run-methods/start.mdx +48 -4
  434. package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +310 -0
  435. package/.docs/raw/reference/workflows/run.mdx +28 -6
  436. package/.docs/raw/reference/workflows/step.mdx +65 -1
  437. package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +1 -1
  438. package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
  439. package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +1 -1
  440. package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +1 -1
  441. package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +1 -1
  442. package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
  443. package/.docs/raw/reference/workflows/workflow-methods/map.mdx +1 -1
  444. package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
  445. package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +1 -1
  446. package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +1 -1
  447. package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +1 -1
  448. package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
  449. package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +1 -1
  450. package/.docs/raw/reference/workflows/workflow.mdx +21 -2
  451. package/.docs/raw/server-db/custom-adapters.mdx +386 -0
  452. package/.docs/raw/server-db/custom-api-routes.mdx +6 -6
  453. package/.docs/raw/server-db/mastra-client.mdx +7 -8
  454. package/.docs/raw/server-db/{production-server.mdx → mastra-server.mdx} +16 -8
  455. package/.docs/raw/server-db/middleware.mdx +31 -31
  456. package/.docs/raw/server-db/request-context.mdx +3 -4
  457. package/.docs/raw/server-db/server-adapters.mdx +312 -0
  458. package/.docs/raw/server-db/storage.mdx +12 -1
  459. package/.docs/raw/streaming/events.mdx +1 -1
  460. package/.docs/raw/streaming/overview.mdx +27 -16
  461. package/.docs/raw/streaming/tool-streaming.mdx +58 -19
  462. package/.docs/raw/streaming/workflow-streaming.mdx +6 -12
  463. package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -3
  464. package/.docs/raw/tools-mcp/mcp-overview.mdx +5 -7
  465. package/.docs/raw/tools-mcp/overview.mdx +1 -1
  466. package/.docs/raw/voice/overview.mdx +88 -41
  467. package/.docs/raw/voice/speech-to-speech.mdx +5 -5
  468. package/.docs/raw/voice/speech-to-text.mdx +3 -4
  469. package/.docs/raw/voice/text-to-speech.mdx +3 -4
  470. package/.docs/raw/workflows/agents-and-tools.mdx +43 -5
  471. package/.docs/raw/workflows/control-flow.mdx +186 -1
  472. package/.docs/raw/workflows/error-handling.mdx +5 -4
  473. package/.docs/raw/workflows/human-in-the-loop.mdx +160 -213
  474. package/.docs/raw/workflows/inngest-workflow.mdx +2 -2
  475. package/.docs/raw/workflows/input-data-mapping.mdx +1 -1
  476. package/.docs/raw/workflows/overview.mdx +67 -47
  477. package/.docs/raw/workflows/snapshots.mdx +5 -3
  478. package/.docs/raw/workflows/suspend-and-resume.mdx +121 -204
  479. package/.docs/raw/workflows/time-travel.mdx +313 -0
  480. package/.docs/raw/workflows/workflow-state.mdx +190 -0
  481. package/CHANGELOG.md +88 -0
  482. package/dist/{chunk-5NJC7NRO.js → chunk-4CM2BQNP.js} +24 -4
  483. package/dist/prepare-docs/package-changes.d.ts.map +1 -1
  484. package/dist/prepare-docs/prepare.js +1 -1
  485. package/dist/stdio.js +17 -19
  486. package/package.json +11 -15
  487. package/.docs/raw/deployment/serverless-platforms/index.mdx +0 -58
  488. package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +0 -688
  489. package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +0 -123
  490. package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +0 -382
  491. package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +0 -179
  492. package/.docs/raw/frameworks/web-frameworks/next-js.mdx +0 -379
  493. package/.docs/raw/getting-started/templates.mdx +0 -73
  494. package/.docs/raw/mastra-cloud/observability.mdx +0 -51
  495. package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +0 -47
  496. package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +0 -153
@@ -25,7 +25,7 @@ To migrate, replace all calls to `mastra.getWorkflows()` with `mastra.listWorkfl
25
25
  You can use Mastra's codemod CLI to update your imports automatically:
26
26
 
27
27
  ```shell
28
- npx @mastra/codemod v1/workflows-get-workflows .
28
+ npx @mastra/codemod@beta v1/mastra-plural-apis .
29
29
  ```
30
30
 
31
31
  :::
@@ -52,7 +52,7 @@ To migrate, update references from `runtimeContext` to `requestContext` in step
52
52
  You can use Mastra's codemod CLI to update your imports automatically:
53
53
 
54
54
  ```shell
55
- npx @mastra/codemod v1/runtime-context .
55
+ npx @mastra/codemod@beta v1/runtime-context .
56
56
  ```
57
57
 
58
58
  :::
@@ -68,6 +68,16 @@ To migrate, rename method calls from `createRunAsync` to `createRun`.
68
68
  + await workflow.createRun({ input: { ... } });
69
69
  ```
70
70
 
71
+ :::tip[Codemod]
72
+
73
+ You can use Mastra's codemod CLI to update your code automatically:
74
+
75
+ ```shell
76
+ npx @mastra/codemod@beta v1/workflow-create-run-async .
77
+ ```
78
+
79
+ :::
80
+
71
81
  ### `runCount` to `retryCount` (deprecated)
72
82
 
73
83
  The `runCount` parameter has been deprecated in favor of `retryCount` in workflow step execution. This change provides clearer naming that better describes retry behavior. The old `runCount` still works but shows deprecation warnings.
@@ -83,6 +93,16 @@ To migrate, rename `runCount` to `retryCount` in step execution functions.
83
93
  });
84
94
  ```
85
95
 
96
+ :::tip[Codemod]
97
+
98
+ You can use Mastra's codemod CLI to update your code automatically:
99
+
100
+ ```shell
101
+ npx @mastra/codemod@beta v1/workflow-run-count .
102
+ ```
103
+
104
+ :::
105
+
86
106
  ### `getWorkflowRuns` to `listWorkflowRuns`
87
107
 
88
108
  The `getWorkflowRuns()` method has been renamed to `listWorkflowRuns()`. This change aligns with the convention that `list*` methods return collections.
@@ -94,8 +114,161 @@ To migrate, rename method calls from `getWorkflowRuns` to `listWorkflowRuns`.
94
114
  + const runs = await workflow.listWorkflowRuns({ fromDate, toDate });
95
115
  ```
96
116
 
117
+ :::tip[Codemod]
118
+
119
+ You can use Mastra's codemod CLI to update your code automatically:
120
+
121
+ ```shell
122
+ npx @mastra/codemod@beta v1/workflow-list-runs .
123
+ ```
124
+
125
+ :::
126
+
127
+ ### Inputs are validated by default
128
+
129
+ Previously, inputs weren't validated by default. The [`validateInputs`](/reference/v1/workflows/workflow#workflowoptions) flag determines whether to validate the workflow inputs or not. This boolean has been flipped to `true`. If you want the old behavior or have workflows whose schemas don't need to be validated, set `validateInputs: false`.
130
+
131
+ ```diff
132
+ createWorkflow({
133
+ + options: {
134
+ + validateInputs: false
135
+ + }
136
+ })
137
+ ```
138
+
139
+ ### Step `suspendPayload` validation
140
+
141
+ Step `suspendPayload` is now validated for steps that have a `suspendSchema` defined. This also uses the `validateInputs` flag to determine whether to validate the `suspendPayload` or not.
142
+
143
+ ```diff
144
+ createStep({
145
+ id: "suspend-resume-step",
146
+ // ... other step properties
147
+ suspendSchema: z.object({
148
+ reason: z.string(),
149
+ otherReason: z.string()
150
+ }),
151
+ execute: async ({ suspend, resumeData}) => {
152
+ if (!resumeData) {
153
+ - return suspend({ reason: "Suspension reason" }); // Missing otherReason
154
+ + return suspend({ reason: "Suspension reason", otherReason: "Other reason" });
155
+ }
156
+ //... continue execution logic
157
+ },
158
+ });
159
+ ```
160
+
161
+ ### Branch result fields are now optional
162
+
163
+ The `.branch()` method now returns a schema where all branch output fields are optional. This reflects the runtime behavior where each branch only executes if its condition is truthy, so outputs from any branch may be undefined.
164
+
165
+ To migrate, update any code that consumes branch outputs to handle optional values.
166
+
167
+ ```diff
168
+ const workflow = createWorkflow({...})
169
+ .branch([
170
+ [condition1, stepA], // outputSchema: { result: z.string() }
171
+ [condition2, stepB], // outputSchema: { data: z.number() }
172
+ ])
173
+ - // Previously: stepA.result typed as string, stepB.data typed as number
174
+ + // Now: stepA.result typed as string | undefined, stepB.data typed as number | undefined
175
+ .then(nextStep);
176
+ ```
177
+
178
+ If your code depends on non-optional types, add runtime checks or provide default values when accessing branch outputs.
179
+
180
+ ### `writableStream` to `outputWriter` in `Run.start()` & `Run.timeTravel()`
181
+
182
+ The `writableStream` parameter in `Run.start()` and `Run.timeTravel()` has been replaced with `outputWriter`. Instead of passing a `WritableStream`, you now pass an async callback function that receives each workflow event chunk directly.
183
+
184
+ This change simplifies the API - rather than creating a `WritableStream` wrapper, you handle chunks directly in the callback.
185
+
186
+ **Example:** Streaming workflow events to an HTTP response (SSE):
187
+
188
+ ```diff
189
+ const run = await workflow.createRun();
190
+
191
+ - const stream = new WritableStream({
192
+ - write(chunk) {
193
+ - response.write(`data: ${JSON.stringify(chunk)}\n\n`);
194
+ - }
195
+ - });
196
+ - await run.start({ inputData, writableStream: stream });
197
+
198
+ + await run.start({
199
+ + inputData,
200
+ + outputWriter: async (chunk) => {
201
+ + response.write(`data: ${JSON.stringify(chunk)}\n\n`);
202
+ + },
203
+ + });
204
+ ```
205
+
206
+ :::note
207
+
208
+ The `writer` parameter passed to step `execute` functions is not affected by this change. It remains a `ToolStream` that extends `WritableStream<unknown>` and provides `.write()` and `.custom()` methods:
209
+
210
+ ```ts
211
+ createStep({
212
+ id: 'my-step',
213
+ execute: async ({ writer }) => {
214
+ // This API is unchanged
215
+ await writer.write({ data: 'some output' });
216
+ await writer.custom({ type: 'custom-event', payload: {} });
217
+ },
218
+ });
219
+ ```
220
+
221
+ :::
222
+
223
+ ### `setState()` is now async and the data passed is validated
224
+
225
+ The `setState()` function is now async. The data passed is now validated against the `stateSchema` defined in the step. The state data validation also uses the `validateInputs` flag to determine whether to validate the state data or not. Also, when calling `setState()`, you can now pass only the state data being updated, instead of adding the previous state spread `(...state)`.
226
+
227
+ To migrate, update the `setState()` function to be async.
228
+
229
+ ```diff
230
+ - setState({ ...state, sharedCounter: state.sharedCounter + 1 });
231
+ + await setState({ sharedCounter: state.sharedCounter + 1 });
232
+ + // await setState({ ...state, sharedCounter: state.sharedCounter + 1 });
233
+ + // this also works, as the previous state spread remains supported
234
+ ```
235
+
97
236
  ## Removed
98
237
 
238
+ ### `streamVNext`, `resumeStreamVNext`, and `observeStreamVNext` methods
239
+
240
+ The experimental `streamVNext()`, `resumeStreamVNext()`, and `observeStreamVNext()` methods have been removed. These methods are now the standard implementation with updated event structures and return types.
241
+
242
+ To migrate, use the standard `stream()`, `resumeStream()`, and `observeStream()` methods. Update event type checks to use workflow-prefixed names and access stream properties directly.
243
+
244
+ See [`Run.stream()`](/reference/v1/streaming/workflows/stream), [`Run.resumeStream()`](/reference/v1/streaming/workflows/resumeStream), and [`Run.observeStream()`](/reference/v1/streaming/workflows/observeStream) for details.
245
+
246
+ :::tip[Codemod]
247
+
248
+ You can use Mastra's codemod CLI to update your code automatically:
249
+
250
+ ```shell
251
+ npx @mastra/codemod@beta v1/workflow-stream-vnext .
252
+ ```
253
+
254
+ :::
255
+
256
+ ### `suspend` and `setState` are not available in step condition functions parameters
257
+
258
+ The `suspend` and `setState` functions are not available in step condition functions parameters.
259
+
260
+ To migrate, use the `suspend` function in the step execute function instead.
261
+
262
+ ```diff
263
+ .dowhile(step, async ({ suspend, state, setState }) => {
264
+ - setState({...state, updatedState: "updated state"})
265
+ - await suspend({ reason: "Suspension reason" });
266
+ + // Use the suspend/setState in the step execute function instead
267
+ });
268
+ ```
269
+
270
+ This is the same for `dountil` and `branch` condition functions parameters.
271
+
99
272
  ### Legacy workflows export
100
273
 
101
274
  The `./workflows/legacy` export path has been removed from `@mastra/core`. Legacy workflows are no longer supported.
@@ -160,7 +160,7 @@ The following options are available in the standard `.stream()` and `generate()`
160
160
  name: z.string(),
161
161
  age: z.number(),
162
162
  }),
163
- model: "openai/gpt-4o-mini", // Optional model override for structuring
163
+ model: "openai/gpt-5.1", // Optional model override for structuring
164
164
  errorStrategy: "fallback",
165
165
  fallbackValue: { name: "unknown", age: 0 },
166
166
  instructions: "Extract user information", // Override default structuring instructions
@@ -300,7 +300,7 @@ The following options are available in the standard `.stream()` and `generate()`
300
300
  schema: z.object({
301
301
  summary: z.string(),
302
302
  }),
303
- model: "openai/gpt-4o",
303
+ model: "openai/gpt-5.1",
304
304
  },
305
305
  });
306
306
  ```
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "About Mastra | Mastra Docs"
2
+ title: "About Mastra"
3
3
  sidebar_position: 2
4
4
  sidebar_label: "Introduction"
5
5
  description: "Mastra is an all-in-one framework for building AI-powered applications and agents with a modern TypeScript stack."
@@ -27,7 +27,7 @@ Some highlights include:
27
27
 
28
28
  - [**Workflows**](/docs/v1/workflows/overview) - When you need explicit control over execution, use Mastra's graph-based workflow engine to orchestrate complex multi-step processes. Mastra workflows use an intuitive syntax for control flow (`.then()`, `.branch()`, `.parallel()`).
29
29
 
30
- - [**Human-in-the-loop**]/docs/v1/workflows/suspend-and-resume) - Suspend an agent or workflow and await user input or approval before resuming. Mastra uses [storage](/docs/v1/server-db/storage) to remember execution state, so you can pause indefinitely and resume where you left off.
30
+ - [**Human-in-the-loop**](/docs/v1/workflows/suspend-and-resume) - Suspend an agent or workflow and await user input or approval before resuming. Mastra uses [storage](/docs/v1/server-db/storage) to remember execution state, so you can pause indefinitely and resume where you left off.
31
31
 
32
32
  - **Context management** - Give your agents the right context at the right time. Provide [conversation history](/docs/v1/memory/conversation-history), [retrieve](/docs/v1/rag/overview) data from your sources (APIs, databases, files), and add human-like [working](/docs/v1/memory/working-memory) and [semantic](/docs/v1/memory/semantic-recall) memory so your agents behave coherently.
33
33
 
@@ -51,8 +51,8 @@ Explore real-world examples in our [community showcase](/showcase).
51
51
 
52
52
  ## Get started
53
53
 
54
- Follow the [Installation guide](/docs/v1/getting-started/installation) for step-by-step setup with the CLI or a manual install.
54
+ Choose a [getting started guide](/docs/v1/getting-started/start) to get started, or see the [manual installation guide](/docs/v1/getting-started/manual-install) if you need more control over your setup.
55
55
 
56
- If you're new to AI agents, check out our [templates](/docs/v1/getting-started/templates), [course](https://mastra.ai/book), and [YouTube videos](https://youtube.com/@mastra-ai) to start building with Mastra today.
56
+ If you're new to AI agents, check out our [templates](https://mastra.ai/templates), [course](https://mastra.ai/course), and [YouTube videos](https://youtube.com/@mastra-ai). You can also join our [Discord](https://discord.gg/BTYqqHKUrf) community to get help and share your projects.
57
57
 
58
58
  We can't wait to see what you build ✌️
@@ -0,0 +1,358 @@
1
+ ---
2
+ title: "MCP Overview | MCP"
3
+ description: 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.
4
+ ---
5
+
6
+ import Tabs from "@theme/Tabs";
7
+ import TabItem from "@theme/TabItem";
8
+
9
+ # MCP Overview
10
+
11
+ 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.
12
+
13
+ Mastra can also be used to author MCP servers, exposing agents, tools, and other structured resources via the MCP interface. These can then be accessed by any system or agent that supports the protocol.
14
+
15
+ Mastra currently supports two MCP classes:
16
+
17
+ 1. **`MCPClient`**: Connects to one or many MCP servers to access their tools, resources, prompts, and handle elicitation requests.
18
+ 2. **`MCPServer`**: Exposes Mastra tools, agents, workflows, prompts, and resources to MCP-compatible clients.
19
+
20
+ ## Getting started
21
+
22
+ To use MCP, install the required dependency:
23
+
24
+ ```bash
25
+ npm install @mastra/mcp@beta
26
+ ```
27
+
28
+ ## Configuring `MCPClient`
29
+
30
+ 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.
31
+
32
+ ```typescript title="src/mastra/mcp/test-mcp-client.ts" showLineNumbers copy
33
+ import { MCPClient } from "@mastra/mcp";
34
+
35
+ export const testMcpClient = new MCPClient({
36
+ id: "test-mcp-client",
37
+ servers: {
38
+ wikipedia: {
39
+ command: "npx",
40
+ args: ["-y", "wikipedia-mcp"],
41
+ },
42
+ weather: {
43
+ url: new URL(
44
+ `https://server.smithery.ai/@smithery-ai/national-weather-service/mcp?api_key=${process.env.SMITHERY_API_KEY}`,
45
+ ),
46
+ },
47
+ },
48
+ });
49
+ ```
50
+
51
+ > See [MCPClient](/reference/v1/tools/mcp-client) for a full list of configuration options.
52
+
53
+ ## Using `MCPClient` with an agent
54
+
55
+ To use tools from an MCP server in an agent, import your `MCPClient` and call `.getTools()` in the `tools` parameter. This loads from the defined MCP servers, making them available to the agent.
56
+
57
+ ```typescript {3,15} title="src/mastra/agents/test-agent.ts" showLineNumbers copy
58
+ import { Agent } from "@mastra/core/agent";
59
+
60
+ import { testMcpClient } from "../mcp/test-mcp-client";
61
+
62
+ export const testAgent = new Agent({
63
+ name: "Test Agent",
64
+ description: "You are a helpful AI assistant",
65
+ instructions: `
66
+ You are a helpful assistant that has access to the following MCP Servers.
67
+ - Wikipedia MCP Server
68
+ - US National Weather Service
69
+
70
+ Answer questions using the information you find using the MCP Servers.`,
71
+ model: "openai/gpt-5.1",
72
+ tools: await testMcpClient.getTools(),
73
+ });
74
+ ```
75
+
76
+ > See the [Agent Class](/reference/v1/agents/agent) for a full list of configuration options.
77
+
78
+ ## Configuring `MCPServer`
79
+
80
+ 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.
81
+
82
+ ```typescript title="src/mastra/mcp/test-mcp-server.ts" showLineNumbers copy
83
+ import { MCPServer } from "@mastra/mcp";
84
+
85
+ import { testAgent } from "../agents/test-agent";
86
+ import { testWorkflow } from "../workflows/test-workflow";
87
+ import { testTool } from "../tools/test-tool";
88
+
89
+ export const testMcpServer = new MCPServer({
90
+ id: "test-mcp-server",
91
+ name: "Test Server",
92
+ version: "1.0.0",
93
+ agents: { testAgent },
94
+ tools: { testTool },
95
+ workflows: { testWorkflow },
96
+ });
97
+ ```
98
+
99
+ > See [MCPServer](/reference/v1/tools/mcp-server) for a full list of configuration options.
100
+
101
+ ## Registering an `MCPServer`
102
+
103
+ To make an MCP server available to other systems or agents that support the protocol, register it in the main `Mastra` instance using `mcpServers`.
104
+
105
+ ```typescript title="src/mastra/index.ts" showLineNumbers copy
106
+ import { Mastra } from "@mastra/core/mastra";
107
+
108
+ import { testMcpServer } from "./mcp/test-mcp-server";
109
+
110
+ export const mastra = new Mastra({
111
+ // ...
112
+ mcpServers: { testMcpServer },
113
+ });
114
+ ```
115
+
116
+ ## Static and dynamic tools
117
+
118
+ `MCPClient` offers two approaches to retrieving tools from connected servers, suitable for different application architectures:
119
+
120
+ | Feature | Static Configuration (`await mcp.getTools()`) | Dynamic Configuration (`await mcp.getToolsets()`) |
121
+ | :---------------- | :-------------------------------------------- | :--------------------------------------------------- |
122
+ | **Use Case** | Single-user, static config (e.g., CLI tool) | Multi-user, dynamic config (e.g., SaaS app) |
123
+ | **Configuration** | Fixed at agent initialization | Per-request, dynamic |
124
+ | **Credentials** | Shared across all uses | Can vary per user/request |
125
+ | **Agent Setup** | Tools added in `Agent` constructor | Tools passed in `.generate()` or `.stream()` options |
126
+
127
+ ### Static tools
128
+
129
+ Use the `.getTools()` 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.
130
+
131
+ > See [getTools()](/reference/v1/tools/mcp-client#gettools) for more information.
132
+
133
+ ```typescript {7} title="src/mastra/agents/test-agent.ts" showLineNumbers copy
134
+ import { Agent } from "@mastra/core/agent";
135
+
136
+ import { testMcpClient } from "../mcp/test-mcp-client";
137
+
138
+ export const testAgent = new Agent({
139
+ // ...
140
+ tools: await testMcpClient.getTools(),
141
+ });
142
+ ```
143
+
144
+ ### Dynamic tools
145
+
146
+ Use the `.getToolsets()` 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.
147
+
148
+ ```typescript {5-16,21} showLineNumbers copy
149
+ import { MCPClient } from "@mastra/mcp";
150
+ import { mastra } from "./mastra";
151
+
152
+ async function handleRequest(userPrompt: string, userApiKey: string) {
153
+ const userMcp = new MCPClient({
154
+ servers: {
155
+ weather: {
156
+ url: new URL("http://localhost:8080/mcp"),
157
+ requestInit: {
158
+ headers: {
159
+ Authorization: `Bearer ${userApiKey}`,
160
+ },
161
+ },
162
+ },
163
+ },
164
+ });
165
+
166
+ const agent = mastra.getAgent("testAgent");
167
+
168
+ const response = await agent.generate(userPrompt, {
169
+ toolsets: await userMcp.getToolsets(),
170
+ });
171
+
172
+ await userMcp.disconnect();
173
+
174
+ return Response.json({
175
+ data: response.text,
176
+ });
177
+ }
178
+ ```
179
+
180
+ > See [getToolsets()](/reference/v1/tools/mcp-client#gettoolsets) for more information.
181
+
182
+ ## Connecting to an MCP registry
183
+
184
+ MCP servers can be discovered through registries. Here's how to connect to some popular ones using `MCPClient`:
185
+
186
+ <Tabs>
187
+ <TabItem value="klavis" label="Klavis AI">
188
+ [Klavis AI](https://klavis.ai) provides hosted, enterprise-authenticated, high-quality MCP servers.
189
+
190
+ ```typescript
191
+ import { MCPClient } from "@mastra/mcp";
192
+
193
+ const mcp = new MCPClient({
194
+ servers: {
195
+ salesforce: {
196
+ url: new URL("https://salesforce-mcp-server.klavis.ai/mcp/?instance_id={private-instance-id}"),
197
+ },
198
+ hubspot: {
199
+ url: new URL("https://hubspot-mcp-server.klavis.ai/mcp/?instance_id={private-instance-id}"),
200
+ },
201
+ },
202
+ });
203
+ ```
204
+
205
+ Klavis AI offers enterprise-grade authentication and security for production deployments.
206
+
207
+ For more details on how to integrate Mastra with Klavis, check out their [documentation](https://docs.klavis.ai/documentation/ai-platform-integration/mastra).
208
+
209
+ </TabItem>
210
+ <TabItem value="mcp-run" label="mcp.run">
211
+ [mcp.run](https://www.mcp.run/) provides pre-authenticated, managed MCP servers. Tools are grouped into Profiles, each with a unique, signed URL.
212
+
213
+ ```typescript
214
+ import { MCPClient } from "@mastra/mcp";
215
+
216
+ const mcp = new MCPClient({
217
+ servers: {
218
+ marketing: { // Example profile name
219
+ url: new URL(process.env.MCP_RUN_SSE_URL!), // Get URL from mcp.run profile
220
+ },
221
+ },
222
+ });
223
+ ```
224
+
225
+ > **Important:** Treat the mcp.run SSE URL like a password. Store it securely, for example, in an environment variable.
226
+ > ```bash title=".env"
227
+ > MCP_RUN_SSE_URL=https://www.mcp.run/api/mcp/sse?nonce=...
228
+ > ```
229
+
230
+ </TabItem>
231
+ <TabItem value="composio" label="Composio.dev">
232
+ [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.
233
+
234
+ ```typescript
235
+ import { MCPClient } from "@mastra/mcp";
236
+
237
+ const mcp = new MCPClient({
238
+ servers: {
239
+ googleSheets: {
240
+ url: new URL("https://mcp.composio.dev/googlesheets/[private-url-path]"),
241
+ },
242
+ gmail: {
243
+ url: new URL("https://mcp.composio.dev/gmail/[private-url-path]"),
244
+ },
245
+ },
246
+ });
247
+ ```
248
+
249
+ Authentication with services like Google Sheets often happens interactively through the agent conversation.
250
+
251
+ *Note: Composio URLs are typically tied to a single user account, making them best suited for personal automation rather than multi-tenant applications.*
252
+
253
+ </TabItem>
254
+ <TabItem value="smithery" label="Smithery.ai">
255
+ [Smithery.ai](https://smithery.ai) provides a registry accessible via their CLI.
256
+
257
+ ```typescript
258
+ // Unix/Mac
259
+ import { MCPClient } from "@mastra/mcp";
260
+
261
+ const mcp = new MCPClient({
262
+ servers: {
263
+ sequentialThinking: {
264
+ command: "npx",
265
+ args: [
266
+ "-y",
267
+ "@smithery/cli@latest",
268
+ "run",
269
+ "@smithery-ai/server-sequential-thinking",
270
+ "--config",
271
+ "{}",
272
+ ],
273
+ },
274
+ },
275
+ });
276
+ ```
277
+
278
+ ```typescript
279
+ // Windows
280
+ import { MCPClient } from "@mastra/mcp";
281
+
282
+ const mcp = new MCPClient({
283
+ servers: {
284
+ sequentialThinking: {
285
+ command: "npx",
286
+ args: [
287
+ "-y",
288
+ "@smithery/cli@latest",
289
+ "run",
290
+ "@smithery-ai/server-sequential-thinking",
291
+ "--config",
292
+ "{}",
293
+ ],
294
+ },
295
+ },
296
+ });
297
+ ```
298
+
299
+ </TabItem>
300
+ <TabItem value="ampersand" label="Ampersand">
301
+
302
+ [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.
303
+
304
+ ```typescript
305
+ // MCPClient with Ampersand MCP Server using SSE
306
+ export const mcp = new MCPClient({
307
+ servers: {
308
+ "@amp-labs/mcp-server": {
309
+ url: `https://mcp.withampersand.com/v1/sse?${new URLSearchParams({
310
+ apiKey: process.env.AMPERSAND_API_KEY,
311
+ project: process.env.AMPERSAND_PROJECT_ID,
312
+ integrationName: process.env.AMPERSAND_INTEGRATION_NAME,
313
+ groupRef: process.env.AMPERSAND_GROUP_REF,
314
+ })}`,
315
+ },
316
+ },
317
+ });
318
+ ```
319
+
320
+ ```typescript
321
+ // If you prefer to run the MCP server locally:
322
+ import { MCPClient } from "@mastra/mcp";
323
+
324
+ // MCPClient with Ampersand MCP Server using stdio transport
325
+ export const mcp = new MCPClient({
326
+ servers: {
327
+ "@amp-labs/mcp-server": {
328
+ command: "npx",
329
+ args: [
330
+ "-y",
331
+ "@amp-labs/mcp-server@latest",
332
+ "--transport",
333
+ "stdio",
334
+ "--project",
335
+ process.env.AMPERSAND_PROJECT_ID,
336
+ "--integrationName",
337
+ process.env.AMPERSAND_INTEGRATION_NAME,
338
+ "--groupRef",
339
+ process.env.AMPERSAND_GROUP_REF, // optional
340
+ ],
341
+ env: {
342
+ AMPERSAND_API_KEY: process.env.AMPERSAND_API_KEY,
343
+ },
344
+ },
345
+ },
346
+ });
347
+ ```
348
+
349
+ 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.
350
+
351
+ </TabItem>
352
+ </Tabs>
353
+
354
+ ## Related
355
+
356
+ - [Using Tools](/docs/v1/agents/using-tools)
357
+ - [MCPClient](/reference/v1/tools/mcp-client)
358
+ - [MCPServer](/reference/v1/tools/mcp-server)