@mastra/mcp-docs-server 1.0.0-beta.1 → 1.0.0-beta.11

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 (491) 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 +276 -76
  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 +200 -0
  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 +392 -192
  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 +263 -63
  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 +154 -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 +274 -74
  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 +1 -1
  95. package/.docs/raw/agents/guardrails.mdx +70 -30
  96. package/.docs/raw/agents/networks.mdx +3 -3
  97. package/.docs/raw/agents/overview.mdx +18 -167
  98. package/.docs/raw/agents/processors.mdx +430 -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 +1 -1
  102. package/.docs/raw/auth/clerk.mdx +1 -1
  103. package/.docs/raw/auth/firebase.mdx +1 -1
  104. package/.docs/raw/auth/index.mdx +1 -1
  105. package/.docs/raw/auth/jwt.mdx +1 -1
  106. package/.docs/raw/auth/supabase.mdx +1 -1
  107. package/.docs/raw/auth/workos.mdx +1 -1
  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/05-running-playground.md +5 -5
  112. package/.docs/raw/course/01-first-agent/09-testing-your-agent.md +3 -3
  113. package/.docs/raw/course/01-first-agent/13-testing-your-tool.md +3 -3
  114. package/.docs/raw/course/01-first-agent/17-testing-memory.md +2 -2
  115. package/.docs/raw/course/04-workflows/07-using-playground.md +1 -1
  116. package/.docs/raw/deployment/{server-deployment.mdx → building-mastra.mdx} +4 -4
  117. package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +2 -2
  118. package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +3 -3
  119. package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +2 -2
  120. package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/cloudflare-deployer.mdx +1 -1
  121. package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +2 -2
  122. package/.docs/raw/deployment/cloud-providers/index.mdx +26 -29
  123. package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/netlify-deployer.mdx +45 -14
  124. package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/vercel-deployer.mdx +1 -1
  125. package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/dashboard.mdx +3 -3
  126. package/.docs/raw/deployment/mastra-cloud/observability.mdx +53 -0
  127. package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/overview.mdx +3 -3
  128. package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/setting-up.mdx +4 -4
  129. package/.docs/raw/deployment/monorepo.mdx +3 -3
  130. package/.docs/raw/deployment/overview.mdx +7 -7
  131. package/.docs/raw/deployment/web-framework.mdx +6 -6
  132. package/.docs/raw/evals/{off-the-shelf-scorers.mdx → built-in-scorers.mdx} +17 -15
  133. package/.docs/raw/evals/custom-scorers.mdx +4 -6
  134. package/.docs/raw/evals/overview.mdx +5 -6
  135. package/.docs/raw/evals/running-in-ci.mdx +2 -4
  136. package/.docs/raw/getting-started/{installation.mdx → manual-install.mdx} +6 -80
  137. package/.docs/raw/getting-started/mcp-docs-server.mdx +63 -6
  138. package/.docs/raw/getting-started/project-structure.mdx +2 -2
  139. package/.docs/raw/getting-started/start.mdx +72 -0
  140. package/.docs/raw/getting-started/studio.mdx +32 -7
  141. package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +147 -0
  142. package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +627 -0
  143. package/.docs/raw/{frameworks/agentic-uis → guides/build-your-ui}/assistant-ui.mdx +71 -19
  144. package/.docs/raw/guides/build-your-ui/copilotkit.mdx +206 -0
  145. package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/astro.mdx +24 -26
  146. package/.docs/raw/{frameworks/servers → guides/getting-started}/express.mdx +4 -5
  147. package/.docs/raw/guides/{quickstarts/nextjs.mdx → getting-started/next-js.mdx} +26 -25
  148. package/.docs/raw/guides/getting-started/quickstart.mdx +97 -0
  149. package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/sveltekit.mdx +24 -26
  150. package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/vite-react.mdx +7 -7
  151. package/.docs/raw/guides/guide/ai-recruiter.mdx +2 -3
  152. package/.docs/raw/guides/guide/chef-michel.mdx +2 -3
  153. package/.docs/raw/guides/guide/notes-mcp-server.mdx +2 -2
  154. package/.docs/raw/guides/guide/research-assistant.mdx +7 -8
  155. package/.docs/raw/guides/guide/stock-agent.mdx +4 -6
  156. package/.docs/raw/guides/guide/web-search.mdx +12 -10
  157. package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +421 -0
  158. package/.docs/raw/guides/index.mdx +3 -35
  159. package/.docs/raw/guides/migrations/agentnetwork.mdx +4 -4
  160. package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +119 -0
  161. package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +121 -1
  162. package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +42 -2
  163. package/.docs/raw/guides/migrations/upgrade-to-v1/evals.mdx +31 -1
  164. package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +27 -3
  165. package/.docs/raw/guides/migrations/upgrade-to-v1/mcp.mdx +1 -1
  166. package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +28 -0
  167. package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +25 -3
  168. package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +80 -0
  169. package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +68 -3
  170. package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +25 -1
  171. package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +174 -1
  172. package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +2 -2
  173. package/.docs/raw/index.mdx +3 -3
  174. package/.docs/raw/mcp/overview.mdx +358 -0
  175. package/.docs/raw/mcp/publishing-mcp-server.mdx +139 -0
  176. package/.docs/raw/memory/conversation-history.mdx +1 -1
  177. package/.docs/raw/memory/memory-processors.mdx +265 -80
  178. package/.docs/raw/memory/overview.mdx +2 -2
  179. package/.docs/raw/memory/semantic-recall.mdx +9 -9
  180. package/.docs/raw/memory/storage/memory-with-libsql.mdx +3 -8
  181. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +150 -0
  182. package/.docs/raw/memory/storage/memory-with-pg.mdx +3 -8
  183. package/.docs/raw/memory/storage/memory-with-upstash.mdx +3 -8
  184. package/.docs/raw/memory/threads-and-resources.mdx +4 -4
  185. package/.docs/raw/memory/working-memory.mdx +16 -8
  186. package/.docs/raw/{logging.mdx → observability/logging.mdx} +7 -7
  187. package/.docs/raw/observability/overview.mdx +3 -4
  188. package/.docs/raw/observability/tracing/bridges/otel.mdx +200 -0
  189. package/.docs/raw/observability/tracing/exporters/arize.mdx +37 -1
  190. package/.docs/raw/observability/tracing/exporters/braintrust.mdx +20 -1
  191. package/.docs/raw/observability/tracing/exporters/cloud.mdx +2 -2
  192. package/.docs/raw/observability/tracing/exporters/default.mdx +1 -1
  193. package/.docs/raw/observability/tracing/exporters/langfuse.mdx +84 -1
  194. package/.docs/raw/observability/tracing/exporters/langsmith.mdx +13 -1
  195. package/.docs/raw/observability/tracing/exporters/otel.mdx +123 -25
  196. package/.docs/raw/observability/tracing/exporters/posthog.mdx +127 -0
  197. package/.docs/raw/observability/tracing/overview.mdx +80 -9
  198. package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +1 -2
  199. package/.docs/raw/rag/chunking-and-embedding.mdx +16 -17
  200. package/.docs/raw/rag/overview.mdx +4 -3
  201. package/.docs/raw/rag/retrieval.mdx +44 -39
  202. package/.docs/raw/rag/vector-databases.mdx +94 -3
  203. package/.docs/raw/reference/agents/agent.mdx +19 -16
  204. package/.docs/raw/reference/agents/generate.mdx +67 -99
  205. package/.docs/raw/reference/agents/generateLegacy.mdx +3 -3
  206. package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +1 -1
  207. package/.docs/raw/reference/agents/getDefaultOptions.mdx +1 -1
  208. package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +1 -1
  209. package/.docs/raw/reference/agents/getDescription.mdx +1 -1
  210. package/.docs/raw/reference/agents/getInstructions.mdx +1 -1
  211. package/.docs/raw/reference/agents/getLLM.mdx +2 -2
  212. package/.docs/raw/reference/agents/getMemory.mdx +1 -1
  213. package/.docs/raw/reference/agents/getModel.mdx +1 -1
  214. package/.docs/raw/reference/agents/getTools.mdx +69 -0
  215. package/.docs/raw/reference/agents/getVoice.mdx +1 -1
  216. package/.docs/raw/reference/agents/listAgents.mdx +1 -1
  217. package/.docs/raw/reference/agents/listScorers.mdx +1 -1
  218. package/.docs/raw/reference/agents/listTools.mdx +2 -2
  219. package/.docs/raw/reference/agents/listWorkflows.mdx +1 -1
  220. package/.docs/raw/reference/agents/network.mdx +33 -72
  221. package/.docs/raw/reference/ai-sdk/chat-route.mdx +127 -0
  222. package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +117 -0
  223. package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +64 -0
  224. package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +116 -0
  225. package/.docs/raw/reference/ai-sdk/network-route.mdx +99 -0
  226. package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +289 -0
  227. package/.docs/raw/reference/ai-sdk/with-mastra.mdx +119 -0
  228. package/.docs/raw/reference/ai-sdk/workflow-route.mdx +110 -0
  229. package/.docs/raw/reference/auth/auth0.mdx +1 -1
  230. package/.docs/raw/reference/auth/clerk.mdx +1 -1
  231. package/.docs/raw/reference/auth/firebase.mdx +1 -1
  232. package/.docs/raw/reference/auth/jwt.mdx +1 -1
  233. package/.docs/raw/reference/auth/supabase.mdx +1 -1
  234. package/.docs/raw/reference/auth/workos.mdx +1 -1
  235. package/.docs/raw/reference/cli/create-mastra.mdx +1 -1
  236. package/.docs/raw/reference/cli/mastra.mdx +19 -6
  237. package/.docs/raw/reference/client-js/agents.mdx +252 -68
  238. package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
  239. package/.docs/raw/reference/client-js/logs.mdx +1 -1
  240. package/.docs/raw/reference/client-js/mastra-client.mdx +4 -4
  241. package/.docs/raw/reference/client-js/memory.mdx +48 -2
  242. package/.docs/raw/reference/client-js/observability.mdx +1 -1
  243. package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
  244. package/.docs/raw/reference/client-js/tools.mdx +1 -1
  245. package/.docs/raw/reference/client-js/vectors.mdx +1 -1
  246. package/.docs/raw/reference/client-js/workflows.mdx +93 -64
  247. package/.docs/raw/reference/core/addGateway.mdx +59 -0
  248. package/.docs/raw/reference/core/getAgent.mdx +1 -1
  249. package/.docs/raw/reference/core/getAgentById.mdx +1 -1
  250. package/.docs/raw/reference/core/getDeployer.mdx +1 -1
  251. package/.docs/raw/reference/core/getGateway.mdx +59 -0
  252. package/.docs/raw/reference/core/getGatewayById.mdx +62 -0
  253. package/.docs/raw/reference/core/getLogger.mdx +2 -2
  254. package/.docs/raw/reference/core/getMCPServer.mdx +2 -2
  255. package/.docs/raw/reference/core/getMCPServerById.mdx +2 -2
  256. package/.docs/raw/reference/core/getMemory.mdx +73 -0
  257. package/.docs/raw/reference/core/getScorer.mdx +1 -1
  258. package/.docs/raw/reference/core/getScorerById.mdx +1 -1
  259. package/.docs/raw/reference/core/getServer.mdx +3 -3
  260. package/.docs/raw/reference/core/getStorage.mdx +1 -1
  261. package/.docs/raw/reference/core/getStoredAgentById.mdx +183 -0
  262. package/.docs/raw/reference/core/getTelemetry.mdx +1 -1
  263. package/.docs/raw/reference/core/getVector.mdx +1 -1
  264. package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
  265. package/.docs/raw/reference/core/listAgents.mdx +1 -1
  266. package/.docs/raw/reference/core/listGateways.mdx +53 -0
  267. package/.docs/raw/reference/core/listLogs.mdx +2 -2
  268. package/.docs/raw/reference/core/listLogsByRunId.mdx +2 -2
  269. package/.docs/raw/reference/core/listMCPServers.mdx +2 -2
  270. package/.docs/raw/reference/core/listMemory.mdx +70 -0
  271. package/.docs/raw/reference/core/listScorers.mdx +1 -1
  272. package/.docs/raw/reference/core/listStoredAgents.mdx +151 -0
  273. package/.docs/raw/reference/core/listVectors.mdx +1 -1
  274. package/.docs/raw/reference/core/listWorkflows.mdx +1 -1
  275. package/.docs/raw/reference/core/mastra-class.mdx +17 -1
  276. package/.docs/raw/reference/core/mastra-model-gateway.mdx +227 -0
  277. package/.docs/raw/reference/core/setLogger.mdx +2 -2
  278. package/.docs/raw/reference/core/setStorage.mdx +1 -1
  279. package/.docs/raw/reference/core/setTelemetry.mdx +2 -2
  280. package/.docs/raw/reference/deployer/cloudflare.mdx +1 -1
  281. package/.docs/raw/reference/deployer/deployer.mdx +1 -1
  282. package/.docs/raw/reference/deployer/netlify.mdx +2 -3
  283. package/.docs/raw/reference/deployer/vercel.mdx +1 -1
  284. package/.docs/raw/reference/evals/answer-relevancy.mdx +29 -99
  285. package/.docs/raw/reference/evals/answer-similarity.mdx +13 -259
  286. package/.docs/raw/reference/evals/bias.mdx +30 -88
  287. package/.docs/raw/reference/evals/completeness.mdx +32 -91
  288. package/.docs/raw/reference/evals/content-similarity.mdx +29 -89
  289. package/.docs/raw/reference/evals/context-precision.mdx +29 -131
  290. package/.docs/raw/reference/evals/context-relevance.mdx +12 -12
  291. package/.docs/raw/reference/evals/create-scorer.mdx +1 -1
  292. package/.docs/raw/reference/evals/faithfulness.mdx +29 -102
  293. package/.docs/raw/reference/evals/hallucination.mdx +29 -104
  294. package/.docs/raw/reference/evals/keyword-coverage.mdx +29 -108
  295. package/.docs/raw/reference/evals/mastra-scorer.mdx +1 -1
  296. package/.docs/raw/reference/evals/noise-sensitivity.mdx +12 -12
  297. package/.docs/raw/reference/evals/prompt-alignment.mdx +16 -16
  298. package/.docs/raw/reference/evals/run-evals.mdx +1 -1
  299. package/.docs/raw/reference/evals/scorer-utils.mdx +362 -0
  300. package/.docs/raw/reference/evals/textual-difference.mdx +28 -101
  301. package/.docs/raw/reference/evals/tone-consistency.mdx +26 -99
  302. package/.docs/raw/reference/evals/tool-call-accuracy.mdx +8 -8
  303. package/.docs/raw/reference/evals/toxicity.mdx +30 -93
  304. package/.docs/raw/reference/index.mdx +1 -0
  305. package/.docs/raw/reference/logging/pino-logger.mdx +2 -2
  306. package/.docs/raw/reference/memory/createThread.mdx +1 -1
  307. package/.docs/raw/reference/memory/deleteMessages.mdx +1 -1
  308. package/.docs/raw/reference/memory/getThreadById.mdx +1 -1
  309. package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +1 -1
  310. package/.docs/raw/reference/memory/memory-class.mdx +6 -8
  311. package/.docs/raw/reference/memory/query.mdx +1 -1
  312. package/.docs/raw/reference/memory/recall.mdx +1 -1
  313. package/.docs/raw/reference/observability/tracing/bridges/otel.mdx +177 -0
  314. package/.docs/raw/reference/observability/tracing/configuration.mdx +1 -5
  315. package/.docs/raw/reference/observability/tracing/exporters/arize.mdx +30 -1
  316. package/.docs/raw/reference/observability/tracing/exporters/braintrust.mdx +1 -1
  317. package/.docs/raw/reference/observability/tracing/exporters/cloud-exporter.mdx +1 -1
  318. package/.docs/raw/reference/observability/tracing/exporters/console-exporter.mdx +1 -1
  319. package/.docs/raw/reference/observability/tracing/exporters/default-exporter.mdx +1 -1
  320. package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +44 -1
  321. package/.docs/raw/reference/observability/tracing/exporters/langsmith.mdx +18 -2
  322. package/.docs/raw/reference/observability/tracing/exporters/otel.mdx +34 -44
  323. package/.docs/raw/reference/observability/tracing/exporters/posthog.mdx +132 -0
  324. package/.docs/raw/reference/observability/tracing/instances.mdx +1 -5
  325. package/.docs/raw/reference/observability/tracing/interfaces.mdx +30 -5
  326. package/.docs/raw/reference/observability/tracing/processors/sensitive-data-filter.mdx +1 -1
  327. package/.docs/raw/reference/observability/tracing/spans.mdx +1 -5
  328. package/.docs/raw/reference/processors/batch-parts-processor.mdx +2 -2
  329. package/.docs/raw/reference/processors/language-detector.mdx +11 -4
  330. package/.docs/raw/reference/processors/message-history-processor.mdx +131 -0
  331. package/.docs/raw/reference/processors/moderation-processor.mdx +13 -6
  332. package/.docs/raw/reference/processors/pii-detector.mdx +13 -6
  333. package/.docs/raw/reference/processors/processor-interface.mdx +803 -0
  334. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +11 -4
  335. package/.docs/raw/reference/processors/semantic-recall-processor.mdx +197 -0
  336. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +4 -5
  337. package/.docs/raw/reference/processors/token-limiter-processor.mdx +3 -3
  338. package/.docs/raw/reference/processors/tool-call-filter.mdx +125 -0
  339. package/.docs/raw/reference/processors/unicode-normalizer.mdx +2 -2
  340. package/.docs/raw/reference/processors/working-memory-processor.mdx +221 -0
  341. package/.docs/raw/reference/rag/chunk.mdx +1 -1
  342. package/.docs/raw/reference/rag/database-config.mdx +1 -1
  343. package/.docs/raw/reference/rag/document.mdx +1 -1
  344. package/.docs/raw/reference/rag/embeddings.mdx +6 -6
  345. package/.docs/raw/reference/rag/extract-params.mdx +1 -1
  346. package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
  347. package/.docs/raw/reference/rag/metadata-filters.mdx +1 -1
  348. package/.docs/raw/reference/rag/rerank.mdx +2 -3
  349. package/.docs/raw/reference/rag/rerankWithScorer.mdx +1 -2
  350. package/.docs/raw/reference/server/create-route.mdx +328 -0
  351. package/.docs/raw/reference/server/express-adapter.mdx +260 -0
  352. package/.docs/raw/reference/server/hono-adapter.mdx +242 -0
  353. package/.docs/raw/reference/server/mastra-server.mdx +345 -0
  354. package/.docs/raw/reference/server/routes.mdx +250 -0
  355. package/.docs/raw/reference/storage/cloudflare-d1.mdx +38 -1
  356. package/.docs/raw/reference/storage/cloudflare.mdx +1 -1
  357. package/.docs/raw/reference/storage/convex.mdx +164 -0
  358. package/.docs/raw/reference/storage/dynamodb.mdx +1 -1
  359. package/.docs/raw/reference/storage/lance.mdx +34 -1
  360. package/.docs/raw/reference/storage/libsql.mdx +38 -1
  361. package/.docs/raw/reference/storage/mongodb.mdx +40 -1
  362. package/.docs/raw/reference/storage/mssql.mdx +38 -1
  363. package/.docs/raw/reference/storage/postgresql.mdx +38 -1
  364. package/.docs/raw/reference/storage/upstash.mdx +1 -1
  365. package/.docs/raw/reference/streaming/ChunkType.mdx +25 -4
  366. package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +1 -1
  367. package/.docs/raw/reference/streaming/agents/stream.mdx +84 -124
  368. package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +1 -1
  369. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +8 -10
  370. package/.docs/raw/reference/streaming/workflows/{resumeStreamVNext.mdx → resumeStream.mdx} +51 -11
  371. package/.docs/raw/reference/streaming/workflows/stream.mdx +84 -25
  372. package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +170 -0
  373. package/.docs/raw/reference/templates/overview.mdx +2 -5
  374. package/.docs/raw/reference/tools/client.mdx +2 -3
  375. package/.docs/raw/reference/tools/create-tool.mdx +135 -4
  376. package/.docs/raw/reference/tools/document-chunker-tool.mdx +1 -1
  377. package/.docs/raw/reference/tools/graph-rag-tool.mdx +7 -7
  378. package/.docs/raw/reference/tools/mcp-client.mdx +131 -23
  379. package/.docs/raw/reference/tools/mcp-server.mdx +56 -8
  380. package/.docs/raw/reference/tools/vector-query-tool.mdx +16 -17
  381. package/.docs/raw/reference/vectors/astra.mdx +1 -1
  382. package/.docs/raw/reference/vectors/chroma.mdx +82 -2
  383. package/.docs/raw/reference/vectors/convex.mdx +429 -0
  384. package/.docs/raw/reference/vectors/couchbase.mdx +25 -18
  385. package/.docs/raw/reference/vectors/duckdb.mdx +462 -0
  386. package/.docs/raw/reference/vectors/elasticsearch.mdx +310 -0
  387. package/.docs/raw/reference/vectors/lance.mdx +39 -23
  388. package/.docs/raw/reference/vectors/libsql.mdx +36 -3
  389. package/.docs/raw/reference/vectors/mongodb.mdx +36 -3
  390. package/.docs/raw/reference/vectors/opensearch.mdx +38 -17
  391. package/.docs/raw/reference/vectors/pg.mdx +44 -37
  392. package/.docs/raw/reference/vectors/pinecone.mdx +70 -3
  393. package/.docs/raw/reference/vectors/qdrant.mdx +37 -2
  394. package/.docs/raw/reference/vectors/s3vectors.mdx +1 -1
  395. package/.docs/raw/reference/vectors/turbopuffer.mdx +75 -1
  396. package/.docs/raw/reference/vectors/upstash.mdx +1 -1
  397. package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
  398. package/.docs/raw/reference/voice/azure.mdx +96 -81
  399. package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
  400. package/.docs/raw/reference/voice/composite-voice.mdx +72 -29
  401. package/.docs/raw/reference/voice/deepgram.mdx +1 -1
  402. package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
  403. package/.docs/raw/reference/voice/google-gemini-live.mdx +1 -1
  404. package/.docs/raw/reference/voice/google.mdx +160 -21
  405. package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
  406. package/.docs/raw/reference/voice/murf.mdx +1 -1
  407. package/.docs/raw/reference/voice/openai-realtime.mdx +3 -3
  408. package/.docs/raw/reference/voice/openai.mdx +1 -1
  409. package/.docs/raw/reference/voice/playai.mdx +1 -1
  410. package/.docs/raw/reference/voice/sarvam.mdx +1 -1
  411. package/.docs/raw/reference/voice/speechify.mdx +1 -1
  412. package/.docs/raw/reference/voice/voice.addInstructions.mdx +3 -4
  413. package/.docs/raw/reference/voice/voice.addTools.mdx +2 -2
  414. package/.docs/raw/reference/voice/voice.answer.mdx +2 -2
  415. package/.docs/raw/reference/voice/voice.close.mdx +2 -2
  416. package/.docs/raw/reference/voice/voice.connect.mdx +2 -2
  417. package/.docs/raw/reference/voice/voice.events.mdx +1 -1
  418. package/.docs/raw/reference/voice/voice.getSpeakers.mdx +1 -1
  419. package/.docs/raw/reference/voice/voice.listen.mdx +87 -53
  420. package/.docs/raw/reference/voice/voice.off.mdx +2 -2
  421. package/.docs/raw/reference/voice/voice.on.mdx +2 -2
  422. package/.docs/raw/reference/voice/voice.send.mdx +2 -2
  423. package/.docs/raw/reference/voice/voice.speak.mdx +76 -41
  424. package/.docs/raw/reference/voice/voice.updateConfig.mdx +2 -2
  425. package/.docs/raw/reference/workflows/run-methods/cancel.mdx +1 -1
  426. package/.docs/raw/reference/workflows/run-methods/restart.mdx +142 -0
  427. package/.docs/raw/reference/workflows/run-methods/resume.mdx +45 -1
  428. package/.docs/raw/reference/workflows/run-methods/start.mdx +48 -4
  429. package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +310 -0
  430. package/.docs/raw/reference/workflows/run.mdx +28 -6
  431. package/.docs/raw/reference/workflows/step.mdx +65 -1
  432. package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +1 -1
  433. package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
  434. package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +1 -1
  435. package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +1 -1
  436. package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +1 -1
  437. package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +69 -4
  438. package/.docs/raw/reference/workflows/workflow-methods/map.mdx +1 -1
  439. package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
  440. package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +1 -1
  441. package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +1 -1
  442. package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +1 -1
  443. package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
  444. package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +1 -1
  445. package/.docs/raw/reference/workflows/workflow.mdx +44 -2
  446. package/.docs/raw/server-db/custom-adapters.mdx +386 -0
  447. package/.docs/raw/server-db/custom-api-routes.mdx +6 -6
  448. package/.docs/raw/server-db/mastra-client.mdx +3 -4
  449. package/.docs/raw/server-db/{production-server.mdx → mastra-server.mdx} +22 -12
  450. package/.docs/raw/server-db/middleware.mdx +31 -31
  451. package/.docs/raw/server-db/request-context.mdx +3 -4
  452. package/.docs/raw/server-db/server-adapters.mdx +312 -0
  453. package/.docs/raw/server-db/storage.mdx +12 -1
  454. package/.docs/raw/streaming/events.mdx +1 -1
  455. package/.docs/raw/streaming/overview.mdx +27 -16
  456. package/.docs/raw/streaming/tool-streaming.mdx +58 -19
  457. package/.docs/raw/streaming/workflow-streaming.mdx +6 -12
  458. package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -3
  459. package/.docs/raw/tools-mcp/mcp-overview.mdx +4 -6
  460. package/.docs/raw/tools-mcp/overview.mdx +1 -1
  461. package/.docs/raw/voice/overview.mdx +88 -41
  462. package/.docs/raw/voice/speech-to-speech.mdx +5 -5
  463. package/.docs/raw/voice/speech-to-text.mdx +2 -3
  464. package/.docs/raw/voice/text-to-speech.mdx +2 -3
  465. package/.docs/raw/workflows/agents-and-tools.mdx +43 -5
  466. package/.docs/raw/workflows/control-flow.mdx +534 -3
  467. package/.docs/raw/workflows/error-handling.mdx +5 -4
  468. package/.docs/raw/workflows/human-in-the-loop.mdx +160 -213
  469. package/.docs/raw/workflows/inngest-workflow.mdx +1 -1
  470. package/.docs/raw/workflows/input-data-mapping.mdx +1 -1
  471. package/.docs/raw/workflows/overview.mdx +67 -47
  472. package/.docs/raw/workflows/snapshots.mdx +5 -3
  473. package/.docs/raw/workflows/suspend-and-resume.mdx +121 -204
  474. package/.docs/raw/workflows/time-travel.mdx +313 -0
  475. package/.docs/raw/workflows/workflow-state.mdx +190 -0
  476. package/CHANGELOG.md +88 -0
  477. package/dist/{chunk-5NJC7NRO.js → chunk-4CM2BQNP.js} +24 -4
  478. package/dist/prepare-docs/package-changes.d.ts.map +1 -1
  479. package/dist/prepare-docs/prepare.js +1 -1
  480. package/dist/stdio.js +17 -19
  481. package/package.json +10 -14
  482. package/.docs/raw/deployment/serverless-platforms/index.mdx +0 -58
  483. package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +0 -688
  484. package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +0 -123
  485. package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +0 -382
  486. package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +0 -179
  487. package/.docs/raw/frameworks/web-frameworks/next-js.mdx +0 -379
  488. package/.docs/raw/getting-started/templates.mdx +0 -73
  489. package/.docs/raw/mastra-cloud/observability.mdx +0 -51
  490. package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +0 -47
  491. package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +0 -153
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Reference: Embed | RAG | Mastra Docs"
2
+ title: "Reference: Embed | RAG"
3
3
  description: Documentation for embedding functionality in Mastra using the AI SDK.
4
4
  ---
5
5
 
@@ -13,9 +13,10 @@ The `embed` function generates a vector embedding for a single text input:
13
13
 
14
14
  ```typescript
15
15
  import { embed } from "ai";
16
+ import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
16
17
 
17
18
  const result = await embed({
18
- model: openai.embedding("text-embedding-3-small"),
19
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
19
20
  value: "Your text to embed",
20
21
  maxRetries: 2, // optional, defaults to 2
21
22
  });
@@ -80,7 +81,7 @@ For embedding multiple texts at once, use the `embedMany` function:
80
81
  import { embedMany } from "ai";
81
82
 
82
83
  const result = await embedMany({
83
- model: openai.embedding("text-embedding-3-small"),
84
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
84
85
  values: ["First text", "Second text", "Third text"],
85
86
  maxRetries: 2, // optional, defaults to 2
86
87
  });
@@ -142,17 +143,16 @@ const result = await embedMany({
142
143
 
143
144
  ```typescript
144
145
  import { embed, embedMany } from "ai";
145
- import { openai } from "@ai-sdk/openai";
146
146
 
147
147
  // Single embedding
148
148
  const singleResult = await embed({
149
- model: openai.embedding("text-embedding-3-small"),
149
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
150
150
  value: "What is the meaning of life?",
151
151
  });
152
152
 
153
153
  // Multiple embeddings
154
154
  const multipleResult = await embedMany({
155
- model: openai.embedding("text-embedding-3-small"),
155
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
156
156
  values: [
157
157
  "First question about life",
158
158
  "Second question about universe",
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Reference: ExtractParams | RAG | Mastra Docs"
2
+ title: "Reference: ExtractParams | RAG"
3
3
  description: Documentation for metadata extraction configuration in Mastra.
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Reference: GraphRAG | RAG | Mastra Docs"
2
+ title: "Reference: GraphRAG | RAG"
3
3
  description: Documentation for the GraphRAG class in Mastra, which implements a graph-based approach to retrieval augmented generation.
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Reference: Metadata Filters | RAG | Mastra Docs"
2
+ title: "Reference: Metadata Filters | RAG"
3
3
  description: Documentation for metadata filtering capabilities in Mastra, which allow for precise querying of vector search results across different vector stores.
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Reference: rerank() | RAG | Mastra Docs"
2
+ title: "Reference: rerank() | RAG"
3
3
  description: Documentation for the rerank function in Mastra, which provides advanced reranking capabilities for vector search results.
4
4
  ---
5
5
 
@@ -19,10 +19,9 @@ function rerank(
19
19
  ## Usage Example
20
20
 
21
21
  ```typescript
22
- import { openai } from "@ai-sdk/openai";
23
22
  import { rerank } from "@mastra/rag";
24
23
 
25
- const model = openai("gpt-4o-mini");
24
+ const model = "openai/gpt-5.1";
26
25
 
27
26
  const rerankedResults = await rerank(
28
27
  vectorSearchResults,
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Reference: rerankWithScorer() | RAG | Mastra Docs"
2
+ title: "Reference: rerankWithScorer() | RAG"
3
3
  description: Documentation for the rerank function in Mastra, which provides advanced reranking capabilities for vector search results.
4
4
  ---
5
5
 
@@ -19,7 +19,6 @@ function rerankWithScorer({
19
19
  ## Usage Example
20
20
 
21
21
  ```typescript
22
- import { openai } from "@ai-sdk/openai";
23
22
  import { rerankWithScorer as rerank, CohereRelevanceScorer } from "@mastra/rag";
24
23
 
25
24
  const scorer = new CohereRelevanceScorer("rerank-v3.5");
@@ -0,0 +1,328 @@
1
+ ---
2
+ title: "Reference: createRoute() | Server"
3
+ description: "API reference for createRoute() function used to define type-safe routes with validation and OpenAPI generation."
4
+ ---
5
+
6
+ import PropertiesTable from "@site/src/components/PropertiesTable";
7
+
8
+ # createRoute()
9
+
10
+ The `createRoute()` function creates type-safe routes with Zod validation. When an `openapiPath` is configured on the server adapter, it generates OpenAPI schema entries from the supplied Zod schemas.
11
+
12
+ ## Import
13
+
14
+ ```typescript copy
15
+ import { createRoute } from '@mastra/server/server-adapter';
16
+ ```
17
+
18
+ ## Signature
19
+
20
+ ```typescript copy
21
+ function createRoute<TPath, TQuery, TBody, TResponse, TResponseType>(
22
+ config: RouteConfig<TPath, TQuery, TBody, TResponse, TResponseType>
23
+ ): ServerRoute
24
+ ```
25
+
26
+ ## Parameters
27
+
28
+ <PropertiesTable
29
+ content={[
30
+ {
31
+ name: "method",
32
+ type: "'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'ALL'",
33
+ description: "HTTP method",
34
+ isOptional: false,
35
+ },
36
+ {
37
+ name: "path",
38
+ type: "string",
39
+ description: "Route path with optional params (e.g., `/api/items/:id`)",
40
+ isOptional: false,
41
+ },
42
+ {
43
+ name: "responseType",
44
+ type: "'json' | 'stream'",
45
+ description: "Response format. Internal routes may use additional types (`datastream-response`, `mcp-http`, `mcp-sse`).",
46
+ isOptional: false,
47
+ },
48
+ {
49
+ name: "handler",
50
+ type: "ServerRouteHandler",
51
+ description: "Route handler function",
52
+ isOptional: false,
53
+ },
54
+ {
55
+ name: "pathParamSchema",
56
+ type: "ZodSchema",
57
+ description: "Validates URL path parameters",
58
+ isOptional: true,
59
+ },
60
+ {
61
+ name: "queryParamSchema",
62
+ type: "ZodSchema",
63
+ description: "Validates query string parameters",
64
+ isOptional: true,
65
+ },
66
+ {
67
+ name: "bodySchema",
68
+ type: "ZodSchema",
69
+ description: "Validates request body",
70
+ isOptional: true,
71
+ },
72
+ {
73
+ name: "responseSchema",
74
+ type: "ZodSchema",
75
+ description: "Documents response shape for OpenAPI",
76
+ isOptional: true,
77
+ },
78
+ {
79
+ name: "streamFormat",
80
+ type: "'sse' | 'stream'",
81
+ description: "Stream format (when responseType is 'stream')",
82
+ isOptional: true,
83
+ },
84
+ {
85
+ name: "maxBodySize",
86
+ type: "number",
87
+ description: "Override default body size limit in bytes",
88
+ isOptional: true,
89
+ },
90
+ {
91
+ name: "summary",
92
+ type: "string",
93
+ description: "OpenAPI summary",
94
+ isOptional: true,
95
+ },
96
+ {
97
+ name: "description",
98
+ type: "string",
99
+ description: "OpenAPI description",
100
+ isOptional: true,
101
+ },
102
+ {
103
+ name: "tags",
104
+ type: "string[]",
105
+ description: "OpenAPI tags",
106
+ isOptional: true,
107
+ },
108
+ {
109
+ name: "deprecated",
110
+ type: "boolean",
111
+ description: "Mark route as deprecated",
112
+ isOptional: true,
113
+ },
114
+ ]}
115
+ />
116
+
117
+ ## Handler parameters
118
+
119
+ The handler receives validated parameters plus runtime context:
120
+
121
+ ```typescript copy showLineNumbers
122
+ handler: async (params) => {
123
+ // From schemas (typed from Zod)
124
+ params.id; // From pathParamSchema
125
+ params.filter; // From queryParamSchema
126
+ params.name; // From bodySchema
127
+
128
+ // Runtime context (always available)
129
+ params.mastra; // Mastra instance
130
+ params.requestContext; // Request-scoped context
131
+ params.tools; // Available tools
132
+ params.abortSignal; // Request cancellation signal
133
+ params.taskStore; // A2A task storage
134
+ }
135
+ ```
136
+
137
+ ## Return value
138
+
139
+ Returns a `ServerRoute` object that can be registered with an adapter.
140
+
141
+ ## Examples
142
+
143
+ ### GET route with path params
144
+
145
+ ```typescript copy showLineNumbers
146
+ import { createRoute } from '@mastra/server/server-adapter';
147
+ import { z } from 'zod';
148
+
149
+ const getAgent = createRoute({
150
+ method: 'GET',
151
+ path: '/api/agents/:agentId',
152
+ responseType: 'json',
153
+ pathParamSchema: z.object({
154
+ agentId: z.string(),
155
+ }),
156
+ responseSchema: z.object({
157
+ name: z.string(),
158
+ description: z.string().optional(),
159
+ }),
160
+ summary: 'Get agent by ID',
161
+ tags: ['Agents'],
162
+ handler: async ({ agentId, mastra }) => {
163
+ return mastra.getAgent(agentId);
164
+ },
165
+ });
166
+ ```
167
+
168
+ ### POST route with body
169
+
170
+ ```typescript copy showLineNumbers
171
+ const createItem = createRoute({
172
+ method: 'POST',
173
+ path: '/api/items',
174
+ responseType: 'json',
175
+ bodySchema: z.object({
176
+ name: z.string(),
177
+ value: z.number(),
178
+ }),
179
+ responseSchema: z.object({
180
+ id: z.string(),
181
+ name: z.string(),
182
+ value: z.number(),
183
+ }),
184
+ handler: async ({ name, value, mastra }) => {
185
+ // name and value are typed from bodySchema
186
+ return { id: 'new-id', name, value };
187
+ },
188
+ });
189
+ ```
190
+
191
+ ### Query params with coercion
192
+
193
+ ```typescript copy showLineNumbers
194
+ const listItems = createRoute({
195
+ method: 'GET',
196
+ path: '/api/items',
197
+ responseType: 'json',
198
+ queryParamSchema: z.object({
199
+ page: z.coerce.number().default(0),
200
+ limit: z.coerce.number().default(50),
201
+ enabled: z.coerce.boolean().optional(),
202
+ }),
203
+ handler: async ({ page, limit, enabled, mastra }) => {
204
+ // page, limit, enabled are typed and coerced
205
+ return { items: [], page, limit };
206
+ },
207
+ });
208
+ ```
209
+
210
+ ### Streaming route
211
+
212
+ ```typescript copy showLineNumbers
213
+ const streamAgent = createRoute({
214
+ method: 'POST',
215
+ path: '/api/agents/:agentId/stream',
216
+ responseType: 'stream',
217
+ streamFormat: 'sse',
218
+ pathParamSchema: z.object({
219
+ agentId: z.string(),
220
+ }),
221
+ bodySchema: z.object({
222
+ messages: z.array(z.any()),
223
+ }),
224
+ handler: async ({ agentId, messages, mastra, abortSignal }) => {
225
+ const agent = mastra.getAgent(agentId);
226
+ return agent.stream({ messages, abortSignal });
227
+ },
228
+ });
229
+ ```
230
+
231
+ ### Custom body size limit
232
+
233
+ ```typescript copy showLineNumbers
234
+ const uploadRoute = createRoute({
235
+ method: 'POST',
236
+ path: '/api/upload',
237
+ responseType: 'json',
238
+ maxBodySize: 50 * 1024 * 1024, // 50MB
239
+ bodySchema: z.object({
240
+ file: z.string(),
241
+ }),
242
+ handler: async ({ file }) => {
243
+ return { uploaded: true };
244
+ },
245
+ });
246
+ ```
247
+
248
+ ## Schema patterns
249
+
250
+ ### Passthrough for extensibility
251
+
252
+ ```typescript copy
253
+ const bodySchema = z.object({
254
+ required: z.string(),
255
+ }).passthrough(); // Allow unknown fields
256
+ ```
257
+
258
+ ### Date coercion
259
+
260
+ ```typescript copy
261
+ const querySchema = z.object({
262
+ fromDate: z.coerce.date().optional(),
263
+ toDate: z.coerce.date().optional(),
264
+ });
265
+ ```
266
+
267
+ ### Union types
268
+
269
+ ```typescript copy
270
+ const bodySchema = z.object({
271
+ messages: z.union([
272
+ z.array(z.any()),
273
+ z.string(),
274
+ ]),
275
+ });
276
+ ```
277
+
278
+ ## Error handling
279
+
280
+ Throw an error with a `status` property to return specific HTTP status codes from handlers. If using Hono, you can use `HTTPException` from `hono/http-exception`:
281
+
282
+ ```typescript copy showLineNumbers
283
+ import { createRoute } from '@mastra/server/server-adapter';
284
+ import { HTTPException } from 'hono/http-exception';
285
+
286
+ const getAgent = createRoute({
287
+ method: 'GET',
288
+ path: '/api/agents/:agentId',
289
+ responseType: 'json',
290
+ pathParamSchema: z.object({ agentId: z.string() }),
291
+ handler: async ({ agentId, mastra }) => {
292
+ const agent = mastra.getAgent(agentId);
293
+ if (!agent) {
294
+ throw new HTTPException(404, { message: `Agent '${agentId}' not found` });
295
+ }
296
+ return agent;
297
+ },
298
+ });
299
+ ```
300
+
301
+ For Express or framework-agnostic code, throw an error with a `status` property:
302
+
303
+ ```typescript copy showLineNumbers
304
+ class HttpError extends Error {
305
+ constructor(public status: number, message: string) {
306
+ super(message);
307
+ }
308
+ }
309
+
310
+ // In handler:
311
+ throw new HttpError(404, `Agent '${agentId}' not found`);
312
+ ```
313
+
314
+ Common status codes:
315
+
316
+ | Code | Meaning |
317
+ |------|---------|
318
+ | 400 | Bad Request |
319
+ | 401 | Unauthorized |
320
+ | 403 | Forbidden |
321
+ | 404 | Not Found |
322
+ | 500 | Internal Server Error |
323
+
324
+ ## Related
325
+
326
+ - [Server Routes](/reference/v1/server/routes) - Default Mastra routes
327
+ - [MastraServer](/reference/v1/server/mastra-server) - Server adapter class
328
+ - [Server Adapters](/docs/v1/server-db/server-adapters) - Using adapters
@@ -0,0 +1,260 @@
1
+ ---
2
+ title: "Reference: Express Adapter | Server"
3
+ description: "API reference for the @mastra/express server adapter."
4
+ ---
5
+
6
+ import Steps from "@site/src/components/Steps";
7
+ import StepItem from "@site/src/components/StepItem";
8
+ import PropertiesTable from "@site/src/components/PropertiesTable";
9
+
10
+ # Express Adapter
11
+
12
+ The `@mastra/express` package provides a server adapter for running Mastra with [Express](https://expressjs.com).
13
+
14
+ :::info
15
+
16
+ For general adapter concepts (constructor options, initialization flow, etc.), see [Server Adapters](/docs/v1/server-db/server-adapters).
17
+
18
+ :::
19
+
20
+ ## Installation
21
+
22
+ <Steps>
23
+
24
+ <StepItem>
25
+
26
+ Install the Express adapter and Express framework:
27
+
28
+ ```bash copy
29
+ npm install @mastra/express express
30
+ ```
31
+
32
+ </StepItem>
33
+
34
+ <StepItem>
35
+
36
+ Create your server file:
37
+
38
+ ```typescript title="server.ts" copy
39
+ import express from 'express';
40
+ import { MastraServer } from '@mastra/express';
41
+ import { mastra } from './mastra';
42
+
43
+ const app = express();
44
+ app.use(express.json()); // Required for body parsing
45
+
46
+ const server = new MastraServer({ app, mastra });
47
+ await server.init();
48
+
49
+ app.listen(4111, () => {
50
+ console.log('Server running on port 4111');
51
+ });
52
+ ```
53
+
54
+ </StepItem>
55
+
56
+ </Steps>
57
+
58
+ :::note
59
+
60
+ Express requires `express.json()` middleware for JSON body parsing. Add it before creating the `MastraServer`.
61
+
62
+ :::
63
+
64
+ ## Full example
65
+
66
+ ```typescript title="server.ts" copy
67
+ import express from 'express';
68
+ import { MastraServer } from '@mastra/express';
69
+ import { mastra } from './mastra';
70
+
71
+ const app = express();
72
+ app.use(express.json());
73
+
74
+ const server = new MastraServer({
75
+ app,
76
+ mastra,
77
+ prefix: '/api/v2',
78
+ openapiPath: '/openapi.json',
79
+ bodyLimitOptions: {
80
+ maxSize: 10 * 1024 * 1024, // 10MB
81
+ onError: (err) => ({ error: 'Payload too large', maxSize: '10MB' }),
82
+ },
83
+ streamOptions: { redact: true },
84
+ });
85
+
86
+ await server.init();
87
+
88
+ app.listen(4111);
89
+ ```
90
+
91
+ ## Constructor parameters
92
+
93
+ <PropertiesTable
94
+ content={[
95
+ {
96
+ name: "app",
97
+ type: "Application",
98
+ description: "Express app instance",
99
+ isOptional: false,
100
+ },
101
+ {
102
+ name: "mastra",
103
+ type: "Mastra",
104
+ description: "Mastra instance",
105
+ isOptional: false,
106
+ },
107
+ {
108
+ name: "prefix",
109
+ type: "string",
110
+ description: "Route path prefix (e.g., `/api/v2`)",
111
+ isOptional: true,
112
+ defaultValue: "''",
113
+ },
114
+ {
115
+ name: "openapiPath",
116
+ type: "string",
117
+ description: "Path to serve OpenAPI spec (e.g., `/openapi.json`)",
118
+ isOptional: true,
119
+ defaultValue: "''",
120
+ },
121
+ {
122
+ name: "bodyLimitOptions",
123
+ type: "{ maxSize: number, onError: (err) => unknown }",
124
+ description: "Request body size limits",
125
+ isOptional: true,
126
+ },
127
+ {
128
+ name: "streamOptions",
129
+ type: "{ redact?: boolean }",
130
+ description: "Stream redaction config. When true, redacts sensitive data from streams.",
131
+ isOptional: true,
132
+ defaultValue: "{ redact: true }",
133
+ },
134
+ {
135
+ name: "customRouteAuthConfig",
136
+ type: "Map<string, boolean>",
137
+ description: "Per-route auth overrides. Keys are `METHOD:PATH` (e.g., `GET:/api/health`). Value `false` makes route public, `true` requires auth.",
138
+ isOptional: true,
139
+ },
140
+ {
141
+ name: "tools",
142
+ type: "Record<string, Tool>",
143
+ description: "Available tools for the server",
144
+ isOptional: true,
145
+ },
146
+ {
147
+ name: "taskStore",
148
+ type: "InMemoryTaskStore",
149
+ description: "Task store for A2A (Agent-to-Agent) operations",
150
+ isOptional: true,
151
+ },
152
+ ]}
153
+ />
154
+
155
+ ## Differences from Hono
156
+
157
+ | Aspect | Express | Hono |
158
+ |--------|---------|------|
159
+ | Body parsing | Requires `express.json()` | Handled by framework |
160
+ | Context storage | `res.locals` | `c.get()` / `c.set()` |
161
+ | Middleware signature | `(req, res, next)` | `(c, next)` |
162
+ | Streaming | `res.write()` / `res.end()` | `stream()` helper |
163
+ | AbortSignal | Created from `req.on('close')` | `c.req.raw.signal` |
164
+
165
+ ## Adding custom routes
166
+
167
+ Add routes directly to the Express app:
168
+
169
+ ```typescript title="server.ts" copy
170
+ const app = express();
171
+ app.use(express.json());
172
+
173
+ const server = new MastraServer({ app, mastra });
174
+
175
+ // Before init - runs before Mastra middleware
176
+ app.get('/early-health', (req, res) => res.json({ status: 'ok' }));
177
+
178
+ await server.init();
179
+
180
+ // After init - has access to Mastra context
181
+ app.get('/custom', (req, res) => {
182
+ const mastraInstance = res.locals.mastra;
183
+ res.json({ agents: Object.keys(mastraInstance.listAgents()) });
184
+ });
185
+
186
+ app.listen(4111);
187
+ ```
188
+
189
+ :::tip
190
+
191
+ Routes added before `init()` run without Mastra context. Add routes after `init()` to access the Mastra instance and request context.
192
+
193
+ :::
194
+
195
+ ## Accessing context
196
+
197
+ In Express middleware and routes, access Mastra context via `res.locals`:
198
+
199
+ ```typescript copy
200
+ app.get('/custom', (req, res) => {
201
+ const mastra = res.locals.mastra;
202
+ const requestContext = res.locals.requestContext;
203
+ const abortSignal = res.locals.abortSignal;
204
+
205
+ const agent = mastra.getAgent('myAgent');
206
+ res.json({ agent: agent.name });
207
+ });
208
+ ```
209
+
210
+ Available properties on `res.locals`:
211
+
212
+ | Key | Description |
213
+ |-----|-------------|
214
+ | `mastra` | Mastra instance |
215
+ | `requestContext` | Request context map |
216
+ | `abortSignal` | Request cancellation signal |
217
+ | `tools` | Available tools |
218
+ | `taskStore` | Task store for A2A operations |
219
+ | `customRouteAuthConfig` | Per-route auth overrides |
220
+ | `user` | Authenticated user (if auth configured) |
221
+
222
+ ## Adding middleware
223
+
224
+ Add Express middleware before or after `init()`:
225
+
226
+ ```typescript title="server.ts" copy
227
+ const app = express();
228
+ app.use(express.json());
229
+
230
+ // Middleware before init
231
+ app.use((req, res, next) => {
232
+ console.log(`${req.method} ${req.url}`);
233
+ next();
234
+ });
235
+
236
+ const server = new MastraServer({ app, mastra });
237
+ await server.init();
238
+
239
+ // Middleware after init has access to Mastra context
240
+ app.use((req, res, next) => {
241
+ const mastra = res.locals.mastra;
242
+ // ...
243
+ next();
244
+ });
245
+ ```
246
+
247
+ ## Manual initialization
248
+
249
+ For custom middleware ordering, call each method separately instead of `init()`. See [Server Adapters: Manual initialization](/docs/v1/server-db/server-adapters#manual-initialization) for details.
250
+
251
+ ## Examples
252
+
253
+ - [Express Adapter](https://github.com/mastra-ai/mastra/tree/main/examples/server-express-adapter) - Basic Express server setup
254
+
255
+ ## Related
256
+
257
+ - [Server Adapters](/docs/v1/server-db/server-adapters) - Shared adapter concepts
258
+ - [Hono Adapter](/reference/v1/server/hono-adapter) - Alternative adapter
259
+ - [MastraServer Reference](/reference/v1/server/mastra-server) - Full API reference
260
+ - [createRoute() Reference](/reference/v1/server/create-route) - Creating type-safe custom routes