@mastra/mcp-docs-server 1.0.0-beta.8 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (544) hide show
  1. package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +1 -13
  2. package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +1 -5
  3. package/.docs/organized/changelogs/%40internal%2Fplayground.md +40 -0
  4. package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +8 -8
  5. package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +1 -53
  6. package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +287 -287
  7. package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +315 -315
  8. package/.docs/organized/changelogs/%40mastra%2Fastra.md +53 -53
  9. package/.docs/organized/changelogs/%40mastra%2Fauth.md +38 -0
  10. package/.docs/organized/changelogs/%40mastra%2Fchroma.md +66 -66
  11. package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +522 -212
  12. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +658 -196
  13. package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +439 -234
  14. package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +450 -211
  15. package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +208 -0
  16. package/.docs/organized/changelogs/%40mastra%2Fconvex.md +448 -22
  17. package/.docs/organized/changelogs/%40mastra%2Fcore.md +3341 -271
  18. package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +60 -60
  19. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +289 -289
  20. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +90 -90
  21. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +74 -74
  22. package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +70 -70
  23. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +247 -220
  24. package/.docs/organized/changelogs/%40mastra%2Fduckdb.md +70 -0
  25. package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +403 -225
  26. package/.docs/organized/changelogs/%40mastra%2Felasticsearch.md +72 -0
  27. package/.docs/organized/changelogs/%40mastra%2Fevals.md +145 -145
  28. package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +54 -0
  29. package/.docs/organized/changelogs/%40mastra%2Flance.md +456 -226
  30. package/.docs/organized/changelogs/%40mastra%2Flibsql.md +604 -208
  31. package/.docs/organized/changelogs/%40mastra%2Floggers.md +71 -71
  32. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +247 -247
  33. package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +28 -28
  34. package/.docs/organized/changelogs/%40mastra%2Fmcp.md +285 -285
  35. package/.docs/organized/changelogs/%40mastra%2Fmemory.md +354 -156
  36. package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +545 -212
  37. package/.docs/organized/changelogs/%40mastra%2Fmssql.md +481 -202
  38. package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +194 -194
  39. package/.docs/organized/changelogs/%40mastra%2Fpg.md +759 -213
  40. package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +198 -198
  41. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +636 -229
  42. package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +163 -163
  43. package/.docs/organized/changelogs/%40mastra%2Frag.md +310 -310
  44. package/.docs/organized/changelogs/%40mastra%2Freact.md +328 -230
  45. package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +64 -0
  46. package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +160 -0
  47. package/.docs/organized/changelogs/%40mastra%2Fserver.md +829 -218
  48. package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +57 -57
  49. package/.docs/organized/changelogs/%40mastra%2Fupstash.md +479 -232
  50. package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +53 -53
  51. package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +45 -45
  52. package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +45 -45
  53. package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +47 -47
  54. package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +110 -110
  55. package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +15 -0
  56. package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +98 -0
  57. package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +54 -54
  58. package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +46 -46
  59. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +93 -93
  60. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +47 -47
  61. package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +45 -45
  62. package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +45 -45
  63. package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +45 -45
  64. package/.docs/organized/changelogs/create-mastra.md +227 -227
  65. package/.docs/organized/changelogs/mastra.md +277 -277
  66. package/.docs/organized/code-examples/a2a.md +2 -2
  67. package/.docs/organized/code-examples/agent-v6.md +221 -0
  68. package/.docs/organized/code-examples/agui.md +4 -4
  69. package/.docs/organized/code-examples/ai-elements.md +3 -3
  70. package/.docs/organized/code-examples/ai-sdk-useChat.md +2 -2
  71. package/.docs/organized/code-examples/ai-sdk-v5.md +3 -3
  72. package/.docs/organized/code-examples/assistant-ui.md +5 -5
  73. package/.docs/organized/code-examples/bird-checker-with-express.md +1 -1
  74. package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +2 -2
  75. package/.docs/organized/code-examples/bird-checker-with-nextjs.md +3 -3
  76. package/.docs/organized/code-examples/client-side-tools.md +4 -4
  77. package/.docs/organized/code-examples/crypto-chatbot.md +5 -5
  78. package/.docs/organized/code-examples/experimental-auth-weather-agent.md +1 -1
  79. package/.docs/organized/code-examples/fireworks-r1.md +2 -2
  80. package/.docs/organized/code-examples/heads-up-game.md +7 -7
  81. package/.docs/organized/code-examples/inngest.md +1075 -0
  82. package/.docs/organized/code-examples/mcp-configuration.md +1 -1
  83. package/.docs/organized/code-examples/mcp-server-adapters.md +3 -4
  84. package/.docs/organized/code-examples/memory-per-resource-example.md +3 -3
  85. package/.docs/organized/code-examples/memory-todo-agent.md +1 -1
  86. package/.docs/organized/code-examples/memory-with-context.md +1 -1
  87. package/.docs/organized/code-examples/memory-with-processors.md +1 -1
  88. package/.docs/organized/code-examples/openapi-spec-writer.md +3 -3
  89. package/.docs/organized/code-examples/processors-with-ai-sdk.md +14 -0
  90. package/.docs/organized/code-examples/quick-start.md +1 -5
  91. package/.docs/organized/code-examples/server-app-access.md +3 -3
  92. package/.docs/organized/code-examples/server-express-adapter.md +1 -1
  93. package/.docs/organized/code-examples/server-fastify-adapter.md +83 -0
  94. package/.docs/organized/code-examples/server-hono-adapter.md +3 -3
  95. package/.docs/organized/code-examples/server-koa-adapter.md +94 -0
  96. package/.docs/organized/code-examples/stock-price-tool.md +21 -2
  97. package/.docs/organized/code-examples/workflow-ai-recruiter.md +1 -1
  98. package/.docs/organized/code-examples/workflow-with-inline-steps.md +1 -1
  99. package/.docs/organized/code-examples/workflow-with-memory.md +1 -1
  100. package/.docs/organized/code-examples/workflow-with-separate-steps.md +1 -1
  101. package/.docs/organized/code-examples/workflow-with-suspend-resume.md +1 -1
  102. package/.docs/raw/agents/adding-voice.mdx +24 -6
  103. package/.docs/raw/agents/agent-approval.mdx +209 -12
  104. package/.docs/raw/agents/agent-memory.mdx +36 -32
  105. package/.docs/raw/agents/guardrails.mdx +105 -56
  106. package/.docs/raw/agents/network-approval.mdx +281 -0
  107. package/.docs/raw/agents/networks.mdx +69 -13
  108. package/.docs/raw/agents/overview.mdx +43 -25
  109. package/.docs/raw/agents/processors.mdx +234 -17
  110. package/.docs/raw/agents/structured-output.mdx +78 -8
  111. package/.docs/raw/agents/using-tools.mdx +67 -6
  112. package/.docs/raw/course/01-first-agent/07-creating-your-agent.md +1 -2
  113. package/.docs/raw/course/01-first-agent/12-connecting-tool-to-agent.md +1 -1
  114. package/.docs/raw/course/01-first-agent/16-adding-memory-to-agent.md +1 -2
  115. package/.docs/raw/course/02-agent-tools-mcp/05-updating-your-agent.md +1 -1
  116. package/.docs/raw/course/02-agent-tools-mcp/10-updating-agent-instructions-zapier.md +1 -1
  117. package/.docs/raw/course/02-agent-tools-mcp/16-updating-agent-instructions-github.md +1 -1
  118. package/.docs/raw/course/02-agent-tools-mcp/21-updating-agent-instructions-hackernews.md +1 -1
  119. package/.docs/raw/course/02-agent-tools-mcp/27-updating-agent-instructions-filesystem.md +1 -1
  120. package/.docs/raw/course/02-agent-tools-mcp/31-enhancing-memory-configuration.md +3 -3
  121. package/.docs/raw/course/03-agent-memory/04-creating-basic-memory-agent.md +1 -2
  122. package/.docs/raw/course/03-agent-memory/07-understanding-memory-threads.md +35 -0
  123. package/.docs/raw/course/03-agent-memory/08-configuring-conversation-history.md +1 -2
  124. package/.docs/raw/course/03-agent-memory/13-vector-store-configuration.md +1 -1
  125. package/.docs/raw/course/03-agent-memory/16-configuring-semantic-recall.md +4 -5
  126. package/.docs/raw/course/03-agent-memory/18-advanced-configuration-semantic-recall.md +1 -1
  127. package/.docs/raw/course/03-agent-memory/21-configuring-working-memory.md +3 -4
  128. package/.docs/raw/course/03-agent-memory/22-custom-working-memory-templates.md +3 -4
  129. package/.docs/raw/course/03-agent-memory/25-combining-memory-features.md +3 -4
  130. package/.docs/raw/course/03-agent-memory/27-creating-learning-assistant.md +3 -4
  131. package/.docs/raw/course/04-workflows/11-creating-an-ai-agent.md +2 -3
  132. package/.docs/raw/deployment/cloud-providers.mdx +22 -0
  133. package/.docs/raw/deployment/mastra-server.mdx +140 -0
  134. package/.docs/raw/deployment/monorepo.mdx +106 -42
  135. package/.docs/raw/deployment/overview.mdx +35 -48
  136. package/.docs/raw/deployment/web-framework.mdx +17 -19
  137. package/.docs/raw/deployment/workflow-runners.mdx +16 -0
  138. package/.docs/raw/evals/built-in-scorers.mdx +2 -0
  139. package/.docs/raw/evals/custom-scorers.mdx +60 -12
  140. package/.docs/raw/evals/overview.mdx +6 -6
  141. package/.docs/raw/evals/running-in-ci.mdx +4 -2
  142. package/.docs/raw/getting-started/manual-install.mdx +20 -20
  143. package/.docs/raw/getting-started/mcp-docs-server.mdx +59 -2
  144. package/.docs/raw/getting-started/project-structure.mdx +2 -2
  145. package/.docs/raw/getting-started/start.mdx +17 -1
  146. package/.docs/raw/getting-started/studio.mdx +10 -37
  147. package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +151 -0
  148. package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +1034 -80
  149. package/.docs/raw/guides/build-your-ui/assistant-ui.mdx +8 -8
  150. package/.docs/raw/guides/build-your-ui/copilotkit.mdx +32 -11
  151. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/amazon-ec2.mdx +9 -9
  152. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/aws-lambda.mdx +13 -16
  153. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/azure-app-services.mdx +5 -7
  154. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/cloudflare-deployer.mdx +8 -5
  155. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/digital-ocean.mdx +18 -23
  156. package/.docs/raw/guides/deployment/index.mdx +32 -0
  157. package/.docs/raw/guides/deployment/inngest.mdx +673 -0
  158. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/netlify-deployer.mdx +7 -3
  159. package/.docs/raw/{deployment/cloud-providers → guides/deployment}/vercel-deployer.mdx +8 -5
  160. package/.docs/raw/guides/getting-started/astro.mdx +292 -451
  161. package/.docs/raw/guides/getting-started/express.mdx +72 -153
  162. package/.docs/raw/guides/getting-started/hono.mdx +227 -0
  163. package/.docs/raw/guides/getting-started/next-js.mdx +173 -61
  164. package/.docs/raw/guides/getting-started/nuxt.mdx +505 -0
  165. package/.docs/raw/guides/getting-started/quickstart.mdx +5 -5
  166. package/.docs/raw/guides/getting-started/sveltekit.mdx +238 -409
  167. package/.docs/raw/guides/getting-started/vite-react.mdx +317 -147
  168. package/.docs/raw/guides/guide/ai-recruiter.mdx +10 -10
  169. package/.docs/raw/guides/guide/chef-michel.mdx +9 -11
  170. package/.docs/raw/guides/guide/notes-mcp-server.mdx +15 -15
  171. package/.docs/raw/guides/guide/research-assistant.mdx +20 -20
  172. package/.docs/raw/guides/guide/stock-agent.mdx +5 -5
  173. package/.docs/raw/guides/guide/web-search.mdx +38 -38
  174. package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +7 -7
  175. package/.docs/raw/guides/index.mdx +0 -1
  176. package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +2 -2
  177. package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +105 -4
  178. package/.docs/raw/guides/migrations/upgrade-to-v1/cli.mdx +15 -1
  179. package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +170 -0
  180. package/.docs/raw/guides/migrations/upgrade-to-v1/deployment.mdx +42 -0
  181. package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +0 -35
  182. package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +40 -3
  183. package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +17 -2
  184. package/.docs/raw/guides/migrations/upgrade-to-v1/processors.mdx +11 -0
  185. package/.docs/raw/guides/migrations/upgrade-to-v1/rag.mdx +47 -0
  186. package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +271 -25
  187. package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +3 -3
  188. package/.docs/raw/guides/migrations/upgrade-to-v1/tracing.mdx +72 -17
  189. package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +46 -1
  190. package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +50 -7
  191. package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +21 -23
  192. package/.docs/raw/index.mdx +2 -2
  193. package/.docs/raw/mastra-cloud/deployment.mdx +86 -0
  194. package/.docs/raw/mastra-cloud/observability.mdx +43 -0
  195. package/.docs/raw/mastra-cloud/overview.mdx +31 -0
  196. package/.docs/raw/mastra-cloud/setup.mdx +64 -0
  197. package/.docs/raw/mastra-cloud/studio.mdx +35 -0
  198. package/.docs/raw/mcp/overview.mdx +60 -25
  199. package/.docs/raw/mcp/publishing-mcp-server.mdx +7 -4
  200. package/.docs/raw/memory/memory-processors.mdx +17 -12
  201. package/.docs/raw/memory/message-history.mdx +72 -0
  202. package/.docs/raw/memory/overview.mdx +38 -76
  203. package/.docs/raw/memory/semantic-recall.mdx +65 -52
  204. package/.docs/raw/memory/storage.mdx +248 -0
  205. package/.docs/raw/memory/working-memory.mdx +24 -13
  206. package/.docs/raw/observability/logging.mdx +16 -15
  207. package/.docs/raw/observability/overview.mdx +27 -7
  208. package/.docs/raw/observability/tracing/bridges/otel.mdx +7 -4
  209. package/.docs/raw/observability/tracing/exporters/arize.mdx +61 -24
  210. package/.docs/raw/observability/tracing/exporters/braintrust.mdx +32 -22
  211. package/.docs/raw/observability/tracing/exporters/cloud.mdx +24 -5
  212. package/.docs/raw/observability/tracing/exporters/datadog.mdx +175 -0
  213. package/.docs/raw/observability/tracing/exporters/default.mdx +28 -7
  214. package/.docs/raw/observability/tracing/exporters/laminar.mdx +89 -0
  215. package/.docs/raw/observability/tracing/exporters/langfuse.mdx +31 -22
  216. package/.docs/raw/observability/tracing/exporters/langsmith.mdx +33 -3
  217. package/.docs/raw/observability/tracing/exporters/otel.mdx +194 -22
  218. package/.docs/raw/observability/tracing/exporters/posthog.mdx +32 -22
  219. package/.docs/raw/observability/tracing/exporters/sentry.mdx +198 -0
  220. package/.docs/raw/observability/tracing/overview.mdx +388 -108
  221. package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +27 -7
  222. package/.docs/raw/rag/chunking-and-embedding.mdx +22 -33
  223. package/.docs/raw/rag/graph-rag.mdx +223 -0
  224. package/.docs/raw/rag/overview.mdx +6 -3
  225. package/.docs/raw/rag/retrieval.mdx +53 -57
  226. package/.docs/raw/rag/vector-databases.mdx +55 -31
  227. package/.docs/raw/reference/agents/agent.mdx +17 -14
  228. package/.docs/raw/reference/agents/generate.mdx +172 -44
  229. package/.docs/raw/reference/agents/generateLegacy.mdx +5 -3
  230. package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +5 -3
  231. package/.docs/raw/reference/agents/getDefaultOptions.mdx +5 -3
  232. package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +5 -3
  233. package/.docs/raw/reference/agents/getDescription.mdx +3 -1
  234. package/.docs/raw/reference/agents/getInstructions.mdx +5 -3
  235. package/.docs/raw/reference/agents/getLLM.mdx +5 -3
  236. package/.docs/raw/reference/agents/getMemory.mdx +5 -3
  237. package/.docs/raw/reference/agents/getModel.mdx +5 -3
  238. package/.docs/raw/reference/agents/getTools.mdx +4 -2
  239. package/.docs/raw/reference/agents/getVoice.mdx +4 -2
  240. package/.docs/raw/reference/agents/listAgents.mdx +4 -2
  241. package/.docs/raw/reference/agents/listScorers.mdx +5 -3
  242. package/.docs/raw/reference/agents/listTools.mdx +4 -2
  243. package/.docs/raw/reference/agents/listWorkflows.mdx +4 -2
  244. package/.docs/raw/reference/agents/network.mdx +113 -1
  245. package/.docs/raw/reference/ai-sdk/chat-route.mdx +6 -3
  246. package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +4 -2
  247. package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +4 -2
  248. package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +5 -3
  249. package/.docs/raw/reference/ai-sdk/network-route.mdx +6 -3
  250. package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +10 -6
  251. package/.docs/raw/reference/ai-sdk/to-ai-sdk-v4-messages.mdx +130 -0
  252. package/.docs/raw/reference/ai-sdk/to-ai-sdk-v5-messages.mdx +110 -0
  253. package/.docs/raw/reference/ai-sdk/with-mastra.mdx +122 -0
  254. package/.docs/raw/reference/ai-sdk/workflow-route.mdx +7 -4
  255. package/.docs/raw/reference/auth/auth0.mdx +5 -3
  256. package/.docs/raw/reference/auth/clerk.mdx +5 -3
  257. package/.docs/raw/reference/auth/firebase.mdx +6 -5
  258. package/.docs/raw/reference/auth/jwt.mdx +5 -3
  259. package/.docs/raw/reference/auth/supabase.mdx +5 -3
  260. package/.docs/raw/reference/auth/workos.mdx +5 -3
  261. package/.docs/raw/reference/cli/create-mastra.mdx +12 -10
  262. package/.docs/raw/reference/cli/mastra.mdx +63 -15
  263. package/.docs/raw/reference/client-js/agents.mdx +311 -85
  264. package/.docs/raw/reference/client-js/error-handling.mdx +3 -3
  265. package/.docs/raw/reference/client-js/logs.mdx +2 -0
  266. package/.docs/raw/reference/client-js/mastra-client.mdx +6 -4
  267. package/.docs/raw/reference/client-js/memory.mdx +47 -2
  268. package/.docs/raw/reference/client-js/observability.mdx +2 -0
  269. package/.docs/raw/reference/client-js/telemetry.mdx +2 -0
  270. package/.docs/raw/reference/client-js/tools.mdx +2 -0
  271. package/.docs/raw/reference/client-js/vectors.mdx +2 -0
  272. package/.docs/raw/reference/client-js/workflows.mdx +47 -3
  273. package/.docs/raw/reference/configuration.mdx +761 -0
  274. package/.docs/raw/reference/core/addGateway.mdx +2 -0
  275. package/.docs/raw/reference/core/getAgent.mdx +3 -1
  276. package/.docs/raw/reference/core/getAgentById.mdx +3 -1
  277. package/.docs/raw/reference/core/getDeployer.mdx +3 -1
  278. package/.docs/raw/reference/core/getGateway.mdx +2 -0
  279. package/.docs/raw/reference/core/getGatewayById.mdx +2 -0
  280. package/.docs/raw/reference/core/getLogger.mdx +3 -1
  281. package/.docs/raw/reference/core/getMCPServer.mdx +3 -1
  282. package/.docs/raw/reference/core/getMCPServerById.mdx +3 -1
  283. package/.docs/raw/reference/core/getMemory.mdx +77 -0
  284. package/.docs/raw/reference/core/getScorer.mdx +2 -0
  285. package/.docs/raw/reference/core/getScorerById.mdx +2 -0
  286. package/.docs/raw/reference/core/getServer.mdx +6 -4
  287. package/.docs/raw/reference/core/getStorage.mdx +5 -3
  288. package/.docs/raw/reference/core/getStoredAgentById.mdx +185 -0
  289. package/.docs/raw/reference/core/getTelemetry.mdx +3 -1
  290. package/.docs/raw/reference/core/getVector.mdx +3 -1
  291. package/.docs/raw/reference/core/getWorkflow.mdx +3 -1
  292. package/.docs/raw/reference/core/listAgents.mdx +3 -1
  293. package/.docs/raw/reference/core/listGateways.mdx +2 -0
  294. package/.docs/raw/reference/core/listLogs.mdx +3 -1
  295. package/.docs/raw/reference/core/listLogsByRunId.mdx +3 -1
  296. package/.docs/raw/reference/core/listMCPServers.mdx +3 -1
  297. package/.docs/raw/reference/core/listMemory.mdx +74 -0
  298. package/.docs/raw/reference/core/listScorers.mdx +2 -0
  299. package/.docs/raw/reference/core/listStoredAgents.mdx +153 -0
  300. package/.docs/raw/reference/core/listVectors.mdx +3 -1
  301. package/.docs/raw/reference/core/listWorkflows.mdx +3 -1
  302. package/.docs/raw/reference/core/mastra-class.mdx +35 -20
  303. package/.docs/raw/reference/core/mastra-model-gateway.mdx +2 -0
  304. package/.docs/raw/reference/core/setLogger.mdx +3 -1
  305. package/.docs/raw/reference/core/setStorage.mdx +6 -4
  306. package/.docs/raw/reference/deployer/cloudflare.mdx +22 -53
  307. package/.docs/raw/reference/deployer/deployer.mdx +2 -1
  308. package/.docs/raw/reference/deployer/netlify.mdx +4 -1
  309. package/.docs/raw/reference/deployer/vercel.mdx +5 -4
  310. package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -1
  311. package/.docs/raw/reference/evals/answer-similarity.mdx +4 -1
  312. package/.docs/raw/reference/evals/bias.mdx +4 -1
  313. package/.docs/raw/reference/evals/completeness.mdx +4 -1
  314. package/.docs/raw/reference/evals/content-similarity.mdx +4 -1
  315. package/.docs/raw/reference/evals/context-precision.mdx +4 -1
  316. package/.docs/raw/reference/evals/context-relevance.mdx +2 -0
  317. package/.docs/raw/reference/evals/create-scorer.mdx +11 -3
  318. package/.docs/raw/reference/evals/faithfulness.mdx +4 -1
  319. package/.docs/raw/reference/evals/hallucination.mdx +4 -1
  320. package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -1
  321. package/.docs/raw/reference/evals/mastra-scorer.mdx +2 -0
  322. package/.docs/raw/reference/evals/noise-sensitivity.mdx +2 -0
  323. package/.docs/raw/reference/evals/prompt-alignment.mdx +9 -7
  324. package/.docs/raw/reference/evals/run-evals.mdx +3 -1
  325. package/.docs/raw/reference/evals/scorer-utils.mdx +3 -0
  326. package/.docs/raw/reference/evals/textual-difference.mdx +4 -1
  327. package/.docs/raw/reference/evals/tone-consistency.mdx +4 -1
  328. package/.docs/raw/reference/evals/tool-call-accuracy.mdx +25 -23
  329. package/.docs/raw/reference/evals/toxicity.mdx +4 -1
  330. package/.docs/raw/reference/index.mdx +2 -1
  331. package/.docs/raw/reference/logging/pino-logger.mdx +10 -8
  332. package/.docs/raw/reference/memory/clone-utilities.mdx +345 -0
  333. package/.docs/raw/reference/memory/cloneThread.mdx +237 -0
  334. package/.docs/raw/reference/memory/createThread.mdx +6 -4
  335. package/.docs/raw/reference/memory/deleteMessages.mdx +4 -2
  336. package/.docs/raw/reference/memory/getThreadById.mdx +3 -1
  337. package/.docs/raw/reference/memory/listThreads.mdx +187 -0
  338. package/.docs/raw/reference/memory/memory-class.mdx +27 -20
  339. package/.docs/raw/reference/memory/recall.mdx +6 -4
  340. package/.docs/raw/reference/observability/tracing/bridges/otel.mdx +6 -2
  341. package/.docs/raw/reference/observability/tracing/configuration.mdx +51 -0
  342. package/.docs/raw/reference/observability/tracing/exporters/arize.mdx +25 -6
  343. package/.docs/raw/reference/observability/tracing/exporters/braintrust.mdx +23 -2
  344. package/.docs/raw/reference/observability/tracing/exporters/cloud-exporter.mdx +10 -0
  345. package/.docs/raw/reference/observability/tracing/exporters/console-exporter.mdx +3 -0
  346. package/.docs/raw/reference/observability/tracing/exporters/datadog.mdx +172 -0
  347. package/.docs/raw/reference/observability/tracing/exporters/default-exporter.mdx +10 -0
  348. package/.docs/raw/reference/observability/tracing/exporters/laminar.mdx +139 -0
  349. package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +26 -4
  350. package/.docs/raw/reference/observability/tracing/exporters/langsmith.mdx +10 -0
  351. package/.docs/raw/reference/observability/tracing/exporters/otel.mdx +51 -34
  352. package/.docs/raw/reference/observability/tracing/exporters/posthog.mdx +25 -4
  353. package/.docs/raw/reference/observability/tracing/exporters/sentry.mdx +224 -0
  354. package/.docs/raw/reference/observability/tracing/instances.mdx +2 -0
  355. package/.docs/raw/reference/observability/tracing/interfaces.mdx +20 -0
  356. package/.docs/raw/reference/observability/tracing/processors/sensitive-data-filter.mdx +2 -0
  357. package/.docs/raw/reference/observability/tracing/spans.mdx +2 -0
  358. package/.docs/raw/reference/processors/batch-parts-processor.mdx +4 -2
  359. package/.docs/raw/reference/processors/language-detector.mdx +6 -3
  360. package/.docs/raw/reference/processors/message-history-processor.mdx +5 -2
  361. package/.docs/raw/reference/processors/moderation-processor.mdx +6 -4
  362. package/.docs/raw/reference/processors/pii-detector.mdx +6 -4
  363. package/.docs/raw/reference/processors/processor-interface.mdx +326 -23
  364. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +5 -3
  365. package/.docs/raw/reference/processors/semantic-recall-processor.mdx +7 -2
  366. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +5 -3
  367. package/.docs/raw/reference/processors/token-limiter-processor.mdx +62 -19
  368. package/.docs/raw/reference/processors/tool-call-filter.mdx +5 -3
  369. package/.docs/raw/reference/processors/unicode-normalizer.mdx +6 -3
  370. package/.docs/raw/reference/processors/working-memory-processor.mdx +6 -3
  371. package/.docs/raw/reference/rag/chunk.mdx +7 -6
  372. package/.docs/raw/reference/rag/database-config.mdx +8 -6
  373. package/.docs/raw/reference/rag/document.mdx +2 -0
  374. package/.docs/raw/reference/rag/embeddings.mdx +2 -0
  375. package/.docs/raw/reference/rag/extract-params.mdx +57 -3
  376. package/.docs/raw/reference/rag/graph-rag.mdx +2 -0
  377. package/.docs/raw/reference/rag/metadata-filters.mdx +27 -7
  378. package/.docs/raw/reference/rag/rerank.mdx +2 -0
  379. package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -0
  380. package/.docs/raw/reference/server/create-route.mdx +34 -18
  381. package/.docs/raw/reference/server/express-adapter.mdx +78 -50
  382. package/.docs/raw/reference/server/fastify-adapter.mdx +130 -0
  383. package/.docs/raw/reference/server/hono-adapter.mdx +78 -48
  384. package/.docs/raw/reference/server/koa-adapter.mdx +129 -0
  385. package/.docs/raw/reference/server/mastra-server.mdx +52 -34
  386. package/.docs/raw/reference/server/routes.mdx +73 -10
  387. package/.docs/raw/reference/storage/cloudflare-d1.mdx +10 -5
  388. package/.docs/raw/reference/storage/cloudflare.mdx +12 -2
  389. package/.docs/raw/reference/storage/composite.mdx +245 -0
  390. package/.docs/raw/reference/storage/convex.mdx +8 -6
  391. package/.docs/raw/reference/storage/dynamodb.mdx +134 -8
  392. package/.docs/raw/reference/storage/lance.mdx +9 -5
  393. package/.docs/raw/reference/storage/libsql.mdx +76 -54
  394. package/.docs/raw/reference/storage/mongodb.mdx +115 -16
  395. package/.docs/raw/reference/storage/mssql.mdx +11 -6
  396. package/.docs/raw/{server-db/storage.mdx → reference/storage/overview.mdx} +15 -111
  397. package/.docs/raw/reference/storage/postgresql.mdx +228 -83
  398. package/.docs/raw/reference/storage/upstash.mdx +78 -2
  399. package/.docs/raw/reference/streaming/ChunkType.mdx +31 -3
  400. package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +67 -6
  401. package/.docs/raw/reference/streaming/agents/stream.mdx +48 -51
  402. package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +5 -3
  403. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +3 -1
  404. package/.docs/raw/reference/streaming/workflows/resumeStream.mdx +3 -1
  405. package/.docs/raw/reference/streaming/workflows/stream.mdx +37 -22
  406. package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +6 -4
  407. package/.docs/raw/reference/templates/overview.mdx +3 -2
  408. package/.docs/raw/reference/tools/client.mdx +3 -0
  409. package/.docs/raw/reference/tools/create-tool.mdx +127 -5
  410. package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -0
  411. package/.docs/raw/reference/tools/graph-rag-tool.mdx +40 -3
  412. package/.docs/raw/reference/tools/mcp-client.mdx +110 -1
  413. package/.docs/raw/reference/tools/mcp-server.mdx +278 -24
  414. package/.docs/raw/reference/tools/vector-query-tool.mdx +68 -4
  415. package/.docs/raw/reference/vectors/astra.mdx +5 -3
  416. package/.docs/raw/reference/vectors/chroma.mdx +5 -3
  417. package/.docs/raw/reference/vectors/convex.mdx +14 -12
  418. package/.docs/raw/reference/vectors/couchbase.mdx +7 -5
  419. package/.docs/raw/reference/vectors/duckdb.mdx +12 -10
  420. package/.docs/raw/reference/vectors/elasticsearch.mdx +12 -4
  421. package/.docs/raw/reference/vectors/lance.mdx +6 -4
  422. package/.docs/raw/reference/vectors/libsql.mdx +66 -13
  423. package/.docs/raw/reference/vectors/mongodb.mdx +90 -10
  424. package/.docs/raw/reference/vectors/opensearch.mdx +30 -3
  425. package/.docs/raw/reference/vectors/pg.mdx +58 -6
  426. package/.docs/raw/reference/vectors/pinecone.mdx +23 -8
  427. package/.docs/raw/reference/vectors/qdrant.mdx +148 -4
  428. package/.docs/raw/reference/vectors/s3vectors.mdx +8 -6
  429. package/.docs/raw/reference/vectors/turbopuffer.mdx +6 -4
  430. package/.docs/raw/reference/vectors/upstash.mdx +60 -6
  431. package/.docs/raw/reference/vectors/vectorize.mdx +5 -3
  432. package/.docs/raw/reference/voice/azure.mdx +2 -0
  433. package/.docs/raw/reference/voice/cloudflare.mdx +2 -0
  434. package/.docs/raw/reference/voice/composite-voice.mdx +4 -0
  435. package/.docs/raw/reference/voice/deepgram.mdx +2 -0
  436. package/.docs/raw/reference/voice/elevenlabs.mdx +2 -0
  437. package/.docs/raw/reference/voice/google-gemini-live.mdx +3 -0
  438. package/.docs/raw/reference/voice/google.mdx +2 -0
  439. package/.docs/raw/reference/voice/mastra-voice.mdx +2 -0
  440. package/.docs/raw/reference/voice/murf.mdx +2 -0
  441. package/.docs/raw/reference/voice/openai-realtime.mdx +3 -0
  442. package/.docs/raw/reference/voice/openai.mdx +2 -0
  443. package/.docs/raw/reference/voice/playai.mdx +2 -0
  444. package/.docs/raw/reference/voice/sarvam.mdx +2 -0
  445. package/.docs/raw/reference/voice/speechify.mdx +2 -0
  446. package/.docs/raw/reference/voice/voice.addInstructions.mdx +3 -0
  447. package/.docs/raw/reference/voice/voice.addTools.mdx +3 -0
  448. package/.docs/raw/reference/voice/voice.answer.mdx +4 -0
  449. package/.docs/raw/reference/voice/voice.close.mdx +3 -0
  450. package/.docs/raw/reference/voice/voice.connect.mdx +5 -1
  451. package/.docs/raw/reference/voice/voice.events.mdx +2 -0
  452. package/.docs/raw/reference/voice/voice.getSpeakers.mdx +3 -0
  453. package/.docs/raw/reference/voice/voice.listen.mdx +6 -0
  454. package/.docs/raw/reference/voice/voice.off.mdx +2 -0
  455. package/.docs/raw/reference/voice/voice.on.mdx +5 -1
  456. package/.docs/raw/reference/voice/voice.send.mdx +4 -0
  457. package/.docs/raw/reference/voice/voice.speak.mdx +6 -0
  458. package/.docs/raw/reference/voice/voice.updateConfig.mdx +2 -0
  459. package/.docs/raw/reference/workflows/run-methods/cancel.mdx +55 -5
  460. package/.docs/raw/reference/workflows/run-methods/restart.mdx +3 -3
  461. package/.docs/raw/reference/workflows/run-methods/resume.mdx +6 -4
  462. package/.docs/raw/reference/workflows/run-methods/start.mdx +7 -5
  463. package/.docs/raw/reference/workflows/run-methods/startAsync.mdx +145 -0
  464. package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +10 -8
  465. package/.docs/raw/reference/workflows/run.mdx +11 -3
  466. package/.docs/raw/reference/workflows/step.mdx +56 -3
  467. package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +3 -1
  468. package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +3 -1
  469. package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +39 -2
  470. package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +3 -1
  471. package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +3 -1
  472. package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +71 -4
  473. package/.docs/raw/reference/workflows/workflow-methods/map.mdx +9 -7
  474. package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +3 -1
  475. package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +4 -6
  476. package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +4 -6
  477. package/.docs/raw/reference/workflows/workflow-methods/then.mdx +3 -1
  478. package/.docs/raw/reference/workflows/workflow.mdx +193 -2
  479. package/.docs/raw/{auth → server/auth}/auth0.mdx +40 -21
  480. package/.docs/raw/{auth → server/auth}/clerk.mdx +37 -16
  481. package/.docs/raw/{auth → server/auth}/firebase.mdx +47 -25
  482. package/.docs/raw/{auth → server/auth}/index.mdx +8 -6
  483. package/.docs/raw/{auth → server/auth}/jwt.mdx +22 -10
  484. package/.docs/raw/{auth → server/auth}/supabase.mdx +45 -25
  485. package/.docs/raw/{auth → server/auth}/workos.mdx +39 -20
  486. package/.docs/raw/{server-db → server}/custom-adapters.mdx +40 -24
  487. package/.docs/raw/{server-db → server}/custom-api-routes.mdx +6 -6
  488. package/.docs/raw/{server-db → server}/mastra-client.mdx +35 -38
  489. package/.docs/raw/server/mastra-server.mdx +86 -0
  490. package/.docs/raw/{server-db → server}/middleware.mdx +11 -9
  491. package/.docs/raw/{server-db → server}/request-context.mdx +85 -43
  492. package/.docs/raw/server/server-adapters.mdx +410 -0
  493. package/.docs/raw/streaming/events.mdx +16 -7
  494. package/.docs/raw/streaming/overview.mdx +30 -17
  495. package/.docs/raw/streaming/tool-streaming.mdx +15 -17
  496. package/.docs/raw/streaming/workflow-streaming.mdx +8 -8
  497. package/.docs/raw/tools-mcp/advanced-usage.mdx +4 -2
  498. package/.docs/raw/tools-mcp/mcp-overview.mdx +46 -12
  499. package/.docs/raw/tools-mcp/overview.mdx +14 -13
  500. package/.docs/raw/voice/overview.mdx +17 -2
  501. package/.docs/raw/voice/speech-to-speech.mdx +5 -0
  502. package/.docs/raw/voice/speech-to-text.mdx +4 -0
  503. package/.docs/raw/voice/text-to-speech.mdx +3 -0
  504. package/.docs/raw/workflows/agents-and-tools.mdx +70 -21
  505. package/.docs/raw/workflows/control-flow.mdx +369 -34
  506. package/.docs/raw/workflows/error-handling.mdx +192 -18
  507. package/.docs/raw/workflows/human-in-the-loop.mdx +8 -7
  508. package/.docs/raw/workflows/input-data-mapping.mdx +9 -7
  509. package/.docs/raw/workflows/overview.mdx +80 -34
  510. package/.docs/raw/workflows/snapshots.mdx +19 -45
  511. package/.docs/raw/workflows/suspend-and-resume.mdx +14 -14
  512. package/.docs/raw/workflows/time-travel.mdx +25 -21
  513. package/.docs/raw/workflows/workflow-state.mdx +7 -8
  514. package/CHANGELOG.md +254 -0
  515. package/README.md +36 -0
  516. package/dist/index.d.ts.map +1 -1
  517. package/dist/logger.d.ts +3 -0
  518. package/dist/logger.d.ts.map +1 -1
  519. package/dist/stdio.js +746 -49
  520. package/dist/tools/course.d.ts.map +1 -1
  521. package/dist/tools/embedded-docs.d.ts +276 -0
  522. package/dist/tools/embedded-docs.d.ts.map +1 -0
  523. package/package.json +9 -8
  524. package/.docs/organized/changelogs/%40internal%2Fai-sdk-v4.md +0 -1
  525. package/.docs/raw/deployment/building-mastra.mdx +0 -73
  526. package/.docs/raw/deployment/cloud-providers/index.mdx +0 -55
  527. package/.docs/raw/deployment/mastra-cloud/dashboard.mdx +0 -100
  528. package/.docs/raw/deployment/mastra-cloud/observability.mdx +0 -53
  529. package/.docs/raw/deployment/mastra-cloud/overview.mdx +0 -65
  530. package/.docs/raw/deployment/mastra-cloud/setting-up.mdx +0 -105
  531. package/.docs/raw/memory/conversation-history.mdx +0 -24
  532. package/.docs/raw/memory/storage/memory-with-libsql.mdx +0 -140
  533. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -150
  534. package/.docs/raw/memory/storage/memory-with-pg.mdx +0 -138
  535. package/.docs/raw/memory/storage/memory-with-upstash.mdx +0 -146
  536. package/.docs/raw/memory/threads-and-resources.mdx +0 -95
  537. package/.docs/raw/reference/core/setTelemetry.mdx +0 -36
  538. package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +0 -110
  539. package/.docs/raw/reference/memory/query.mdx +0 -189
  540. package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +0 -70
  541. package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +0 -66
  542. package/.docs/raw/server-db/mastra-server.mdx +0 -97
  543. package/.docs/raw/server-db/server-adapters.mdx +0 -286
  544. package/.docs/raw/workflows/inngest-workflow.mdx +0 -363
@@ -1,6 +1,8 @@
1
1
  ---
2
- title: "Request Context | Server & DB"
2
+ title: "Request Context | Server"
3
3
  description: Learn how to use Mastra's RequestContext to provide dynamic, request-specific configuration to agents.
4
+ packages:
5
+ - "@mastra/core"
4
6
  ---
5
7
 
6
8
  # Request Context
@@ -9,7 +11,7 @@ Agents, tools, and workflows can all accept `RequestContext` as a parameter, mak
9
11
 
10
12
  ## When to use `RequestContext`
11
13
 
12
- Use `RequestContext` when a primitives behavior should change based on runtime conditions. For example, you might switch models or storage backends based on user attributes, or adjust instructions and tool selection based on language.
14
+ Use `RequestContext` when a primitive's behavior should change based on runtime conditions. For example, you might switch models or storage backends based on user attributes, or adjust instructions and tool selection based on language.
13
15
 
14
16
  :::note
15
17
 
@@ -28,7 +30,7 @@ The `.set()` method takes two arguments:
28
30
  1. **key**: The name used to identify the value.
29
31
  2. **value**: The data to associate with that key.
30
32
 
31
- ```typescript showLineNumbers
33
+ ```typescript
32
34
  import { RequestContext } from "@mastra/core/request-context";
33
35
 
34
36
  export type UserTier = {
@@ -62,19 +64,17 @@ await run.resume({
62
64
  requestContext,
63
65
  });
64
66
 
65
- await weatherTool.execute({
66
- context: {
67
- location: "London",
68
- },
69
- requestContext,
70
- });
67
+ await weatherTool.execute(
68
+ { location: "London" },
69
+ { requestContext },
70
+ );
71
71
  ```
72
72
 
73
73
  ### Setting values based on request headers
74
74
 
75
75
  You can populate `requestContext` dynamically in server middleware by extracting information from the request. In this example, the `temperature-unit` is set based on the Cloudflare `CF-IPCountry` header to ensure responses match the user's locale.
76
76
 
77
- ```typescript title="src/mastra/index.ts" showLineNumbers copy
77
+ ```typescript title="src/mastra/index.ts"
78
78
  import { Mastra } from "@mastra/core";
79
79
  import { RequestContext } from "@mastra/core/request-context";
80
80
  import { testWeatherAgent } from "./agents/test-weather-agent";
@@ -99,13 +99,17 @@ export const mastra = new Mastra({
99
99
  });
100
100
  ```
101
101
 
102
- > See [Middleware](/docs/v1/server-db/middleware) for how to use server middleware.
102
+ :::info
103
+
104
+ Visit [Middleware](/docs/v1/server/middleware) for how to use server middleware.
105
+
106
+ :::
103
107
 
104
108
  ## Accessing values with agents
105
109
 
106
110
  You can access the `requestContext` argument from any supported configuration options in agents. These functions can be sync or `async`. Use the `.get()` method to read values from `requestContext`.
107
111
 
108
- ```typescript {7-8,15,18,21} title="src/mastra/agents/weather-agent.ts" showLineNumbers
112
+ ```typescript title="src/mastra/agents/weather-agent.ts"
109
113
  export type UserTier = {
110
114
  "user-tier": "enterprise" | "pro";
111
115
  };
@@ -116,32 +120,27 @@ export const weatherAgent = new Agent({
116
120
  instructions: async ({ requestContext }) => {
117
121
  const userTier = requestContext.get("user-tier") as UserTier["user-tier"];
118
122
 
119
- if (userTier === "enterprise") {
120
- // ...
121
- }
122
- // ...
123
- },
124
- model: ({ requestContext }) => {
125
- // ...
126
- },
127
- tools: ({ requestContext }) => {
128
- // ...
129
- },
130
- memory: ({ requestContext }) => {
131
- // ...
123
+ if (userTier === "enterprise") {}
132
124
  },
125
+ model: ({ requestContext }) => {},
126
+ tools: ({ requestContext }) => {},
127
+ memory: ({ requestContext }) => {},
133
128
  });
134
129
  ```
135
130
 
136
131
  You can also use `requestContext` with other options like `agents`, `workflows`, `scorers`, `inputProcessors`, and `outputProcessors`.
137
132
 
138
- > See [Agent](/reference/v1/agents/agent) for a full list of configuration options.
133
+ :::info
134
+
135
+ Visit [Agent](/reference/v1/agents/agent) for a full list of configuration options.
136
+
137
+ :::
139
138
 
140
139
  ## Accessing values from workflow steps
141
140
 
142
141
  You can access the `requestContext` argument from a workflow step's `execute` function. This function can be sync or async. Use the `.get()` method to read values from `requestContext`.
143
142
 
144
- ```typescript {7-8} title="src/mastra/workflows/weather-workflow.ts" showLineNumbers copy
143
+ ```typescript title="src/mastra/workflows/weather-workflow.ts"
145
144
  export type UserTier = {
146
145
  "user-tier": "enterprise" | "pro";
147
146
  };
@@ -151,43 +150,86 @@ const stepOne = createStep({
151
150
  execute: async ({ requestContext }) => {
152
151
  const userTier = requestContext.get("user-tier") as UserTier["user-tier"];
153
152
 
154
- if (userTier === "enterprise") {
155
- // ...
156
- }
157
- // ...
153
+ if (userTier === "enterprise") {}
158
154
  },
159
155
  });
160
156
  ```
161
157
 
162
- > See [createStep()](/reference/v1/workflows/step) for a full list of configuration options.
158
+ :::info
159
+
160
+ Visit [createStep()](/reference/v1/workflows/step) for a full list of configuration options.
161
+
162
+ :::
163
163
 
164
164
  ## Accessing values with tools
165
165
 
166
- You can access the `requestContext` argument from a tools `execute` function. This function is `async`. Use the `.get()` method to read values from `requestContext`.
166
+ You can access the `requestContext` argument from a tool's `execute` function. This function is `async`. Use the `.get()` method to read values from `requestContext`.
167
167
 
168
- ```typescript {7-8} title="src/mastra/tools/weather-tool.ts" showLineNumbers
168
+ ```typescript title="src/mastra/tools/weather-tool.ts"
169
169
  export type UserTier = {
170
170
  "user-tier": "enterprise" | "pro";
171
171
  };
172
172
 
173
173
  export const weatherTool = createTool({
174
174
  id: "weather-tool",
175
- execute: async ({ requestContext }) => {
176
- const userTier = requestContext.get("user-tier") as UserTier["user-tier"];
175
+ execute: async (inputData, context) => {
176
+ const userTier = context?.requestContext?.get("user-tier") as UserTier["user-tier"] | undefined;
177
177
 
178
- if (userTier === "enterprise") {
179
- // ...
180
- }
181
- // ...
178
+ if (userTier === "enterprise") {}
182
179
  },
183
180
  });
184
181
  ```
185
182
 
186
- > See [createTool()](/reference/v1/tools/create-tool) for a full list of configuration options.
183
+ :::info
184
+
185
+ Visit [createTool()](/reference/v1/tools/create-tool) for a full list of configuration options.
186
+
187
+ :::
188
+
189
+ ## TypeScript support
190
+
191
+ When you provide a type parameter to `RequestContext`, all methods are fully typed:
192
+
193
+ ```typescript
194
+ import { RequestContext } from "@mastra/core/request-context";
195
+
196
+ type MyContext = {
197
+ userId: string;
198
+ maxTokens: number;
199
+ isPremium: boolean;
200
+ };
201
+
202
+ const ctx = new RequestContext<MyContext>();
203
+
204
+ // set() enforces correct value types
205
+ ctx.set("userId", "user-123"); // ✓ valid
206
+ ctx.set("maxTokens", 4096); // ✓ valid
207
+ ctx.set("maxTokens", "wrong"); // ✗ TypeScript error: expected number
208
+
209
+ // get() returns the correct type automatically
210
+ const tokens = ctx.get("maxTokens"); // inferred as number
211
+ const id = ctx.get("userId"); // inferred as string
212
+
213
+ // keys() returns typed keys
214
+ for (const key of ctx.keys()) {
215
+ // key is "userId" | "maxTokens" | "isPremium"
216
+ }
217
+
218
+ // entries() supports type narrowing
219
+ for (const [key, value] of ctx.entries()) {
220
+ if (key === "maxTokens") {
221
+ // TypeScript knows value is number here
222
+ console.log(value.toFixed(2));
223
+ }
224
+ if (key === "userId") {
225
+ // TypeScript knows value is string here
226
+ console.log(value.toUpperCase());
227
+ }
228
+ }
229
+ ```
187
230
 
188
231
  ## Related
189
232
 
190
233
  - [Agent Request Context](/docs/v1/agents/overview#using-requestcontext)
191
234
  - [Workflow Request Context](../workflows/overview#using-requestcontext)
192
- - [Tool Request Context](../mcp/overview#using-requestcontext)
193
- - [Server Middleware](/docs/v1/server-db/middleware)
235
+ - [Server Middleware](/docs/v1/server/middleware)
@@ -0,0 +1,410 @@
1
+ ---
2
+ title: "Server Adapters | Server"
3
+ description: "Manually configure a Mastra server using Hono or Express adapters."
4
+ packages:
5
+ - "@mastra/express"
6
+ - "@mastra/hono"
7
+ ---
8
+
9
+ import Tabs from "@theme/Tabs";
10
+ import TabItem from "@theme/TabItem";
11
+
12
+ # Server Adapters
13
+
14
+ Server adapters let you run Mastra with your own HTTP server instead of the Hono server generated by `mastra build`. They provide more control over the server setup, including custom middleware ordering, authentication, logging, and deployment configuration. You can still integrate Mastra into any Node.js application without changing how agents or workflows execute.
15
+
16
+ ## When to use server adapters
17
+
18
+ - You want Mastra’s endpoints added automatically to an existing application
19
+ - You need direct access to the server instance for custom configuration
20
+ - Your team prefers using another server framework instead of the Hono server created by `mastra build`.
21
+
22
+ :::tip
23
+
24
+ For deployments without custom server requirements, use `mastra build` instead. It configures server setup, registers middleware, and applies deployment settings based on your project configuration. See [Server Configuration](/docs/v1/server/mastra-server).
25
+
26
+ If you want to use [Studio](/docs/v1/getting-started/studio) with your server adapter, use [`mastra studio`](/reference/v1/cli/mastra#mastra-studio) to only launch the Studio UI.
27
+
28
+ :::
29
+
30
+ ## Available adapters
31
+
32
+ Mastra currently provides these official server adapters:
33
+
34
+ - [@mastra/express](/reference/v1/server/express-adapter)
35
+ - [@mastra/hono](/reference/v1/server/hono-adapter)
36
+ - [@mastra/fastify](/reference/v1/server/fastify-adapter)
37
+ - [@mastra/koa](/reference/v1/server/koa-adapter)
38
+
39
+ You can build your own adapter, read [custom adapters](/docs/v1/server/custom-adapters) for details.
40
+
41
+ ## Installation
42
+
43
+ Install the adapter for the framework of your choice.
44
+
45
+ <Tabs>
46
+ <TabItem value="express" label="Express">
47
+
48
+ ```bash
49
+ npm install @mastra/express@beta
50
+ ```
51
+ </TabItem>
52
+ <TabItem value="hono" label="Hono">
53
+
54
+ ```bash
55
+ npm install @mastra/hono@beta
56
+ ```
57
+ </TabItem>
58
+ <TabItem value="fastify" label="Fastify">
59
+
60
+ ```bash
61
+ npm install @mastra/fastify@beta
62
+ ```
63
+ </TabItem>
64
+ <TabItem value="koa" label="Koa">
65
+
66
+ ```bash
67
+ npm install @mastra/koa@beta
68
+ ```
69
+ </TabItem>
70
+ </Tabs>
71
+
72
+ ## Configuration
73
+
74
+ Initialize your app as usual, then create a `MastraServer` by passing in the `app` and your main `mastra` instance from `src/mastra/index.ts`. Calling `init()` automatically registers Mastra middleware and all available endpoints. You can continue adding your own routes as normal, either before or after `init()`, and they’ll run alongside Mastra’s endpoints.
75
+
76
+ <Tabs>
77
+ <TabItem value="express" label="Express">
78
+
79
+ ```typescript {8} title="src/express-server.ts"
80
+ import express from "express";
81
+ import { MastraServer } from "@mastra/express";
82
+ import { mastra } from "./mastra";
83
+
84
+ const app = express();
85
+ app.use(express.json());
86
+
87
+ const server = new MastraServer({ app, mastra });
88
+
89
+ await server.init();
90
+
91
+ app.listen(4111, () => {
92
+ console.log('Server running on port 4111');
93
+ });
94
+ ```
95
+
96
+ :::info
97
+
98
+ See the [Express Adapter](/reference/v1/server/express-adapter) documentation for full configuration options.
99
+
100
+ :::
101
+
102
+ </TabItem>
103
+ <TabItem value="hono" label="Hono">
104
+
105
+ ```typescript {8} title="src/hono-server.ts"
106
+ import { Hono } from "hono";
107
+ import { serve } from "@hono/node-server";
108
+ import { HonoBindings, HonoVariables, MastraServer } from "@mastra/hono";
109
+ import { mastra } from "./mastra";
110
+
111
+ const app = new Hono<{ Bindings: HonoBindings; Variables: HonoVariables }>();
112
+
113
+ const server = new MastraServer({ app, mastra });
114
+
115
+ await server.init();
116
+
117
+ serve({ fetch: app.fetch, port: 4111 }, () => {
118
+ console.log('Server running on port 4111');
119
+ });
120
+ ```
121
+
122
+ :::info
123
+
124
+ See the [Hono Adapter](/reference/v1/server/hono-adapter) documentation for full configuration options.
125
+
126
+ :::
127
+
128
+ </TabItem>
129
+ <TabItem value="fastify" label="Fastify">
130
+
131
+ ```typescript {6} title="src/fastify-server.ts"
132
+ import Fastify from 'fastify';
133
+ import { MastraServer } from '@mastra/fastify';
134
+ import { mastra } from './mastra';
135
+
136
+ const app = Fastify();
137
+ const server = new MastraServer({ app, mastra });
138
+
139
+ await server.init();
140
+
141
+ app.get('/health', async request => {
142
+ const mastraInstance = request.mastra;
143
+ const agents = Object.keys(mastraInstance.listAgents());
144
+ return { status: 'ok', agents };
145
+ });
146
+
147
+ const port = 4111;
148
+
149
+ app.listen({ port }, () => {
150
+ console.log(`Server running on http://localhost:${port}`);
151
+ console.log(`Try: curl http://localhost:${port}/api/agents`);
152
+ });
153
+ ```
154
+
155
+ :::info
156
+
157
+ See the [Fastify Adapter](/reference/v1/server/fastify-adapter) documentation for full configuration options.
158
+
159
+ :::
160
+
161
+ </TabItem>
162
+ <TabItem value="koa" label="Koa">
163
+
164
+ ```typescript {9} title="src/koa-server.ts"
165
+ import Koa from 'koa';
166
+ import bodyParser from 'koa-bodyparser';
167
+ import { MastraServer } from '@mastra/koa';
168
+ import { mastra } from './mastra';
169
+
170
+ const app = new Koa();
171
+ app.use(bodyParser()); // Required for body parsing
172
+
173
+ const server = new MastraServer({ app, mastra });
174
+
175
+ await server.init();
176
+
177
+ app.use(async (ctx, next) => {
178
+ if (ctx.path === '/health' && ctx.method === 'GET') {
179
+ const mastraInstance = ctx.state.mastra;
180
+ const agents = Object.keys(mastraInstance.listAgents());
181
+ ctx.body = { status: 'ok', agents };
182
+ return;
183
+ }
184
+ await next();
185
+ });
186
+
187
+ const port = 4111;
188
+
189
+ app.listen(port, () => {
190
+ console.log(`Server running on http://localhost:${port}`);
191
+ console.log(`Try: curl http://localhost:${port}/api/agents`);
192
+ });
193
+ ```
194
+
195
+ :::info
196
+
197
+ See the [Koa Adapter](/reference/v1/server/koa-adapter) documentation for full configuration options.
198
+
199
+ :::
200
+
201
+ </TabItem>
202
+ </Tabs>
203
+
204
+ ## Initialization flow
205
+
206
+ Calling `init()` runs three steps in order. Understanding this flow helps when you need to insert your own middleware at specific points.
207
+
208
+ 1. `registerContextMiddleware()`: Attaches the Mastra instance, request context, tools, and abort signal to every request. This makes Mastra available to all subsequent middleware and route handlers.
209
+ 2. `registerAuthMiddleware()`: Adds authentication and authorization middleware, but only if `server.auth` is configured in your Mastra instance. Skipped entirely if no auth is configured.
210
+ 3. `registerRoutes()`: Registers all Mastra API routes for agents, workflows, and other features. Also registers MCP routes if MCP servers are configured.
211
+
212
+ ### Manual initialization
213
+
214
+ For custom middleware ordering, call each method separately instead of `init()`. This is useful when you need middleware that runs before Mastra's context is set up, or when you need to insert logic between the initialization steps.
215
+
216
+ ```typescript title="server.ts"
217
+ const server = new MastraServer({ app, mastra });
218
+
219
+ // Your middleware first
220
+ app.use(loggingMiddleware);
221
+
222
+ server.registerContextMiddleware();
223
+
224
+ // Middleware that needs Mastra context
225
+ app.use(customMiddleware);
226
+
227
+ server.registerAuthMiddleware();
228
+ await server.registerRoutes();
229
+
230
+ // Routes after Mastra
231
+ app.get('/health', ...);
232
+ ```
233
+
234
+ :::tip
235
+
236
+ Use manual initialization when you need middleware that runs before Mastra's context is available, or when you need to insert middleware between the context and auth steps.
237
+
238
+ :::
239
+
240
+ ## Adding custom routes
241
+
242
+ You can add your own routes to the app alongside Mastra's routes.
243
+
244
+ - Routes added **before** `init()` won't have Mastra context available.
245
+ - Routes added **after** `init()` have access to the Mastra context (the Mastra instance, request context, authenticated user, etc.).
246
+
247
+ :::info
248
+
249
+ Visit "Adding custom routes" for [Express](/reference/v1/server/express-adapter#adding-custom-routes) and [Hono](/reference/v1/server/hono-adapter#adding-custom-routes) for more information.
250
+
251
+ :::
252
+
253
+ ## Route prefixes
254
+
255
+ By default, Mastra routes are registered at `/api/agents`, `/api/workflows`, etc. Use the `prefix` option to change this. This is useful for API versioning or when integrating with an existing app that has its own `/api` routes.
256
+
257
+ ```typescript
258
+ const server = new MastraServer({
259
+ app,
260
+ mastra,
261
+ prefix: '/api/v2',
262
+ });
263
+ ```
264
+
265
+ With this prefix, Mastra routes become `/api/v2/agents`, `/api/v2/workflows`, etc. Custom routes you add directly to the app are not affected by this prefix.
266
+
267
+ ## OpenAPI spec
268
+
269
+ Mastra can generate an OpenAPI specification for all registered routes. This is useful for documentation, client generation, or integration with API tools. Enable it by setting the `openapiPath` option:
270
+
271
+ ```typescript
272
+ const server = new MastraServer({
273
+ app,
274
+ mastra,
275
+ openapiPath: '/openapi.json',
276
+ });
277
+ ```
278
+
279
+ The spec is generated from the Zod schemas defined on each route and served at the specified path. It includes all Mastra routes as well as any custom routes created with `createRoute()`.
280
+
281
+ ## Stream data redaction
282
+
283
+ When streaming agent responses over HTTP, the HTTP streaming layer redacts sensitive information from stream chunks before sending them to clients. This prevents accidental exposure of:
284
+
285
+ - System prompts and agent instructions
286
+ - Tool definitions and their parameters
287
+ - API keys and other credentials in request bodies
288
+ - Internal configuration data
289
+
290
+ This redaction happens at the HTTP boundary, so internal callbacks like `onStepFinish` still have access to the full request data for debugging and observability purposes.
291
+
292
+ By default, redaction is enabled. Configure this behavior via `streamOptions`. Set `redact: false` only for internal services or debugging scenarios where you need access to the full request data in stream responses.
293
+
294
+ ```typescript
295
+ const server = new MastraServer({
296
+ app,
297
+ mastra,
298
+ streamOptions: {
299
+ redact: true, // Default
300
+ },
301
+ });
302
+ ```
303
+
304
+ :::info
305
+
306
+ See [MastraServer](/reference/v1/server/mastra-server) for full configuration options.
307
+
308
+ :::
309
+
310
+ ## Per-route auth overrides
311
+
312
+ When authentication is configured on your Mastra instance, all routes require authentication by default. Sometimes you need exceptions: public health check endpoints, webhook receivers, or admin routes that need stricter controls.
313
+
314
+ Use `customRouteAuthConfig` to override authentication behavior for specific routes. Keys follow the format `METHOD:PATH` where method is `GET`, `POST`, `PUT`, `DELETE`, or `ALL`. Paths support wildcards (`*`) for matching multiple routes. Setting a value to `false` makes the route public, while `true` requires authentication.
315
+
316
+ ```typescript
317
+ const server = new MastraServer({
318
+ app,
319
+ mastra,
320
+ customRouteAuthConfig: new Map([
321
+ // Public health check
322
+ ['GET:/api/health', false],
323
+ // Public API spec
324
+ ['GET:/api/openapi.json', false],
325
+ // Public webhook endpoints
326
+ ['POST:/api/webhooks/*', false],
327
+ // Require auth even if globally disabled
328
+ ['POST:/api/admin/reset', true],
329
+ // Protect all methods on internal routes
330
+ ['ALL:/api/internal/*', true],
331
+ ]),
332
+ });
333
+ ```
334
+
335
+ :::info
336
+
337
+ See [MastraServer](/reference/v1/server/mastra-server) for full configuration options.
338
+
339
+ :::
340
+
341
+ ## Accessing the app
342
+
343
+ After creating the adapter, you may still need access to the underlying framework app. This is useful when passing it to a platform’s `serve` function or when adding routes from another module.
344
+
345
+ ```typescript
346
+ // Via the MastraServer instance
347
+ const app = server.getApp();
348
+
349
+ // Via the Mastra instance (available after adapter construction)
350
+ const app = mastra.getServerApp();
351
+ ```
352
+
353
+ Both methods return the same app instance. Use whichever is more convenient based on what's in scope.
354
+
355
+ ## Server config vs adapter options
356
+
357
+ When using server adapters, configuration comes from two places: the Mastra `server` config (passed to the `Mastra` constructor) and the adapter constructor options. Understanding which options come from where helps avoid confusion when settings don't seem to take effect.
358
+
359
+ ### Used by adapters
360
+
361
+ The adapter reads these settings from `mastra.getServer()`:
362
+
363
+ | Option | Description |
364
+ |--------|-------------|
365
+ | `auth` | Authentication config, used by `registerAuthMiddleware()`. |
366
+ | `bodySizeLimit` | Default body size limit in bytes. Can be overridden per-adapter via `bodyLimitOptions`. |
367
+
368
+ ### Adapter constructor only
369
+
370
+ These options are passed directly to the adapter constructor and are not read from the Mastra config:
371
+
372
+ | Option | Description |
373
+ |--------|-------------|
374
+ | `prefix` | Route path prefix |
375
+ | `openapiPath` | OpenAPI spec endpoint |
376
+ | `bodyLimitOptions` | Body size limit with custom error handler |
377
+ | `streamOptions` | Stream redaction settings |
378
+ | `customRouteAuthConfig` | Per-route auth overrides |
379
+
380
+ ### Not used by adapters
381
+
382
+ These `server` config options are only used by `mastra build` and have no effect when using adapters directly:
383
+
384
+ | Option | Used by |
385
+ |--------|---------|
386
+ | `port`, `host` | `mastra dev`, `mastra build` |
387
+ | `cors` | `mastra build` adds CORS middleware |
388
+ | `timeout` | `mastra build` |
389
+ | `apiRoutes` | `registerApiRoute()` for `mastra build` |
390
+ | `middleware` | Middleware config for `mastra build` |
391
+
392
+ When using adapters, configure these features directly with your framework. For example, add CORS middleware using Hono's or Express's built-in CORS packages, and set the port when calling your framework's listen function.
393
+
394
+ ## MCP support
395
+
396
+ Server adapters register MCP (Model Context Protocol) routes during `registerRoutes()` when MCP servers are configured in your Mastra instance. MCP allows external tools and services to connect to your Mastra server and interact with your agents.
397
+
398
+ The adapter registers routes for both HTTP and SSE (Server-Sent Events) transports, enabling different client connection patterns.
399
+
400
+ See [MCP](/docs/v1/mcp/overview) for configuration details and how to set up MCP servers.
401
+
402
+ ## Related
403
+
404
+ - [Hono Adapter](/reference/v1/server/hono-adapter) - Hono-specific setup
405
+ - [Express Adapter](/reference/v1/server/express-adapter) - Express-specific setup
406
+ - [Custom Adapters](/docs/v1/server/custom-adapters) - Building adapters for other frameworks
407
+ - [Server Configuration](/docs/v1/server/mastra-server) - Using `mastra build` instead
408
+ - [Authentication](/docs/v1/server/auth) - Configuring auth for your server
409
+ - [MastraServer Reference](/reference/v1/server/mastra-server) - Full API reference
410
+ - [createRoute() Reference](/reference/v1/server/create-route) - Creating type-safe custom routes