@mastra/mcp-docs-server 0.13.37 → 0.13.38

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 (397) hide show
  1. package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +2 -0
  2. package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +2 -0
  3. package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +8 -8
  4. package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +2 -0
  5. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +23 -23
  6. package/.docs/organized/changelogs/%40mastra%2Fcore.md +69 -69
  7. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +17 -17
  8. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +17 -17
  9. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +17 -17
  10. package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +17 -17
  11. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +25 -25
  12. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +15 -15
  13. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +27 -27
  14. package/.docs/organized/changelogs/%40mastra%2Freact.md +15 -15
  15. package/.docs/organized/changelogs/%40mastra%2Fserver.md +23 -23
  16. package/.docs/organized/changelogs/create-mastra.md +5 -5
  17. package/.docs/organized/changelogs/mastra.md +17 -17
  18. package/.docs/raw/agents/adding-voice.mdx +20 -9
  19. package/.docs/raw/agents/agent-memory.mdx +55 -39
  20. package/.docs/raw/agents/guardrails.mdx +68 -61
  21. package/.docs/raw/agents/networks.mdx +50 -46
  22. package/.docs/raw/agents/overview.mdx +125 -88
  23. package/.docs/raw/agents/using-tools.mdx +14 -15
  24. package/.docs/raw/auth/auth0.mdx +28 -27
  25. package/.docs/raw/auth/clerk.mdx +22 -20
  26. package/.docs/raw/auth/firebase.mdx +42 -39
  27. package/.docs/raw/auth/index.mdx +1 -1
  28. package/.docs/raw/auth/jwt.mdx +18 -16
  29. package/.docs/raw/auth/supabase.mdx +20 -18
  30. package/.docs/raw/auth/workos.mdx +32 -26
  31. package/.docs/raw/community/contributing-templates.mdx +7 -7
  32. package/.docs/raw/community/discord.mdx +2 -2
  33. package/.docs/raw/community/licensing.mdx +1 -1
  34. package/.docs/raw/course/03-agent-memory/26-updating-mastra-export-comprehensive.md +0 -32
  35. package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +41 -22
  36. package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +48 -29
  37. package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +52 -24
  38. package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +86 -55
  39. package/.docs/raw/deployment/cloud-providers/index.mdx +16 -13
  40. package/.docs/raw/deployment/monorepo.mdx +32 -42
  41. package/.docs/raw/deployment/overview.mdx +15 -15
  42. package/.docs/raw/deployment/server-deployment.mdx +18 -23
  43. package/.docs/raw/deployment/serverless-platforms/cloudflare-deployer.mdx +16 -17
  44. package/.docs/raw/deployment/serverless-platforms/index.mdx +15 -12
  45. package/.docs/raw/deployment/serverless-platforms/netlify-deployer.mdx +14 -23
  46. package/.docs/raw/deployment/serverless-platforms/vercel-deployer.mdx +16 -23
  47. package/.docs/raw/deployment/web-framework.mdx +14 -14
  48. package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +138 -145
  49. package/.docs/raw/frameworks/agentic-uis/assistant-ui.mdx +54 -43
  50. package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +51 -36
  51. package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +161 -120
  52. package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +59 -48
  53. package/.docs/raw/frameworks/servers/express.mdx +45 -44
  54. package/.docs/raw/frameworks/web-frameworks/astro.mdx +245 -162
  55. package/.docs/raw/frameworks/web-frameworks/next-js.mdx +112 -69
  56. package/.docs/raw/frameworks/web-frameworks/sveltekit.mdx +189 -164
  57. package/.docs/raw/frameworks/web-frameworks/vite-react.mdx +94 -81
  58. package/.docs/raw/getting-started/installation.mdx +164 -133
  59. package/.docs/raw/getting-started/mcp-docs-server.mdx +36 -39
  60. package/.docs/raw/getting-started/project-structure.mdx +34 -42
  61. package/.docs/raw/getting-started/studio.mdx +40 -58
  62. package/.docs/raw/getting-started/templates.mdx +22 -27
  63. package/.docs/raw/index.mdx +9 -9
  64. package/.docs/raw/mastra-cloud/dashboard.mdx +10 -10
  65. package/.docs/raw/mastra-cloud/observability.mdx +7 -8
  66. package/.docs/raw/mastra-cloud/overview.mdx +16 -22
  67. package/.docs/raw/mastra-cloud/setting-up.mdx +33 -20
  68. package/.docs/raw/memory/conversation-history.mdx +2 -2
  69. package/.docs/raw/memory/overview.mdx +21 -23
  70. package/.docs/raw/memory/semantic-recall.mdx +14 -13
  71. package/.docs/raw/memory/storage/memory-with-libsql.mdx +27 -28
  72. package/.docs/raw/memory/storage/memory-with-pg.mdx +26 -26
  73. package/.docs/raw/memory/storage/memory-with-upstash.mdx +26 -27
  74. package/.docs/raw/memory/threads-and-resources.mdx +23 -20
  75. package/.docs/raw/memory/working-memory.mdx +27 -38
  76. package/.docs/raw/observability/ai-tracing/exporters/arize.mdx +30 -29
  77. package/.docs/raw/observability/ai-tracing/exporters/braintrust.mdx +8 -9
  78. package/.docs/raw/observability/ai-tracing/exporters/cloud.mdx +17 -16
  79. package/.docs/raw/observability/ai-tracing/exporters/default.mdx +31 -32
  80. package/.docs/raw/observability/ai-tracing/exporters/langfuse.mdx +18 -17
  81. package/.docs/raw/observability/ai-tracing/exporters/langsmith.mdx +14 -14
  82. package/.docs/raw/observability/ai-tracing/exporters/otel.mdx +56 -46
  83. package/.docs/raw/observability/ai-tracing/overview.mdx +145 -122
  84. package/.docs/raw/observability/ai-tracing/processors/sensitive-data-filter.mdx +57 -36
  85. package/.docs/raw/observability/logging.mdx +14 -17
  86. package/.docs/raw/observability/nextjs-tracing.mdx +5 -5
  87. package/.docs/raw/observability/otel-tracing.mdx +17 -18
  88. package/.docs/raw/observability/overview.mdx +14 -10
  89. package/.docs/raw/rag/chunking-and-embedding.mdx +10 -8
  90. package/.docs/raw/rag/overview.mdx +5 -5
  91. package/.docs/raw/rag/retrieval.mdx +125 -107
  92. package/.docs/raw/rag/vector-databases.mdx +232 -223
  93. package/.docs/raw/reference/agents/agent.mdx +54 -41
  94. package/.docs/raw/reference/agents/generate.mdx +367 -261
  95. package/.docs/raw/reference/agents/generateLegacy.mdx +260 -178
  96. package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +7 -5
  97. package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +7 -5
  98. package/.docs/raw/reference/agents/getDescription.mdx +3 -2
  99. package/.docs/raw/reference/agents/getInstructions.mdx +7 -5
  100. package/.docs/raw/reference/agents/getLLM.mdx +11 -7
  101. package/.docs/raw/reference/agents/getMemory.mdx +7 -5
  102. package/.docs/raw/reference/agents/getModel.mdx +7 -5
  103. package/.docs/raw/reference/agents/getScorers.mdx +7 -5
  104. package/.docs/raw/reference/agents/getTools.mdx +7 -5
  105. package/.docs/raw/reference/agents/getVoice.mdx +7 -5
  106. package/.docs/raw/reference/agents/getWorkflows.mdx +7 -5
  107. package/.docs/raw/reference/agents/listAgents.mdx +6 -4
  108. package/.docs/raw/reference/agents/network.mdx +171 -116
  109. package/.docs/raw/reference/auth/auth0.mdx +18 -14
  110. package/.docs/raw/reference/auth/clerk.mdx +15 -12
  111. package/.docs/raw/reference/auth/firebase.mdx +23 -16
  112. package/.docs/raw/reference/auth/jwt.mdx +7 -6
  113. package/.docs/raw/reference/auth/supabase.mdx +13 -10
  114. package/.docs/raw/reference/auth/workos.mdx +17 -13
  115. package/.docs/raw/reference/cli/create-mastra.mdx +61 -44
  116. package/.docs/raw/reference/cli/mastra.mdx +11 -11
  117. package/.docs/raw/reference/client-js/agents.mdx +40 -43
  118. package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
  119. package/.docs/raw/reference/client-js/logs.mdx +1 -1
  120. package/.docs/raw/reference/client-js/mastra-client.mdx +21 -13
  121. package/.docs/raw/reference/client-js/memory.mdx +6 -2
  122. package/.docs/raw/reference/client-js/observability.mdx +10 -9
  123. package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
  124. package/.docs/raw/reference/client-js/tools.mdx +1 -1
  125. package/.docs/raw/reference/client-js/vectors.mdx +1 -1
  126. package/.docs/raw/reference/client-js/workflows-legacy.mdx +1 -1
  127. package/.docs/raw/reference/client-js/workflows.mdx +7 -7
  128. package/.docs/raw/reference/core/getAgent.mdx +6 -5
  129. package/.docs/raw/reference/core/getAgentById.mdx +5 -4
  130. package/.docs/raw/reference/core/getAgents.mdx +3 -3
  131. package/.docs/raw/reference/core/getDeployer.mdx +4 -3
  132. package/.docs/raw/reference/core/getLogger.mdx +4 -3
  133. package/.docs/raw/reference/core/getLogs.mdx +10 -6
  134. package/.docs/raw/reference/core/getLogsByRunId.mdx +8 -5
  135. package/.docs/raw/reference/core/getMCPServer.mdx +8 -5
  136. package/.docs/raw/reference/core/getMCPServers.mdx +4 -3
  137. package/.docs/raw/reference/core/getMemory.mdx +4 -3
  138. package/.docs/raw/reference/core/getScorer.mdx +15 -12
  139. package/.docs/raw/reference/core/getScorerByName.mdx +12 -9
  140. package/.docs/raw/reference/core/getScorers.mdx +3 -2
  141. package/.docs/raw/reference/core/getServer.mdx +4 -3
  142. package/.docs/raw/reference/core/getStorage.mdx +4 -3
  143. package/.docs/raw/reference/core/getTelemetry.mdx +4 -3
  144. package/.docs/raw/reference/core/getVector.mdx +6 -4
  145. package/.docs/raw/reference/core/getVectors.mdx +4 -3
  146. package/.docs/raw/reference/core/getWorkflow.mdx +7 -4
  147. package/.docs/raw/reference/core/getWorkflows.mdx +5 -3
  148. package/.docs/raw/reference/core/mastra-class.mdx +16 -16
  149. package/.docs/raw/reference/core/setLogger.mdx +6 -4
  150. package/.docs/raw/reference/core/setStorage.mdx +4 -4
  151. package/.docs/raw/reference/core/setTelemetry.mdx +4 -3
  152. package/.docs/raw/reference/deployer/cloudflare.mdx +11 -7
  153. package/.docs/raw/reference/deployer/deployer.mdx +2 -1
  154. package/.docs/raw/reference/deployer/netlify.mdx +4 -4
  155. package/.docs/raw/reference/deployer/vercel.mdx +6 -6
  156. package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -5
  157. package/.docs/raw/reference/evals/bias.mdx +4 -5
  158. package/.docs/raw/reference/evals/completeness.mdx +4 -5
  159. package/.docs/raw/reference/evals/content-similarity.mdx +4 -5
  160. package/.docs/raw/reference/evals/context-position.mdx +4 -5
  161. package/.docs/raw/reference/evals/context-precision.mdx +4 -5
  162. package/.docs/raw/reference/evals/context-relevancy.mdx +4 -5
  163. package/.docs/raw/reference/evals/contextual-recall.mdx +4 -5
  164. package/.docs/raw/reference/evals/faithfulness.mdx +4 -5
  165. package/.docs/raw/reference/evals/hallucination.mdx +4 -6
  166. package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -5
  167. package/.docs/raw/reference/evals/prompt-alignment.mdx +4 -6
  168. package/.docs/raw/reference/evals/summarization.mdx +4 -6
  169. package/.docs/raw/reference/evals/textual-difference.mdx +4 -5
  170. package/.docs/raw/reference/evals/tone-consistency.mdx +4 -7
  171. package/.docs/raw/reference/evals/toxicity.mdx +4 -5
  172. package/.docs/raw/reference/index.mdx +3 -3
  173. package/.docs/raw/reference/legacyWorkflows/after.mdx +5 -5
  174. package/.docs/raw/reference/legacyWorkflows/afterEvent.mdx +5 -5
  175. package/.docs/raw/reference/legacyWorkflows/commit.mdx +5 -5
  176. package/.docs/raw/reference/legacyWorkflows/createRun.mdx +4 -4
  177. package/.docs/raw/reference/legacyWorkflows/else.mdx +5 -5
  178. package/.docs/raw/reference/legacyWorkflows/events.mdx +7 -7
  179. package/.docs/raw/reference/legacyWorkflows/execute.mdx +4 -4
  180. package/.docs/raw/reference/legacyWorkflows/if.mdx +5 -5
  181. package/.docs/raw/reference/legacyWorkflows/resume.mdx +5 -5
  182. package/.docs/raw/reference/legacyWorkflows/resumeWithEvent.mdx +6 -6
  183. package/.docs/raw/reference/legacyWorkflows/snapshots.mdx +6 -6
  184. package/.docs/raw/reference/legacyWorkflows/start.mdx +6 -6
  185. package/.docs/raw/reference/legacyWorkflows/step-class.mdx +4 -4
  186. package/.docs/raw/reference/legacyWorkflows/step-condition.mdx +4 -4
  187. package/.docs/raw/reference/legacyWorkflows/step-function.mdx +5 -5
  188. package/.docs/raw/reference/legacyWorkflows/step-options.mdx +6 -6
  189. package/.docs/raw/reference/legacyWorkflows/step-retries.mdx +4 -4
  190. package/.docs/raw/reference/legacyWorkflows/suspend.mdx +4 -4
  191. package/.docs/raw/reference/legacyWorkflows/then.mdx +5 -5
  192. package/.docs/raw/reference/legacyWorkflows/until.mdx +4 -4
  193. package/.docs/raw/reference/legacyWorkflows/watch.mdx +3 -3
  194. package/.docs/raw/reference/legacyWorkflows/while.mdx +4 -4
  195. package/.docs/raw/reference/legacyWorkflows/workflow.mdx +7 -7
  196. package/.docs/raw/reference/memory/createThread.mdx +10 -10
  197. package/.docs/raw/reference/memory/deleteMessages.mdx +7 -5
  198. package/.docs/raw/reference/memory/getThreadById.mdx +6 -5
  199. package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +11 -10
  200. package/.docs/raw/reference/memory/getThreadsByResourceIdPaginated.mdx +10 -9
  201. package/.docs/raw/reference/memory/{Memory.mdx → memory-class.mdx} +53 -46
  202. package/.docs/raw/reference/memory/query.mdx +39 -25
  203. package/.docs/raw/reference/observability/ai-tracing/ai-tracing.mdx +9 -5
  204. package/.docs/raw/reference/observability/ai-tracing/configuration.mdx +26 -22
  205. package/.docs/raw/reference/observability/ai-tracing/exporters/arize.mdx +16 -12
  206. package/.docs/raw/reference/observability/ai-tracing/exporters/braintrust.mdx +14 -14
  207. package/.docs/raw/reference/observability/ai-tracing/exporters/cloud-exporter.mdx +16 -11
  208. package/.docs/raw/reference/observability/ai-tracing/exporters/console-exporter.mdx +10 -6
  209. package/.docs/raw/reference/observability/ai-tracing/exporters/default-exporter.mdx +23 -15
  210. package/.docs/raw/reference/observability/ai-tracing/exporters/langfuse.mdx +6 -6
  211. package/.docs/raw/reference/observability/ai-tracing/exporters/langsmith.mdx +13 -13
  212. package/.docs/raw/reference/observability/ai-tracing/exporters/otel.mdx +44 -36
  213. package/.docs/raw/reference/observability/ai-tracing/interfaces.mdx +115 -106
  214. package/.docs/raw/reference/observability/ai-tracing/processors/sensitive-data-filter.mdx +37 -32
  215. package/.docs/raw/reference/observability/ai-tracing/span.mdx +29 -26
  216. package/.docs/raw/reference/observability/logging/pino-logger.mdx +13 -15
  217. package/.docs/raw/reference/observability/otel-tracing/otel-config.mdx +2 -2
  218. package/.docs/raw/reference/observability/otel-tracing/providers/arize-ax.mdx +3 -3
  219. package/.docs/raw/reference/observability/otel-tracing/providers/arize-phoenix.mdx +2 -1
  220. package/.docs/raw/reference/observability/otel-tracing/providers/dash0.mdx +1 -1
  221. package/.docs/raw/reference/observability/otel-tracing/providers/index.mdx +12 -14
  222. package/.docs/raw/reference/observability/otel-tracing/providers/keywordsai.mdx +3 -3
  223. package/.docs/raw/reference/observability/otel-tracing/providers/laminar.mdx +1 -1
  224. package/.docs/raw/reference/observability/otel-tracing/providers/langfuse.mdx +4 -4
  225. package/.docs/raw/reference/observability/otel-tracing/providers/langsmith.mdx +1 -1
  226. package/.docs/raw/reference/observability/otel-tracing/providers/langwatch.mdx +2 -2
  227. package/.docs/raw/reference/observability/otel-tracing/providers/new-relic.mdx +1 -1
  228. package/.docs/raw/reference/observability/otel-tracing/providers/signoz.mdx +1 -1
  229. package/.docs/raw/reference/observability/otel-tracing/providers/traceloop.mdx +1 -1
  230. package/.docs/raw/reference/processors/batch-parts-processor.mdx +13 -10
  231. package/.docs/raw/reference/processors/language-detector.mdx +27 -17
  232. package/.docs/raw/reference/processors/moderation-processor.mdx +26 -17
  233. package/.docs/raw/reference/processors/pii-detector.mdx +28 -18
  234. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +25 -17
  235. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +26 -17
  236. package/.docs/raw/reference/processors/token-limiter-processor.mdx +22 -15
  237. package/.docs/raw/reference/processors/unicode-normalizer.mdx +13 -12
  238. package/.docs/raw/reference/rag/chunk.mdx +41 -23
  239. package/.docs/raw/reference/rag/database-config.mdx +56 -38
  240. package/.docs/raw/reference/rag/document.mdx +1 -1
  241. package/.docs/raw/reference/rag/embeddings.mdx +1 -1
  242. package/.docs/raw/reference/rag/extract-params.mdx +1 -1
  243. package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
  244. package/.docs/raw/reference/rag/metadata-filters.mdx +23 -26
  245. package/.docs/raw/reference/rag/rerank.mdx +1 -1
  246. package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -2
  247. package/.docs/raw/reference/scorers/answer-relevancy.mdx +35 -17
  248. package/.docs/raw/reference/scorers/answer-similarity.mdx +84 -68
  249. package/.docs/raw/reference/scorers/bias.mdx +22 -19
  250. package/.docs/raw/reference/scorers/completeness.mdx +21 -16
  251. package/.docs/raw/reference/scorers/content-similarity.mdx +12 -10
  252. package/.docs/raw/reference/scorers/context-precision.mdx +73 -64
  253. package/.docs/raw/reference/scorers/context-relevance.mdx +142 -126
  254. package/.docs/raw/reference/scorers/create-scorer.mdx +93 -61
  255. package/.docs/raw/reference/scorers/faithfulness.mdx +21 -13
  256. package/.docs/raw/reference/scorers/hallucination.mdx +17 -12
  257. package/.docs/raw/reference/scorers/keyword-coverage.mdx +32 -27
  258. package/.docs/raw/reference/scorers/mastra-scorer.mdx +39 -33
  259. package/.docs/raw/reference/scorers/noise-sensitivity.mdx +203 -152
  260. package/.docs/raw/reference/scorers/prompt-alignment.mdx +186 -132
  261. package/.docs/raw/reference/scorers/run-experiment.mdx +40 -31
  262. package/.docs/raw/reference/scorers/textual-difference.mdx +25 -26
  263. package/.docs/raw/reference/scorers/tone-consistency.mdx +29 -26
  264. package/.docs/raw/reference/scorers/tool-call-accuracy.mdx +180 -176
  265. package/.docs/raw/reference/scorers/toxicity.mdx +35 -31
  266. package/.docs/raw/reference/storage/cloudflare-d1.mdx +1 -1
  267. package/.docs/raw/reference/storage/cloudflare.mdx +1 -1
  268. package/.docs/raw/reference/storage/dynamodb.mdx +1 -1
  269. package/.docs/raw/reference/storage/lance.mdx +1 -1
  270. package/.docs/raw/reference/storage/libsql.mdx +2 -2
  271. package/.docs/raw/reference/storage/mongodb.mdx +4 -5
  272. package/.docs/raw/reference/storage/mssql.mdx +5 -4
  273. package/.docs/raw/reference/storage/postgresql.mdx +35 -33
  274. package/.docs/raw/reference/storage/upstash.mdx +6 -5
  275. package/.docs/raw/reference/streaming/ChunkType.mdx +788 -314
  276. package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +265 -109
  277. package/.docs/raw/reference/streaming/agents/stream.mdx +375 -266
  278. package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +233 -162
  279. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +4 -4
  280. package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +5 -5
  281. package/.docs/raw/reference/streaming/workflows/resumeStreamVNext.mdx +24 -20
  282. package/.docs/raw/reference/streaming/workflows/stream.mdx +35 -26
  283. package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +36 -27
  284. package/.docs/raw/reference/templates/overview.mdx +16 -39
  285. package/.docs/raw/reference/tools/client.mdx +1 -1
  286. package/.docs/raw/reference/tools/create-tool.mdx +45 -35
  287. package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -2
  288. package/.docs/raw/reference/tools/graph-rag-tool.mdx +12 -12
  289. package/.docs/raw/reference/tools/mcp-client.mdx +70 -64
  290. package/.docs/raw/reference/tools/mcp-server.mdx +91 -78
  291. package/.docs/raw/reference/tools/vector-query-tool.mdx +48 -38
  292. package/.docs/raw/reference/vectors/astra.mdx +1 -1
  293. package/.docs/raw/reference/vectors/chroma.mdx +25 -19
  294. package/.docs/raw/reference/vectors/couchbase.mdx +4 -4
  295. package/.docs/raw/reference/vectors/lance.mdx +5 -6
  296. package/.docs/raw/reference/vectors/libsql.mdx +1 -1
  297. package/.docs/raw/reference/vectors/mongodb.mdx +1 -1
  298. package/.docs/raw/reference/vectors/opensearch.mdx +1 -1
  299. package/.docs/raw/reference/vectors/pg.mdx +8 -4
  300. package/.docs/raw/reference/vectors/pinecone.mdx +1 -1
  301. package/.docs/raw/reference/vectors/qdrant.mdx +1 -1
  302. package/.docs/raw/reference/vectors/s3vectors.mdx +35 -27
  303. package/.docs/raw/reference/vectors/turbopuffer.mdx +1 -1
  304. package/.docs/raw/reference/vectors/upstash.mdx +33 -25
  305. package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
  306. package/.docs/raw/reference/voice/azure.mdx +1 -1
  307. package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
  308. package/.docs/raw/reference/voice/composite-voice.mdx +1 -1
  309. package/.docs/raw/reference/voice/deepgram.mdx +1 -1
  310. package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
  311. package/.docs/raw/reference/voice/google-gemini-live.mdx +6 -4
  312. package/.docs/raw/reference/voice/google.mdx +1 -1
  313. package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
  314. package/.docs/raw/reference/voice/murf.mdx +1 -1
  315. package/.docs/raw/reference/voice/openai-realtime.mdx +1 -1
  316. package/.docs/raw/reference/voice/openai.mdx +1 -1
  317. package/.docs/raw/reference/voice/playai.mdx +1 -1
  318. package/.docs/raw/reference/voice/sarvam.mdx +1 -1
  319. package/.docs/raw/reference/voice/speechify.mdx +1 -1
  320. package/.docs/raw/reference/voice/voice.addInstructions.mdx +1 -1
  321. package/.docs/raw/reference/voice/voice.addTools.mdx +1 -1
  322. package/.docs/raw/reference/voice/voice.answer.mdx +1 -1
  323. package/.docs/raw/reference/voice/voice.close.mdx +1 -1
  324. package/.docs/raw/reference/voice/voice.connect.mdx +1 -1
  325. package/.docs/raw/reference/voice/voice.events.mdx +1 -1
  326. package/.docs/raw/reference/voice/voice.getSpeakers.mdx +23 -30
  327. package/.docs/raw/reference/voice/voice.listen.mdx +1 -1
  328. package/.docs/raw/reference/voice/voice.off.mdx +1 -1
  329. package/.docs/raw/reference/voice/voice.on.mdx +1 -1
  330. package/.docs/raw/reference/voice/voice.send.mdx +1 -1
  331. package/.docs/raw/reference/voice/voice.speak.mdx +1 -1
  332. package/.docs/raw/reference/voice/voice.updateConfig.mdx +1 -1
  333. package/.docs/raw/reference/workflows/run-methods/cancel.mdx +4 -3
  334. package/.docs/raw/reference/workflows/run-methods/resume.mdx +49 -34
  335. package/.docs/raw/reference/workflows/run-methods/start.mdx +43 -31
  336. package/.docs/raw/reference/workflows/run-methods/watch.mdx +7 -8
  337. package/.docs/raw/reference/workflows/run.mdx +7 -10
  338. package/.docs/raw/reference/workflows/step.mdx +15 -12
  339. package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +2 -2
  340. package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
  341. package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +7 -7
  342. package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +2 -2
  343. package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +2 -2
  344. package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
  345. package/.docs/raw/reference/workflows/workflow-methods/map.mdx +3 -2
  346. package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
  347. package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +5 -5
  348. package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +3 -2
  349. package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +3 -2
  350. package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
  351. package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +3 -3
  352. package/.docs/raw/reference/workflows/workflow.mdx +13 -10
  353. package/.docs/raw/scorers/custom-scorers.mdx +58 -48
  354. package/.docs/raw/scorers/evals-old-api/custom-eval.mdx +6 -8
  355. package/.docs/raw/scorers/evals-old-api/overview.mdx +8 -8
  356. package/.docs/raw/scorers/evals-old-api/running-in-ci.mdx +9 -9
  357. package/.docs/raw/scorers/evals-old-api/textual-evals.mdx +5 -5
  358. package/.docs/raw/scorers/off-the-shelf-scorers.mdx +3 -1
  359. package/.docs/raw/scorers/overview.mdx +20 -19
  360. package/.docs/raw/server-db/custom-api-routes.mdx +8 -8
  361. package/.docs/raw/server-db/mastra-client.mdx +56 -54
  362. package/.docs/raw/server-db/middleware.mdx +11 -7
  363. package/.docs/raw/server-db/production-server.mdx +5 -7
  364. package/.docs/raw/server-db/runtime-context.mdx +41 -38
  365. package/.docs/raw/server-db/storage.mdx +82 -87
  366. package/.docs/raw/streaming/events.mdx +24 -16
  367. package/.docs/raw/streaming/overview.mdx +17 -18
  368. package/.docs/raw/streaming/tool-streaming.mdx +9 -10
  369. package/.docs/raw/streaming/workflow-streaming.mdx +14 -12
  370. package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
  371. package/.docs/raw/tools-mcp/mcp-overview.mdx +92 -102
  372. package/.docs/raw/tools-mcp/overview.mdx +9 -14
  373. package/.docs/raw/voice/overview.mdx +273 -250
  374. package/.docs/raw/voice/speech-to-speech.mdx +14 -12
  375. package/.docs/raw/voice/speech-to-text.mdx +2 -2
  376. package/.docs/raw/voice/text-to-speech.mdx +2 -2
  377. package/.docs/raw/workflows/agents-and-tools.mdx +29 -28
  378. package/.docs/raw/workflows/control-flow.mdx +24 -24
  379. package/.docs/raw/workflows/error-handling.mdx +15 -17
  380. package/.docs/raw/workflows/human-in-the-loop.mdx +39 -39
  381. package/.docs/raw/workflows/inngest-workflow.mdx +33 -29
  382. package/.docs/raw/workflows/input-data-mapping.mdx +9 -9
  383. package/.docs/raw/workflows/overview.mdx +60 -60
  384. package/.docs/raw/workflows/snapshots.mdx +54 -36
  385. package/.docs/raw/workflows/suspend-and-resume.mdx +52 -57
  386. package/.docs/raw/workflows-legacy/control-flow.mdx +15 -17
  387. package/.docs/raw/workflows-legacy/dynamic-workflows.mdx +3 -1
  388. package/.docs/raw/workflows-legacy/error-handling.mdx +8 -6
  389. package/.docs/raw/workflows-legacy/nested-workflows.mdx +6 -0
  390. package/.docs/raw/workflows-legacy/overview.mdx +28 -26
  391. package/.docs/raw/workflows-legacy/runtime-variables.mdx +4 -2
  392. package/.docs/raw/workflows-legacy/steps.mdx +5 -3
  393. package/.docs/raw/workflows-legacy/suspend-and-resume.mdx +10 -8
  394. package/.docs/raw/workflows-legacy/variables.mdx +10 -8
  395. package/CHANGELOG.md +14 -0
  396. package/package.json +5 -5
  397. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -148
@@ -1,24 +1,32 @@
1
1
  ---
2
- title: "Agent Overview | Agents | Mastra Docs"
2
+ title: "Using Agents | Agents | Mastra Docs"
3
3
  description: Overview of agents in Mastra, detailing their capabilities and how they interact with tools, workflows, and external systems.
4
4
  ---
5
5
 
6
- import { Steps, Callout, Tabs } from "nextra/components";
6
+ import Tabs from "@theme/Tabs";
7
+ import TabItem from "@theme/TabItem";
8
+ import Steps from "@site/src/components/Steps";
9
+ import StepItem from "@site/src/components/StepItem";
7
10
 
8
11
  # Using Agents
9
12
 
10
13
  Agents use LLMs and tools to solve open-ended tasks. They reason about goals, decide which tools to use, retain conversation memory, and iterate internally until the model emits a final answer or an optional stop condition is met. Agents produce structured responses you can render in your UI or process programmatically. Use agents directly or compose them into workflows or agent networks.
11
14
 
12
- ![Agents overview](/image/agents/agents-overview.jpg)
15
+ ![Agents overview](/img/agents/agents-overview.jpg)
13
16
 
14
- > **📹 Watch**: → An introduction to agents, and how they compare to workflows [YouTube (7 minutes)](https://youtu.be/0jg2g3sNvgw)
17
+ :::tip[Watch an introduction]
18
+
19
+ An introduction to agents, and how they compare to workflows on [YouTube (7 minutes)](https://youtu.be/0jg2g3sNvgw)
20
+
21
+ :::
15
22
 
16
23
  ## Setting up agents
17
24
 
18
- <Tabs items={["Mastra model router", "Vercel AI SDK"]}>
19
- <Tabs.Tab>
25
+ <Tabs>
26
+ <TabItem value="mastra-model-router" label="Model router">
20
27
  <Steps>
21
- ### Install dependencies [#install-dependencies-mastra-router]
28
+
29
+ <StepItem>
22
30
 
23
31
  Add the Mastra core package to your project:
24
32
 
@@ -26,35 +34,46 @@ Add the Mastra core package to your project:
26
34
  npm install @mastra/core
27
35
  ```
28
36
 
29
- ### Set your API key [#set-api-key-mastra-router]
37
+ </StepItem>
38
+
39
+ <StepItem>
30
40
 
31
41
  Mastra's model router auto-detects environment variables for your chosen provider. For OpenAI, set `OPENAI_API_KEY`:
32
42
 
33
- ```bash filename=".env" copy
43
+ ```bash title=".env" copy
34
44
  OPENAI_API_KEY=<your-api-key>
35
45
  ```
36
46
 
37
- > Mastra supports more than 600 models. Choose from the full list [here](/models).
47
+ :::note
48
+
49
+ Mastra supports more than 600 models. Choose from the [full list](/models).
38
50
 
39
- ### Creating an agent [#creating-an-agent-mastra-router]
51
+ :::
52
+
53
+ </StepItem>
54
+
55
+ <StepItem>
40
56
 
41
57
  Create an agent by instantiating the `Agent` class with system `instructions` and a `model`:
42
58
 
43
- ```typescript filename="src/mastra/agents/test-agent.ts" showLineNumbers copy
59
+ ```typescript title="src/mastra/agents/test-agent.ts" copy
44
60
  import { Agent } from "@mastra/core/agent";
45
61
 
46
62
  export const testAgent = new Agent({
47
63
  name: "test-agent",
48
64
  instructions: "You are a helpful assistant.",
49
- model: "openai/gpt-4o-mini"
65
+ model: "openai/gpt-4o-mini",
50
66
  });
51
67
  ```
52
- </Steps>
53
- </Tabs.Tab>
54
- <Tabs.Tab>
68
+
69
+ </StepItem>
70
+
71
+ </Steps>
72
+ </TabItem>
73
+ <TabItem value="vercel-ai-sdk" label="Vercel AI SDK">
55
74
  <Steps>
56
75
 
57
- ### Install dependencies [#install-dependencies-ai-sdk]
76
+ <StepItem>
58
77
 
59
78
  Include the Mastra core package alongside the Vercel AI SDK provider you want to use:
60
79
 
@@ -62,35 +81,45 @@ Include the Mastra core package alongside the Vercel AI SDK provider you want to
62
81
  npm install @mastra/core @ai-sdk/openai
63
82
  ```
64
83
 
65
- ### Set your API key [#set-api-key-ai-sdk]
84
+ </StepItem>
85
+
86
+ <StepItem>
66
87
 
67
88
  Set the corresponding environment variable for your provider. For OpenAI via the AI SDK:
68
89
 
69
- ```bash filename=".env" copy
90
+ ```bash title=".env" copy
70
91
  OPENAI_API_KEY=<your-api-key>
71
92
  ```
72
93
 
73
- > See the [AI SDK Providers](https://ai-sdk.dev/providers/ai-sdk-providers) in the Vercel AI SDK docs for additional configuration options.
94
+ :::note
95
+
96
+ See the [AI SDK Providers](https://ai-sdk.dev/providers/ai-sdk-providers) in the Vercel AI SDK docs for additional configuration options.
97
+
98
+ :::
74
99
 
75
- ### Creating an agent [#creating-an-agent-ai-sdk]
100
+ </StepItem>
101
+
102
+ <StepItem>
76
103
 
77
104
  To create an agent in Mastra, use the `Agent` class. Every agent must include `instructions` to define its behavior, and a `model` parameter to specify the LLM provider and model. When using the Vercel AI SDK, provide the client to your agent's `model` field:
78
105
 
79
- ```typescript filename="src/mastra/agents/test-agent.ts" showLineNumbers copy
106
+ ```typescript title="src/mastra/agents/test-agent.ts" copy
80
107
  import { openai } from "@ai-sdk/openai";
81
108
  import { Agent } from "@mastra/core/agent";
82
109
 
83
110
  export const testAgent = new Agent({
84
111
  name: "test-agent",
85
112
  instructions: "You are a helpful assistant.",
86
- model: openai("gpt-4o-mini")
113
+ model: openai("gpt-4o-mini"),
87
114
  });
88
115
  ```
116
+
117
+ </StepItem>
89
118
  </Steps>
90
- </Tabs.Tab>
119
+ </TabItem>
91
120
  </Tabs>
92
121
 
93
- #### Instruction formats
122
+ ### Instruction formats
94
123
 
95
124
  Instructions define the agent's behavior, personality, and capabilities.
96
125
  They are system-level prompts that establish the agent's core identity and expertise.
@@ -99,23 +128,23 @@ Instructions can be provided in multiple formats for greater flexibility. The ex
99
128
 
100
129
  ```typescript copy
101
130
  // String (most common)
102
- instructions: "You are a helpful assistant."
131
+ instructions: "You are a helpful assistant.";
103
132
 
104
133
  // Array of strings
105
134
  instructions: [
106
135
  "You are a helpful assistant.",
107
136
  "Always be polite.",
108
- "Provide detailed answers."
109
- ]
137
+ "Provide detailed answers.",
138
+ ];
110
139
 
111
140
  // Array of system messages
112
141
  instructions: [
113
142
  { role: "system", content: "You are a helpful assistant." },
114
- { role: "system", content: "You have expertise in TypeScript." }
115
- ]
143
+ { role: "system", content: "You have expertise in TypeScript." },
144
+ ];
116
145
  ```
117
146
 
118
- #### Provider-specific options
147
+ ### Provider-specific options
119
148
 
120
149
  Each model provider also enables a few different options, including prompt caching and configuring reasoning. We provide a `providerOptions` flag to manage these. You can set `providerOptions` on the instruction level to set different caching strategy per system instruction/prompt.
121
150
 
@@ -132,15 +161,15 @@ instructions: {
132
161
  }
133
162
  ```
134
163
 
135
- > See the [Agent reference doc](../../reference/agents/agent.mdx) for more information.
164
+ > See the [Agent reference doc](/reference/agents/agent) for more information.
136
165
 
137
166
  ### Registering an agent
138
167
 
139
168
  Register your agent in the Mastra instance to make it available throughout your application. Once registered, it can be called from workflows, tools, or other agents, and has access to shared resources such as memory, logging, and observability features:
140
169
 
141
- ```typescript {6} showLineNumbers filename="src/mastra/index.ts" copy
170
+ ```typescript {6} showLineNumbers title="src/mastra/index.ts" copy
142
171
  import { Mastra } from "@mastra/core/mastra";
143
- import { testAgent } from './agents/test-agent';
172
+ import { testAgent } from "./agents/test-agent";
144
173
 
145
174
  export const mastra = new Mastra({
146
175
  // ...
@@ -155,20 +184,21 @@ You can call agents from workflow steps, tools, the Mastra Client, or the comman
155
184
  ```typescript showLineNumbers copy
156
185
  const testAgent = mastra.getAgent("testAgent");
157
186
  ```
158
- <Callout type="info">
159
- <p>
160
- `mastra.getAgent()` is preferred over a direct import, since it provides access to the Mastra instance configuration (logger, telemetry, storage, registered agents, and vector stores).
161
- </p>
162
- </Callout>
163
187
 
164
- > See [Calling agents](../../examples/agents/calling-agents.mdx) for more information.
188
+ :::info
189
+
190
+ `mastra.getAgent()` is preferred over a direct import, since it provides access to the Mastra instance configuration (logger, telemetry, storage, registered agents, and vector stores).
191
+
192
+ See [Calling agents](/examples/agents/calling-agents) for more information.
193
+
194
+ :::
165
195
 
166
196
  ## Generating responses
167
197
 
168
198
  Agents can return results in two ways: generating the full output before returning it or streaming tokens in real time. Choose the approach that fits your use case: generate for short, internal responses or debugging, and stream to deliver pixels to end users as quickly as possible.
169
199
 
170
- <Tabs items={["Generate", "Stream"]}>
171
- <Tabs.Tab>
200
+ <Tabs>
201
+ <TabItem value="generate" label="Generate">
172
202
  Pass a single string for simple prompts, an array of strings when providing multiple pieces of context, or an array of message objects with `role` and `content`.
173
203
 
174
204
  (The `role` defines the speaker for each message. Typical roles are `user` for human input, `assistant` for agent responses, and `system` for instructions.)
@@ -178,13 +208,17 @@ const response = await testAgent.generate([
178
208
  { role: "user", content: "Help me organize my day" },
179
209
  { role: "user", content: "My day starts at 9am and finishes at 5.30pm" },
180
210
  { role: "user", content: "I take lunch between 12:30 and 13:30" },
181
- { role: "user", content: "I have meetings Monday to Friday between 10:30 and 11:30" }
211
+ {
212
+ role: "user",
213
+ content: "I have meetings Monday to Friday between 10:30 and 11:30",
214
+ },
182
215
  ]);
183
216
 
184
217
  console.log(response.text);
185
218
  ```
186
- </Tabs.Tab>
187
- <Tabs.Tab>
219
+
220
+ </TabItem>
221
+ <TabItem value="stream" label="Stream">
188
222
  Pass a single string for simple prompts, an array of strings when providing multiple pieces of context, or an array of message objects with `role` and `content`.
189
223
 
190
224
  (The `role` defines the speaker for each message. Typical roles are `user` for human input, `assistant` for agent responses, and `system` for instructions.)
@@ -194,7 +228,10 @@ const stream = await testAgent.stream([
194
228
  { role: "user", content: "Help me organize my day" },
195
229
  { role: "user", content: "My day starts at 9am and finishes at 5.30pm" },
196
230
  { role: "user", content: "I take lunch between 12:30 and 13:30" },
197
- { role: "user", content: "I have meetings Monday to Friday between 10:30 and 11:30" }
231
+ {
232
+ role: "user",
233
+ content: "I have meetings Monday to Friday between 10:30 and 11:30",
234
+ },
198
235
  ]);
199
236
 
200
237
  for await (const chunk of stream.textStream) {
@@ -211,17 +248,18 @@ It provides the final `text`, execution `steps`, `finishReason`, token `usage` s
211
248
  const stream = await testAgent.stream("Help me organize my day", {
212
249
  onFinish: ({ steps, text, finishReason, usage }) => {
213
250
  console.log({ steps, text, finishReason, usage });
214
- }
251
+ },
215
252
  });
216
253
 
217
254
  for await (const chunk of stream.textStream) {
218
255
  process.stdout.write(chunk);
219
256
  }
220
257
  ```
221
- </Tabs.Tab>
258
+
259
+ </TabItem>
222
260
  </Tabs>
223
261
 
224
- > See [.generate()](../../reference/agents/generate.mdx) or [.stream()](../../reference/agents/stream.mdx) for more information.
262
+ > See [.generate()](/reference/agents/generate) or [.stream()](/reference/streaming/agents/stream) for more information.
225
263
 
226
264
  ## Structured output
227
265
 
@@ -238,21 +276,21 @@ const response = await testAgent.generate(
238
276
  [
239
277
  {
240
278
  role: "system",
241
- content: "Provide a summary and keywords for the following text:"
279
+ content: "Provide a summary and keywords for the following text:",
242
280
  },
243
281
  {
244
282
  role: "user",
245
- content: "Monkey, Ice Cream, Boat"
246
- }
283
+ content: "Monkey, Ice Cream, Boat",
284
+ },
247
285
  ],
248
286
  {
249
287
  structuredOutput: {
250
288
  schema: z.object({
251
289
  summary: z.string(),
252
- keywords: z.array(z.string())
253
- })
290
+ keywords: z.array(z.string()),
291
+ }),
254
292
  },
255
- }
293
+ },
256
294
  );
257
295
 
258
296
  console.log(response.object);
@@ -269,26 +307,26 @@ const response = await testAgentWithTools.generate(
269
307
  [
270
308
  {
271
309
  role: "system",
272
- content: "Provide a summary and keywords for the following text:"
310
+ content: "Provide a summary and keywords for the following text:",
273
311
  },
274
312
  {
275
313
  role: "user",
276
- content: "Please use your test tool and let me know the results"
277
- }
314
+ content: "Please use your test tool and let me know the results",
315
+ },
278
316
  ],
279
317
  {
280
318
  structuredOutput: {
281
319
  schema: z.object({
282
320
  summary: z.string(),
283
- keywords: z.array(z.string())
321
+ keywords: z.array(z.string()),
284
322
  }),
285
- model: "openai/gpt-4o"
323
+ model: "openai/gpt-4o",
286
324
  },
287
- }
325
+ },
288
326
  );
289
327
 
290
328
  console.log(response.object);
291
- console.log(response.toolResults)
329
+ console.log(response.toolResults);
292
330
  ```
293
331
 
294
332
  ### Response format
@@ -302,28 +340,27 @@ const response = await testAgentThatDoesntSupportStructuredOutput.generate(
302
340
  [
303
341
  {
304
342
  role: "system",
305
- content: "Provide a summary and keywords for the following text:"
343
+ content: "Provide a summary and keywords for the following text:",
306
344
  },
307
345
  {
308
346
  role: "user",
309
- content: "Monkey, Ice Cream, Boat"
310
- }
347
+ content: "Monkey, Ice Cream, Boat",
348
+ },
311
349
  ],
312
350
  {
313
351
  structuredOutput: {
314
352
  schema: z.object({
315
353
  summary: z.string(),
316
- keywords: z.array(z.string())
354
+ keywords: z.array(z.string()),
317
355
  }),
318
- jsonPromptInjection: true
356
+ jsonPromptInjection: true,
319
357
  },
320
- }
358
+ },
321
359
  );
322
360
 
323
361
  console.log(response.object);
324
362
  ```
325
363
 
326
-
327
364
  ## Working with images
328
365
 
329
366
  Agents can analyze and describe images by processing both the visual content and any text within them. To enable image analysis, pass an object with `type: 'image'` and the image URL in the `content` array. You can combine image content with text prompts to guide the agent's analysis.
@@ -336,20 +373,20 @@ const response = await testAgent.generate([
336
373
  {
337
374
  type: "image",
338
375
  image: "https://placebear.com/cache/395-205.jpg",
339
- mimeType: "image/jpeg"
376
+ mimeType: "image/jpeg",
340
377
  },
341
378
  {
342
379
  type: "text",
343
- text: "Describe the image in detail, and extract all the text in the image."
344
- }
345
- ]
346
- }
380
+ text: "Describe the image in detail, and extract all the text in the image.",
381
+ },
382
+ ],
383
+ },
347
384
  ]);
348
385
 
349
386
  console.log(response.text);
350
387
  ```
351
388
 
352
- For a detailed guide to creating and configuring tools, see the [Tools Overview](../tools-mcp/overview.mdx) page.
389
+ For a detailed guide to creating and configuring tools, see the [Tools Overview](../tools-mcp/overview) page.
353
390
 
354
391
  ### Using `maxSteps`
355
392
 
@@ -357,7 +394,7 @@ The `maxSteps` parameter controls the maximum number of sequential LLM calls an
357
394
 
358
395
  ```typescript showLineNumbers copy
359
396
  const response = await testAgent.generate("Help me organize my day", {
360
- maxSteps: 5
397
+ maxSteps: 5,
361
398
  });
362
399
 
363
400
  console.log(response.text);
@@ -373,7 +410,7 @@ You can monitor the progress of multi-step operations using the `onStepFinish` c
373
410
  const response = await testAgent.generate("Help me organize my day", {
374
411
  onStepFinish: ({ text, toolCalls, toolResults, finishReason, usage }) => {
375
412
  console.log({ text, toolCalls, toolResults, finishReason, usage });
376
- }
413
+ },
377
414
  });
378
415
  ```
379
416
 
@@ -381,20 +418,20 @@ const response = await testAgent.generate("Help me organize my day", {
381
418
 
382
419
  Agents can use tools to go beyond language generation, enabling structured interactions with external APIs and services. Tools allow agents to access data and perform clearly defined operations in a reliable, repeatable way.
383
420
 
384
- ```typescript filename="src/mastra/agents/test-agent.ts" showLineNumbers
421
+ ```typescript title="src/mastra/agents/test-agent.ts" showLineNumbers
385
422
  export const testAgent = new Agent({
386
423
  // ...
387
- tools: { testTool }
424
+ tools: { testTool },
388
425
  });
389
426
  ```
390
427
 
391
- > See [Using Tools](./using-tools.mdx) for more information.
428
+ > See [Using Tools](./using-tools) for more information.
392
429
 
393
430
  ## Using `RuntimeContext`
394
431
 
395
432
  Use `RuntimeContext` to access request-specific values. This lets you conditionally adjust behavior based on the context of the request.
396
433
 
397
- ```typescript filename="src/mastra/agents/test-agent.ts" showLineNumbers
434
+ ```typescript title="src/mastra/agents/test-agent.ts" showLineNumbers
398
435
  export type UserTier = {
399
436
  "user-tier": "enterprise" | "pro";
400
437
  };
@@ -407,19 +444,19 @@ export const testAgent = new Agent({
407
444
  return userTier === "enterprise"
408
445
  ? openai("gpt-4o-mini")
409
446
  : openai("gpt-4.1-nano");
410
- }
447
+ },
411
448
  });
412
449
  ```
413
450
 
414
- > See [Runtime Context](../server-db/runtime-context.mdx) for more information.
451
+ > See [Runtime Context](/docs/server-db/runtime-context) for more information.
415
452
 
416
453
  ## Testing with Mastra Playground
417
454
 
418
- Use the Mastra [Playground](../server-db/local-dev-playground.mdx) to test agents with different messages, inspect tool calls and responses, and debug agent behavior.
455
+ Use the Mastra [Playground](/docs/getting-started/studio) to test agents with different messages, inspect tool calls and responses, and debug agent behavior.
419
456
 
420
457
  ## Related
421
458
 
422
- - [Using Tools](./using-tools.mdx)
423
- - [Agent Memory](./agent-memory.mdx)
424
- - [Runtime Context](../../examples/agents/runtime-context.mdx)
425
- - [Calling Agents](../../examples/agents/calling-agents.mdx)
459
+ - [Using Tools](./using-tools)
460
+ - [Agent Memory](./agent-memory)
461
+ - [Runtime Context](/examples/agents/runtime-context)
462
+ - [Calling Agents](/examples/agents/calling-agents)
@@ -5,7 +5,7 @@ description: Learn how to create tools and add them to agents to extend capabili
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.mdx) 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.mdx) to expand an agent’s capabilities.
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 agent’s capabilities.
9
9
 
10
10
  ## When to use tools
11
11
 
@@ -15,7 +15,7 @@ Use tools when an agent needs additional context or information from remote reso
15
15
 
16
16
  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 `context` argument, which in this example includes the `location` used in the weather API query.
17
17
 
18
- ```typescript {14,16} filename="src/mastra/tools/weather-tool.ts" showLineNumbers copy
18
+ ```typescript {14,16} title="src/mastra/tools/weather-tool.ts" showLineNumbers copy
19
19
  import { createTool } from "@mastra/core/tools";
20
20
  import { z } from "zod";
21
21
 
@@ -23,10 +23,10 @@ export const weatherTool = createTool({
23
23
  id: "weather-tool",
24
24
  description: "Fetches weather for a location",
25
25
  inputSchema: z.object({
26
- location: z.string()
26
+ location: z.string(),
27
27
  }),
28
28
  outputSchema: z.object({
29
- weather: z.string()
29
+ weather: z.string(),
30
30
  }),
31
31
  execute: async ({ context }) => {
32
32
  const { location } = context;
@@ -35,7 +35,7 @@ export const weatherTool = createTool({
35
35
  const weather = await response.text();
36
36
 
37
37
  return { weather };
38
- }
38
+ },
39
39
  });
40
40
  ```
41
41
 
@@ -43,7 +43,7 @@ export const weatherTool = createTool({
43
43
 
44
44
  To make a tool available to an agent, add it to the `tools` option and reference it by name in the agent’s instructions.
45
45
 
46
- ```typescript {9,11} filename="src/mastra/agents/weather-agent.ts" showLineNumbers copy
46
+ ```typescript {9,11} title="src/mastra/agents/weather-agent.ts" showLineNumbers copy
47
47
  import { openai } from "@ai-sdk/openai";
48
48
  import { Agent } from "@mastra/core/agent";
49
49
  import { weatherTool } from "../tools/weather-tool";
@@ -54,7 +54,7 @@ export const weatherAgent = new Agent({
54
54
  You are a helpful weather assistant.
55
55
  Use the weatherTool to fetch current weather data.`,
56
56
  model: openai("gpt-4o-mini"),
57
- tools: { weatherTool }
57
+ tools: { weatherTool },
58
58
  });
59
59
  ```
60
60
 
@@ -62,7 +62,7 @@ export const weatherAgent = new Agent({
62
62
 
63
63
  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 makes it available to the tool’s context.
64
64
 
65
- ```typescript {5} filename="src/test-tool.ts" showLineNumbers copy
65
+ ```typescript {5} title="src/test-tool.ts" showLineNumbers copy
66
66
  import { mastra } from "./mastra";
67
67
 
68
68
  const agent = mastra.getAgent("weatherAgent");
@@ -76,20 +76,19 @@ An agent can use multiple tools to handle more complex tasks by delegating speci
76
76
 
77
77
  When multiple tools are available, the agent may choose to use one, several, or none, depending on what’s needed to answer the query.
78
78
 
79
- ```typescript {6} filename="src/mastra/agents/weather-agent.ts" showLineNumbers copy
79
+ ```typescript {6} title="src/mastra/agents/weather-agent.ts" showLineNumbers copy
80
80
  import { weatherTool } from "../tools/weather-tool";
81
81
  import { activitiesTool } from "../tools/activities-tool";
82
82
 
83
83
  export const weatherAgent = new Agent({
84
84
  // ..
85
- tools: { weatherTool, activitiesTool }
85
+ tools: { weatherTool, activitiesTool },
86
86
  });
87
87
  ```
88
88
 
89
-
90
89
  ## Related
91
90
 
92
- - [Tools Overview](../tools-mcp/overview.mdx)
93
- - [Agent Memory](./agent-memory.mdx)
94
- - [Runtime Context](../server-db/runtime-context.mdx)
95
- - [Calling Agents](../../examples/agents/calling-agents.mdx)
91
+ - [Tools Overview](../tools-mcp/overview)
92
+ - [Agent Memory](./agent-memory)
93
+ - [Runtime Context](/docs/server-db/runtime-context)
94
+ - [Calling Agents](/examples/agents/calling-agents)