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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +250 -50
  7. package/.docs/organized/changelogs/%40mastra%2Fastra.md +201 -1
  8. package/.docs/organized/changelogs/%40mastra%2Fauth.md +6 -0
  9. package/.docs/organized/changelogs/%40mastra%2Fchroma.md +201 -1
  10. package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +201 -1
  11. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +201 -1
  12. package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +201 -1
  13. package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +201 -1
  14. package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +26 -0
  15. package/.docs/organized/changelogs/%40mastra%2Fconvex.md +89 -0
  16. package/.docs/organized/changelogs/%40mastra%2Fcore.md +393 -193
  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 +201 -1
  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 +234 -34
  40. package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +201 -1
  41. package/.docs/organized/changelogs/%40mastra%2Frag.md +201 -1
  42. package/.docs/organized/changelogs/%40mastra%2Freact.md +128 -1
  43. package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +18 -0
  44. package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +42 -0
  45. package/.docs/organized/changelogs/%40mastra%2Fserver.md +244 -44
  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 +27 -24
  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 +279 -0
  99. package/.docs/raw/agents/structured-output.mdx +224 -0
  100. package/.docs/raw/agents/using-tools.mdx +14 -14
  101. package/.docs/raw/auth/auth0.mdx +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 +6 -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 +8 -6
  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 +51 -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 +8 -12
  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 +2 -2
  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 +502 -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 +2 -2
  366. package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +1 -1
  367. package/.docs/raw/reference/streaming/agents/stream.mdx +68 -95
  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 +1 -1
  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 +21 -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} +16 -8
  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 +186 -1
  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 +81 -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 +11 -15
  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
@@ -0,0 +1,224 @@
1
+ ---
2
+ title: "Structured Output | Agents"
3
+ description: "Learn how to generate structured data from agents using schemas and validation."
4
+ ---
5
+
6
+ import Tabs from "@theme/Tabs";
7
+ import TabItem from "@theme/TabItem";
8
+
9
+ # Structured Output
10
+
11
+ Structured output lets an agent return an object that matches the shape defined by a schema instead of returning text. The schema tells the model what fields to produce, and the model ensures the final result fits that shape.
12
+
13
+ ## When to use structured output
14
+
15
+ Use structured output when you need an agent to return a data object rather than text. Having well defined fields can make it simpler to pull out the values you need for API calls, UI rendering, or application logic.
16
+
17
+ ## Defining schemas
18
+
19
+ Agents can return structured data by defining the expected output with either [Zod](https://zod.dev/) or [JSON Schema](https://json-schema.org/). Zod is recommended because it provides TypeScript type inference and runtime validation, while JSON Schema is useful when you need a language agnostic format.
20
+
21
+ <Tabs>
22
+ <TabItem value="zod" label="Zod">
23
+
24
+ Define the `output` shape using [Zod](https://zod.dev/):
25
+
26
+ ```typescript showLineNumbers copy
27
+ import { z } from "zod";
28
+
29
+ const response = await testAgent.generate("Help me plan my day.", {
30
+ structuredOutput: {
31
+ schema: z.array(
32
+ z.object({
33
+ name: z.string(),
34
+ activities: z.array(z.string()),
35
+ }),
36
+ ),
37
+ },
38
+ });
39
+
40
+ console.log(response.object);
41
+ ```
42
+
43
+ </TabItem>
44
+ <TabItem value="json-schema" label="JSON Schema">
45
+
46
+ You can also use JSON Schema to define your output structure:
47
+
48
+ ```typescript showLineNumbers copy
49
+ const response = await testAgent.generate("Help me plan my day.", {
50
+ structuredOutput: {
51
+ schema: {
52
+ type: "array",
53
+ items: {
54
+ type: "object",
55
+ properties: {
56
+ name: { type: "string" },
57
+ activities: {
58
+ type: "array",
59
+ items: { type: "string" },
60
+ },
61
+ },
62
+ required: ["name", "activities"],
63
+ },
64
+ },
65
+ },
66
+ });
67
+
68
+ console.log(response.object);
69
+ ```
70
+
71
+ </TabItem>
72
+ </Tabs>
73
+
74
+
75
+ > See [.generate()](/reference/v1/agents/generate#structuredoutput) for a full list of configuration options.
76
+
77
+ ### Example output
78
+
79
+ The `response.object` will contain the structured data as defined by the schema.
80
+
81
+ ```json
82
+ [
83
+ {
84
+ "name": "Morning Routine",
85
+ "activities": ["Wake up at 7am", "Exercise", "Shower", "Breakfast"]
86
+ },
87
+ {
88
+ "name": "Work",
89
+ "activities": ["Check emails", "Team meeting", "Lunch break"]
90
+ },
91
+ {
92
+ "name": "Evening",
93
+ "activities": ["Dinner", "Relax", "Read a book", "Sleep by 10pm"]
94
+ }
95
+ ]
96
+ ```
97
+
98
+ ## Streaming
99
+
100
+ Streaming also supports structured output. The final structured object is available on `stream.fullStream` and after the stream completes on `stream.object`. Text stream chunks are still emitted, but they contain natural language text rather than structured data.
101
+
102
+ ```typescript showLineNumbers copy
103
+ import { z } from "zod";
104
+
105
+ const stream = await testAgent.stream("Help me plan my day.", {
106
+ structuredOutput: {
107
+ schema: z.array(
108
+ z.object({
109
+ name: z.string(),
110
+ activities: z.array(z.string())
111
+ })
112
+ ),
113
+ },
114
+ });
115
+
116
+ for await (const chunk of stream.fullStream) {
117
+ if (chunk.type === "object-result") {
118
+ console.log("\n", JSON.stringify(chunk, null, 2));
119
+ }
120
+ process.stdout.write(JSON.stringify(chunk));
121
+ }
122
+
123
+ console.log(await stream.object)
124
+
125
+ for await (const chunk of stream.textStream) {
126
+ process.stdout.write(chunk);
127
+ }
128
+ ```
129
+
130
+ ## Structuring agent
131
+
132
+ When your main agent isn't proficient at creating structured output you can provide a `model` to `structuredOutput`. In this case, Mastra uses a second agent under the hood to extract structured data from the main agent's natural language response. This makes two LLM calls, one to generate the response and another to turn that response into the structured object, which adds some latency and cost but can improve accuracy for complex structuring tasks.
133
+
134
+ ```typescript showLineNumbers copy
135
+ import { z } from "zod";
136
+
137
+ const response = await testAgent.generate("Analyze the TypeScript programming language.", {
138
+ structuredOutput: {
139
+ schema: z.object({
140
+ overview: z.string(),
141
+ strengths: z.array(z.string()),
142
+ weaknesses: z.array(z.string()),
143
+ useCases: z.array(z.object({
144
+ scenario: z.string(),
145
+ reasoning: z.string(),
146
+ })),
147
+ comparison: z.object({
148
+ similarTo: z.array(z.string()),
149
+ differentiators: z.array(z.string()),
150
+ }),
151
+ }),
152
+ model: "openai/gpt-4o",
153
+ },
154
+ });
155
+
156
+ console.log(response.object);
157
+ ```
158
+
159
+ ## Response format
160
+
161
+ By default, Mastra passes the schema to the model provider using the `response_format` API parameter. Most model providers have built-in support for this, which reliably enforces the schema.
162
+
163
+ If your model provider doesn't support `response_format`, you'll get an error from the API. When this happens, set `jsonPromptInjection: true`. This adds the schema to the system prompt instead, instructing the model to output JSON. This is less reliable than the API parameter approach.
164
+
165
+ ```typescript showLineNumbers copy
166
+ import { z } from "zod";
167
+
168
+ const response = await testAgent.generate("Help me plan my day.", {
169
+ structuredOutput: {
170
+ schema: z.array(
171
+ z.object({
172
+ name: z.string(),
173
+ activities: z.array(z.string()),
174
+ }),
175
+ ),
176
+ jsonPromptInjection: true,
177
+ },
178
+ });
179
+
180
+ console.log(response.object);
181
+ ```
182
+
183
+ :::info[Gemini 2.5 with tools]
184
+
185
+ Gemini 2.5 models do not support combining `response_format` (structured output) with function calling (tools) in the same API call. If your agent has tools and you're using `structuredOutput` with a Gemini 2.5 model, you must set `jsonPromptInjection: true` to avoid the error `Function calling with a response mime type: 'application/json' is unsupported`.
186
+
187
+ ```typescript
188
+ const response = await agentWithTools.generate("Your prompt", {
189
+ structuredOutput: {
190
+ schema: yourSchema,
191
+ jsonPromptInjection: true, // Required for Gemini 2.5 when tools are present
192
+ },
193
+ });
194
+ ```
195
+ :::
196
+
197
+ ## Error handling
198
+
199
+ When schema validation fails, you can control how errors are handled using `errorStrategy`. The default `strict` strategy throws an error, while `warn` logs a warning and continues. The `fallback` strategy returns the values provided using `fallbackValue`.
200
+
201
+ ```typescript showLineNumbers copy
202
+ import { z } from "zod";
203
+
204
+ const response = await testAgent.generate("Tell me about TypeScript.", {
205
+ structuredOutput: {
206
+ schema: z.object({
207
+ summary: z.string(),
208
+ keyFeatures: z.array(z.string())
209
+ }),
210
+ errorStrategy: "fallback",
211
+ fallbackValue: {
212
+ summary: "TypeScript is a typed superset of JavaScript",
213
+ keyFeatures: ["Static typing", "Compiles to JavaScript", "Better tooling"]
214
+ }
215
+ }
216
+ });
217
+
218
+ console.log(response.object);
219
+ ```
220
+
221
+ ## Related
222
+
223
+ - [Using Tools](/docs/v1/agents/using-tools)
224
+ - [Agent Memory](/docs/v1/agents/agent-memory)
@@ -1,11 +1,11 @@
1
1
  ---
2
- title: "Using Tools | Agents | Mastra Docs"
2
+ title: "Using Tools | Agents"
3
3
  description: Learn how to create tools and add them to agents to extend capabilities beyond text generation.
4
4
  ---
5
5
 
6
6
  # Using Tools
7
7
 
8
- Agents use tools to call APIs, query databases, or run custom functions from your codebase. [Tools](../tools-mcp/overview) give agents capabilities beyond language generation by providing structured access to data and performing clearly defined operations. You can also load tools from remote [MCP servers](../tools-mcp/mcp-overview) to expand an agents capabilities.
8
+ Agents use tools to call APIs, query databases, or run custom functions from your codebase. Tools give agents capabilities beyond language generation by providing structured access to data and performing clearly defined operations. You can also load tools from remote [MCP servers](/docs/v1/mcp/overview) to expand an agent's capabilities.
9
9
 
10
10
  ## When to use tools
11
11
 
@@ -13,6 +13,8 @@ Use tools when an agent needs additional context or information from remote reso
13
13
 
14
14
  ## Creating a tool
15
15
 
16
+ When creating tools, keep descriptions simple and focused on what the tool does, emphasizing its primary use case. Descriptive schema names can also help guide the agent on how to use the tool.
17
+
16
18
  This example shows how to create a tool that fetches weather data from an API. When the agent calls the tool, it provides the required input as defined by the tool's `inputSchema`. The tool accesses this data through its `inputData` parameter, which in this example includes the `location` used in the weather API query.
17
19
 
18
20
  ```typescript {14} title="src/mastra/tools/weather-tool.ts" showLineNumbers copy
@@ -41,10 +43,11 @@ export const weatherTool = createTool({
41
43
 
42
44
  ## Adding tools to an agent
43
45
 
44
- To make a tool available to an agent, add it to the `tools` option and reference it by name in the agents instructions.
46
+ To make a tool available to an agent, add it to `tools`. Mentioning available tools and their general purpose in the agent's system prompt helps the agent decide when to call a tool and when not to.
47
+
48
+ An agent can use multiple tools to handle more complex tasks by delegating specific parts to individual tools. The agent decides which tools to use based on the user's message, the agent's instructions, and the tool descriptions and schemas.
45
49
 
46
- ```typescript {9,11} title="src/mastra/agents/weather-agent.ts" showLineNumbers copy
47
- import { openai } from "@ai-sdk/openai";
50
+ ```typescript {8,10} title="src/mastra/agents/weather-agent.ts" showLineNumbers copy
48
51
  import { Agent } from "@mastra/core/agent";
49
52
  import { weatherTool } from "../tools/weather-tool";
50
53
 
@@ -54,7 +57,7 @@ export const weatherAgent = new Agent({
54
57
  instructions: `
55
58
  You are a helpful weather assistant.
56
59
  Use the weatherTool to fetch current weather data.`,
57
- model: openai("gpt-4o-mini"),
60
+ model: "openai/gpt-5.1",
58
61
  tools: { weatherTool },
59
62
  });
60
63
  ```
@@ -63,7 +66,7 @@ export const weatherAgent = new Agent({
63
66
 
64
67
  The agent uses the tool's `inputSchema` to infer what data the tool expects. In this case, it extracts `London` as the `location` from the message and passes it to the tool's inputData parameter.
65
68
 
66
- ```typescript {5} title="src/test-tool.ts" showLineNumbers copy
69
+ ```typescript title="src/test-tool.ts" showLineNumbers copy
67
70
  import { mastra } from "./mastra";
68
71
 
69
72
  const agent = mastra.getAgent("weatherAgent");
@@ -73,11 +76,9 @@ const result = await agent.generate("What's the weather in London?");
73
76
 
74
77
  ## Using multiple tools
75
78
 
76
- An agent can use multiple tools to handle more complex tasks by delegating specific parts to individual tools. The agent decides which tools to use based on the user’s message, the agent’s instructions, and the tool descriptions and schemas.
77
-
78
- When multiple tools are available, the agent may choose to use one, several, or none, depending on what’s needed to answer the query.
79
+ When multiple tools are available, the agent may choose to use one, several, or none, depending on what's needed to answer the query.
79
80
 
80
- ```typescript {6} title="src/mastra/agents/weather-agent.ts" showLineNumbers copy
81
+ ```typescript {8} title="src/mastra/agents/weather-agent.ts" showLineNumbers copy
81
82
  import { weatherTool } from "../tools/weather-tool";
82
83
  import { activitiesTool } from "../tools/activities-tool";
83
84
 
@@ -91,7 +92,6 @@ export const weatherAgent = new Agent({
91
92
 
92
93
  ## Related
93
94
 
94
- - [Tools Overview](../tools-mcp/overview)
95
- - [Agent Memory](./agent-memory)
95
+ - [MCP Overview](/docs/v1/mcp/overview)
96
+ - [Agent Memory](/docs/v1/agents/agent-memory)
96
97
  - [Request Context](/docs/v1/server-db/request-context)
97
- - [Calling Agents](/examples/v1/agents/calling-agents)
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "MastraAuthAuth0 Class | Auth | Mastra Docs"
2
+ title: "MastraAuthAuth0 Class | Auth"
3
3
  description: "Documentation for the MastraAuthAuth0 class, which authenticates Mastra applications using Auth0 authentication."
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "MastraAuthClerk Class | Auth | Mastra Docs"
2
+ title: "MastraAuthClerk Class | Auth"
3
3
  description: "Documentation for the MastraAuthClerk class, which authenticates Mastra applications using Clerk authentication."
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "MastraAuthFirebase Class | Auth | Mastra Docs"
2
+ title: "MastraAuthFirebase Class | Auth"
3
3
  description: "Documentation for the MastraAuthFirebase class, which authenticates Mastra applications using Firebase Authentication."
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Auth Overview | Auth | Mastra Docs"
2
+ title: "Auth Overview | Auth"
3
3
  description: Learn about different Auth options for your Mastra applications
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "MastraJwtAuth Class | Auth | Mastra Docs"
2
+ title: "MastraJwtAuth Class | Auth"
3
3
  description: "Documentation for the MastraJwtAuth class, which authenticates Mastra applications using JSON Web Tokens."
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "MastraAuthSupabase Class | Auth | Mastra Docs"
2
+ title: "MastraAuthSupabase Class | Auth"
3
3
  description: "Documentation for the MastraAuthSupabase class, which authenticates Mastra applications using Supabase Auth."
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "MastraAuthWorkos Class | Auth | Mastra Docs"
2
+ title: "MastraAuthWorkos Class | Auth"
3
3
  description: "Documentation for the MastraAuthWorkos class, which authenticates Mastra applications using WorkOS authentication."
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Contributing Templates | Community | Mastra Docs"
2
+ title: "Contributing Templates | Community"
3
3
  description: "How to contribute your own templates to the Mastra ecosystem"
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Discord Community | Community | Mastra Docs"
2
+ title: "Discord Community | Community"
3
3
  description: Information about the Mastra Discord community and MCP bot.
4
4
  ---
5
5
 
@@ -9,4 +9,4 @@ The Discord server has over 1000 members and serves as the main discussion forum
9
9
 
10
10
  ## Discord MCP Bot
11
11
 
12
- In addition to community members, we have an (experimental!) Discord bot that can also help answer questions. It uses [Model Context Protocol (MCP)](/docs/v1/tools-mcp/mcp-overview). You can ask it a question with `/ask` (either in public channels or DMs) and clear history (in DMs only) with `/cleardm`.
12
+ In addition to community members, we have an (experimental!) Discord bot that can also help answer questions. It uses [Model Context Protocol (MCP)](/docs/v1/mcp/overview). You can ask it a question with `/ask` (either in public channels or DMs) and clear history (in DMs only) with `/cleardm`.
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "License | Community | Mastra Docs"
2
+ title: "License | Community"
3
3
  description: "Mastra License"
4
4
  ---
5
5
 
@@ -1,14 +1,14 @@
1
- # Running the Playground
1
+ # Running Mastra Studio
2
2
 
3
- To test your agent as you build it, you'll need to run the Mastra playground:
3
+ To test your agent as you build it, you'll need to run the Mastra Studio:
4
4
 
5
5
  ```bash
6
6
  npm run dev
7
7
  ```
8
8
 
9
- This will start the playground at `http://localhost:4111/`, where you can interact with your agent and test its capabilities.
9
+ This will start the studio at `http://localhost:4111`, where you can interact with your agent and test its capabilities.
10
10
 
11
- The playground provides a user-friendly interface for testing your agent, allowing you to:
11
+ The studio provides a user-friendly interface for testing your agent, allowing you to:
12
12
 
13
13
  - Send messages to your agent
14
14
  - See the agent's responses
@@ -16,4 +16,4 @@ The playground provides a user-friendly interface for testing your agent, allowi
16
16
  - Test tools directly
17
17
  - Debug any issues that arise
18
18
 
19
- In the next step, we'll create our first agent with a simple system prompt and test it in the playground.
19
+ In the next step, we'll create our first agent with a simple system prompt and test it in the studio.
@@ -1,12 +1,12 @@
1
1
  # Testing Your Agent
2
2
 
3
- Now let's test our agent in the playground:
3
+ Now let's test our agent in Mastra Studio:
4
4
 
5
5
  1. Make sure your development server is running with `npm run dev`
6
- 2. Open the playground at http://localhost:4111/
6
+ 2. Open the studio at http://localhost:4111/
7
7
  3. You should see your "Financial Assistant Agent" in the list of agents
8
8
  4. Try sending a message like "Hello, can you help me analyze my spending?"
9
9
 
10
10
  At this point, your agent can respond to basic questions but doesn't have access to any transaction data. In the next step, we'll create a custom tool to fetch transaction data from a Google Sheet.
11
11
 
12
- Testing your agent in the playground is an important step in the development process. It allows you to see how your agent responds to different inputs and identify any issues that need to be addressed before deploying it to production.
12
+ Testing your agent in the studio is an important step in the development process. It allows you to see how your agent responds to different inputs and identify any issues that need to be addressed before deploying it to production.
@@ -1,9 +1,9 @@
1
1
  # Testing Your Tool
2
2
 
3
- Let's test our tool and agent in the playground:
3
+ Let's test our tool and agent in Mastra Studio:
4
4
 
5
5
  1. Make sure your development server is running with `npm run dev`
6
- 2. Open the playground at http://localhost:4111/
6
+ 2. Open the studio at http://localhost:4111/
7
7
  3. You can test the tool directly in the Tools tab to make sure it's working
8
8
  4. Then, try asking your agent questions like:
9
9
  - "Can you show me my recent transactions?"
@@ -12,4 +12,4 @@ Let's test our tool and agent in the playground:
12
12
 
13
13
  Your agent should now be able to fetch the transaction data and answer questions about it. However, it doesn't yet have memory, so it won't remember previous conversations. We'll add that in the next step.
14
14
 
15
- Testing your tool directly in the playground is a great way to verify that it's working correctly before integrating it with your agent. This helps you identify and fix any issues with the tool itself before troubleshooting potential issues with the agent's use of the tool.
15
+ Testing your tool directly in the studio is a great way to verify that it's working correctly before integrating it with your agent. This helps you identify and fix any issues with the tool itself before troubleshooting potential issues with the agent's use of the tool.
@@ -1,9 +1,9 @@
1
1
  # Testing Your Agent with Memory
2
2
 
3
- Let's test our agent's memory capabilities in the playground:
3
+ Let's test our agent's memory capabilities in Mastra Studio:
4
4
 
5
5
  1. Make sure your development server is running with `npm run dev`
6
- 2. Open the playground at http://localhost:4111/
6
+ 2. Open the studio at http://localhost:4111/
7
7
  3. Start a conversation with your agent by asking about transactions
8
8
  4. Then, ask a follow-up question that references the previous conversation, like:
9
9
  - "What was that largest transaction again?"
@@ -14,7 +14,7 @@ You should see output like:
14
14
 
15
15
  ```bash
16
16
  🚀 Mastra Dev Server starting...
17
- 📊 Playground available at: http://localhost:4111
17
+ 📊 Studio available at: http://localhost:4111
18
18
  ```
19
19
 
20
20
  ## Accessing Workflows in Playground
@@ -1,15 +1,15 @@
1
1
  ---
2
- title: "Deploy a Mastra Server | Deployment | Mastra Docs"
3
- description: "Learn how to deploy a Mastra server with build settings and deployment options."
2
+ title: "Building Mastra | Deployment"
3
+ description: "Learn how to build a Mastra server with build settings and deployment options."
4
4
  ---
5
5
 
6
- # Deploy a Mastra Server
6
+ # Building Mastra
7
7
 
8
8
  Mastra runs as a standard Node.js server and can be deployed across a wide range of environments.
9
9
 
10
10
  ## Default project structure
11
11
 
12
- The [getting started guide](/docs/v1/getting-started/installation) scaffolds a project with sensible defaults to help you begin quickly. By default, the CLI organizes application files under the `src/mastra/` directory, resulting in a structure similar to the following:
12
+ The [getting started guide](/guides/v1/getting-started/quickstart) scaffolds a project with sensible defaults to help you begin quickly. By default, the CLI organizes application files under the `src/mastra/` directory, resulting in a structure similar to the following:
13
13
 
14
14
  ```
15
15
  src/
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Amazon EC2 | Deployment | Mastra Docs"
2
+ title: "Amazon EC2 | Deployment"
3
3
  description: "Deploy your Mastra applications to Amazon EC2."
4
4
  ---
5
5
 
@@ -16,7 +16,7 @@ Deploy your Mastra applications to Amazon EC2 (Elastic Cloud Compute).
16
16
  This guide assumes your Mastra application has been created using the default
17
17
  `npx create-mastra@beta` command.
18
18
  For more information on how to create a new Mastra application,
19
- refer to our [getting started guide](/docs/v1/getting-started/installation)
19
+ refer to our [getting started guide](/guides/v1/getting-started/quickstart)
20
20
  :::
21
21
 
22
22
  ## Prerequisites
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "AWS Lambda | Deployment | Mastra Docs"
2
+ title: "AWS Lambda | Deployment"
3
3
  description: "Deploy your Mastra applications to AWS Lambda using Docker containers and the AWS Lambda Web Adapter."
4
4
  ---
5
5
 
@@ -15,7 +15,7 @@ This approach allows you to run your Mastra server as a containerized Lambda fun
15
15
  This guide assumes your Mastra application has been created using the default
16
16
  `npx create-mastra@beta` command.
17
17
  For more information on how to create a new Mastra application,
18
- refer to our [getting started guide](/docs/v1/getting-started/installation)
18
+ refer to our [getting started guide](/guides/v1/getting-started/quickstart)
19
19
  :::
20
20
 
21
21
  ## Prerequisites
@@ -216,7 +216,7 @@ Once deployed, test your Lambda function:
216
216
  2. Visit the URL in your browser to see your Mastra's server home screen
217
217
  3. Test your agents and workflows using the generated API endpoints
218
218
 
219
- For more information about available API endpoints, see the [Server documentation](/docs/v1/deployment/server-deployment).
219
+ For more information about available API endpoints, see the [Server documentation](/docs/v1/deployment/building-mastra).
220
220
 
221
221
  ## Connecting your client
222
222
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Azure App Services | Deployment | Mastra Docs"
2
+ title: "Azure App Services | Deployment"
3
3
  description: "Deploy your Mastra applications to Azure App Services."
4
4
  ---
5
5
 
@@ -14,7 +14,7 @@ Deploy your Mastra applications to Azure App Services.
14
14
  This guide assumes your Mastra application has been created using the default
15
15
  `npx create-mastra@beta` command.
16
16
  For more information on how to create a new Mastra application,
17
- refer to our [getting started guide](/docs/v1/getting-started/installation)
17
+ refer to our [getting started guide](/guides/v1/getting-started/quickstart)
18
18
  :::
19
19
 
20
20
  ## Prerequisites
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "CloudflareDeployer | Deployment | Mastra Docs"
2
+ title: "CloudflareDeployer | Deployment"
3
3
  description: "Learn how to deploy a Mastra application to Cloudflare using the Mastra CloudflareDeployer"
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Digital Ocean | Deployment | Mastra Docs"
2
+ title: "Digital Ocean | Deployment"
3
3
  description: "Deploy your Mastra applications to Digital Ocean."
4
4
  ---
5
5
 
@@ -16,7 +16,7 @@ Deploy your Mastra applications to Digital Ocean's App Platform and Droplets.
16
16
  This guide assumes your Mastra application has been created using the default
17
17
  `npx create-mastra@beta` command.
18
18
  For more information on how to create a new Mastra application,
19
- refer to our [getting started guide](./../../getting-started/installation)
19
+ refer to our [getting started guide](/guides/v1/getting-started/quickstart)
20
20
  :::
21
21
 
22
22
  <Tabs>