@mastra/mcp-docs-server 1.1.5 → 1.1.6-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (556) hide show
  1. package/.docs/docs/agents/adding-voice.md +349 -0
  2. package/.docs/docs/agents/agent-approval.md +558 -0
  3. package/.docs/docs/agents/agent-memory.md +209 -0
  4. package/.docs/docs/agents/guardrails.md +374 -0
  5. package/.docs/docs/agents/network-approval.md +275 -0
  6. package/.docs/docs/agents/networks.md +299 -0
  7. package/.docs/docs/agents/overview.md +304 -0
  8. package/.docs/docs/agents/processors.md +622 -0
  9. package/.docs/docs/agents/structured-output.md +273 -0
  10. package/.docs/docs/agents/supervisor-agents.md +304 -0
  11. package/.docs/docs/agents/using-tools.md +214 -0
  12. package/.docs/docs/build-with-ai/mcp-docs-server.md +238 -0
  13. package/.docs/docs/build-with-ai/skills.md +35 -0
  14. package/.docs/docs/community/contributing-templates.md +3 -0
  15. package/.docs/docs/community/discord.md +9 -0
  16. package/.docs/docs/community/licensing.md +66 -0
  17. package/.docs/docs/deployment/cloud-providers.md +15 -0
  18. package/.docs/docs/deployment/mastra-server.md +122 -0
  19. package/.docs/docs/deployment/monorepo.md +142 -0
  20. package/.docs/docs/deployment/overview.md +62 -0
  21. package/.docs/docs/deployment/studio.md +239 -0
  22. package/.docs/docs/deployment/web-framework.md +52 -0
  23. package/.docs/docs/deployment/workflow-runners.md +9 -0
  24. package/.docs/docs/evals/built-in-scorers.md +47 -0
  25. package/.docs/docs/evals/custom-scorers.md +519 -0
  26. package/.docs/docs/evals/overview.md +141 -0
  27. package/.docs/docs/evals/running-in-ci.md +124 -0
  28. package/.docs/docs/getting-started/build-with-ai.md +68 -0
  29. package/.docs/docs/getting-started/manual-install.md +226 -0
  30. package/.docs/docs/getting-started/project-structure.md +60 -0
  31. package/.docs/docs/getting-started/start.md +28 -0
  32. package/.docs/docs/getting-started/studio.md +101 -0
  33. package/.docs/docs/index.md +43 -0
  34. package/.docs/docs/mastra-cloud/deployment.md +77 -0
  35. package/.docs/docs/mastra-cloud/observability.md +38 -0
  36. package/.docs/docs/mastra-cloud/overview.md +23 -0
  37. package/.docs/docs/mastra-cloud/setup.md +42 -0
  38. package/.docs/docs/mastra-cloud/studio.md +24 -0
  39. package/.docs/docs/mastra-code/configuration.md +299 -0
  40. package/.docs/docs/mastra-code/customization.md +228 -0
  41. package/.docs/docs/mastra-code/modes.md +104 -0
  42. package/.docs/docs/mastra-code/overview.md +135 -0
  43. package/.docs/docs/mastra-code/tools.md +229 -0
  44. package/.docs/docs/mcp/overview.md +373 -0
  45. package/.docs/docs/mcp/publishing-mcp-server.md +95 -0
  46. package/.docs/docs/memory/memory-processors.md +314 -0
  47. package/.docs/docs/memory/message-history.md +260 -0
  48. package/.docs/docs/memory/observational-memory.md +248 -0
  49. package/.docs/docs/memory/overview.md +45 -0
  50. package/.docs/docs/memory/semantic-recall.md +272 -0
  51. package/.docs/docs/memory/storage.md +261 -0
  52. package/.docs/docs/memory/working-memory.md +400 -0
  53. package/.docs/docs/observability/datasets/overview.md +198 -0
  54. package/.docs/docs/observability/datasets/running-experiments.md +274 -0
  55. package/.docs/docs/observability/logging.md +99 -0
  56. package/.docs/docs/observability/overview.md +70 -0
  57. package/.docs/docs/observability/tracing/bridges/otel.md +209 -0
  58. package/.docs/docs/observability/tracing/exporters/arize.md +272 -0
  59. package/.docs/docs/observability/tracing/exporters/braintrust.md +111 -0
  60. package/.docs/docs/observability/tracing/exporters/cloud.md +127 -0
  61. package/.docs/docs/observability/tracing/exporters/datadog.md +187 -0
  62. package/.docs/docs/observability/tracing/exporters/default.md +209 -0
  63. package/.docs/docs/observability/tracing/exporters/laminar.md +100 -0
  64. package/.docs/docs/observability/tracing/exporters/langfuse.md +213 -0
  65. package/.docs/docs/observability/tracing/exporters/langsmith.md +198 -0
  66. package/.docs/docs/observability/tracing/exporters/otel.md +476 -0
  67. package/.docs/docs/observability/tracing/exporters/posthog.md +148 -0
  68. package/.docs/docs/observability/tracing/exporters/sentry.md +208 -0
  69. package/.docs/docs/observability/tracing/overview.md +1112 -0
  70. package/.docs/docs/observability/tracing/processors/sensitive-data-filter.md +300 -0
  71. package/.docs/docs/rag/chunking-and-embedding.md +183 -0
  72. package/.docs/docs/rag/graph-rag.md +215 -0
  73. package/.docs/docs/rag/overview.md +72 -0
  74. package/.docs/docs/rag/retrieval.md +515 -0
  75. package/.docs/docs/rag/vector-databases.md +645 -0
  76. package/.docs/docs/server/auth/auth0.md +220 -0
  77. package/.docs/docs/server/auth/better-auth.md +203 -0
  78. package/.docs/docs/server/auth/clerk.md +132 -0
  79. package/.docs/docs/server/auth/composite-auth.md +234 -0
  80. package/.docs/docs/server/auth/custom-auth-provider.md +513 -0
  81. package/.docs/docs/server/auth/firebase.md +272 -0
  82. package/.docs/docs/server/auth/jwt.md +110 -0
  83. package/.docs/docs/server/auth/simple-auth.md +180 -0
  84. package/.docs/docs/server/auth/supabase.md +117 -0
  85. package/.docs/docs/server/auth/workos.md +186 -0
  86. package/.docs/docs/server/auth.md +38 -0
  87. package/.docs/docs/server/custom-adapters.md +378 -0
  88. package/.docs/docs/server/custom-api-routes.md +267 -0
  89. package/.docs/docs/server/mastra-client.md +243 -0
  90. package/.docs/docs/server/mastra-server.md +71 -0
  91. package/.docs/docs/server/middleware.md +225 -0
  92. package/.docs/docs/server/request-context.md +471 -0
  93. package/.docs/docs/server/server-adapters.md +547 -0
  94. package/.docs/docs/streaming/events.md +237 -0
  95. package/.docs/docs/streaming/overview.md +175 -0
  96. package/.docs/docs/streaming/tool-streaming.md +175 -0
  97. package/.docs/docs/streaming/workflow-streaming.md +109 -0
  98. package/.docs/docs/voice/overview.md +959 -0
  99. package/.docs/docs/voice/speech-to-speech.md +102 -0
  100. package/.docs/docs/voice/speech-to-text.md +79 -0
  101. package/.docs/docs/voice/text-to-speech.md +83 -0
  102. package/.docs/docs/workflows/agents-and-tools.md +166 -0
  103. package/.docs/docs/workflows/control-flow.md +822 -0
  104. package/.docs/docs/workflows/error-handling.md +360 -0
  105. package/.docs/docs/workflows/human-in-the-loop.md +215 -0
  106. package/.docs/docs/workflows/overview.md +370 -0
  107. package/.docs/docs/workflows/snapshots.md +238 -0
  108. package/.docs/docs/workflows/suspend-and-resume.md +205 -0
  109. package/.docs/docs/workflows/time-travel.md +309 -0
  110. package/.docs/docs/workflows/workflow-state.md +181 -0
  111. package/.docs/docs/workspace/filesystem.md +164 -0
  112. package/.docs/docs/workspace/overview.md +239 -0
  113. package/.docs/docs/workspace/sandbox.md +63 -0
  114. package/.docs/docs/workspace/search.md +243 -0
  115. package/.docs/docs/workspace/skills.md +169 -0
  116. package/.docs/guides/agent-frameworks/ai-sdk.md +140 -0
  117. package/.docs/guides/build-your-ui/ai-sdk-ui.md +1499 -0
  118. package/.docs/guides/build-your-ui/assistant-ui.md +156 -0
  119. package/.docs/guides/build-your-ui/copilotkit.md +289 -0
  120. package/.docs/guides/deployment/amazon-ec2.md +130 -0
  121. package/.docs/guides/deployment/aws-lambda.md +248 -0
  122. package/.docs/guides/deployment/azure-app-services.md +114 -0
  123. package/.docs/guides/deployment/cloudflare.md +99 -0
  124. package/.docs/guides/deployment/digital-ocean.md +168 -0
  125. package/.docs/guides/deployment/inngest.md +682 -0
  126. package/.docs/guides/deployment/netlify.md +77 -0
  127. package/.docs/guides/deployment/vercel.md +101 -0
  128. package/.docs/guides/getting-started/astro.md +398 -0
  129. package/.docs/guides/getting-started/electron.md +504 -0
  130. package/.docs/guides/getting-started/express.md +251 -0
  131. package/.docs/guides/getting-started/hono.md +190 -0
  132. package/.docs/guides/getting-started/next-js.md +347 -0
  133. package/.docs/guides/getting-started/nuxt.md +497 -0
  134. package/.docs/guides/getting-started/quickstart.md +67 -0
  135. package/.docs/guides/getting-started/sveltekit.md +296 -0
  136. package/.docs/guides/getting-started/vite-react.md +425 -0
  137. package/.docs/guides/guide/ai-recruiter.md +226 -0
  138. package/.docs/guides/guide/chef-michel.md +211 -0
  139. package/.docs/guides/guide/code-review-bot.md +226 -0
  140. package/.docs/guides/guide/dev-assistant.md +307 -0
  141. package/.docs/guides/guide/docs-manager.md +238 -0
  142. package/.docs/guides/guide/github-actions-pr-description.md +236 -0
  143. package/.docs/guides/guide/notes-mcp-server.md +416 -0
  144. package/.docs/guides/guide/research-assistant.md +348 -0
  145. package/.docs/guides/guide/research-coordinator.md +416 -0
  146. package/.docs/guides/guide/stock-agent.md +132 -0
  147. package/.docs/guides/guide/web-search.md +320 -0
  148. package/.docs/guides/guide/whatsapp-chat-bot.md +405 -0
  149. package/.docs/guides/index.md +3 -0
  150. package/.docs/guides/migrations/agentnetwork.md +97 -0
  151. package/.docs/guides/migrations/ai-sdk-v4-to-v5.md +112 -0
  152. package/.docs/guides/migrations/network-to-supervisor.md +261 -0
  153. package/.docs/guides/migrations/upgrade-to-v1/agent.md +404 -0
  154. package/.docs/guides/migrations/upgrade-to-v1/cli.md +57 -0
  155. package/.docs/guides/migrations/upgrade-to-v1/client.md +337 -0
  156. package/.docs/guides/migrations/upgrade-to-v1/deployment.md +37 -0
  157. package/.docs/guides/migrations/upgrade-to-v1/evals.md +239 -0
  158. package/.docs/guides/migrations/upgrade-to-v1/mastra.md +143 -0
  159. package/.docs/guides/migrations/upgrade-to-v1/mcp.md +97 -0
  160. package/.docs/guides/migrations/upgrade-to-v1/memory.md +285 -0
  161. package/.docs/guides/migrations/upgrade-to-v1/overview.md +119 -0
  162. package/.docs/guides/migrations/upgrade-to-v1/processors.md +68 -0
  163. package/.docs/guides/migrations/upgrade-to-v1/rag.md +42 -0
  164. package/.docs/guides/migrations/upgrade-to-v1/storage.md +553 -0
  165. package/.docs/guides/migrations/upgrade-to-v1/tools.md +180 -0
  166. package/.docs/guides/migrations/upgrade-to-v1/tracing.md +412 -0
  167. package/.docs/guides/migrations/upgrade-to-v1/vectors.md +87 -0
  168. package/.docs/guides/migrations/upgrade-to-v1/voice.md +30 -0
  169. package/.docs/guides/migrations/upgrade-to-v1/workflows.md +341 -0
  170. package/.docs/guides/migrations/vnext-to-standard-apis.md +362 -0
  171. package/.docs/models/embeddings.md +161 -0
  172. package/.docs/models/gateways/azure-openai.md +128 -0
  173. package/.docs/models/gateways/custom-gateways.md +545 -0
  174. package/.docs/models/gateways/netlify.md +88 -0
  175. package/.docs/models/gateways/openrouter.md +219 -0
  176. package/.docs/models/gateways/vercel.md +225 -0
  177. package/.docs/models/gateways.md +14 -0
  178. package/.docs/models/index.md +286 -0
  179. package/.docs/models/providers/302ai.md +134 -0
  180. package/.docs/models/providers/abacus.md +125 -0
  181. package/.docs/models/providers/agentrouter.md +90 -0
  182. package/.docs/models/providers/aihubmix.md +107 -0
  183. package/.docs/models/providers/alibaba-cn.md +135 -0
  184. package/.docs/models/providers/alibaba.md +111 -0
  185. package/.docs/models/providers/amazon-bedrock.md +33 -0
  186. package/.docs/models/providers/anthropic.md +153 -0
  187. package/.docs/models/providers/azure.md +33 -0
  188. package/.docs/models/providers/bailing.md +72 -0
  189. package/.docs/models/providers/baseten.md +77 -0
  190. package/.docs/models/providers/berget.md +78 -0
  191. package/.docs/models/providers/cerebras.md +101 -0
  192. package/.docs/models/providers/chutes.md +136 -0
  193. package/.docs/models/providers/cloudflare-ai-gateway.md +33 -0
  194. package/.docs/models/providers/cloudflare-workers-ai.md +109 -0
  195. package/.docs/models/providers/cohere.md +33 -0
  196. package/.docs/models/providers/cortecs.md +91 -0
  197. package/.docs/models/providers/deepinfra.md +112 -0
  198. package/.docs/models/providers/deepseek.md +88 -0
  199. package/.docs/models/providers/fastrouter.md +84 -0
  200. package/.docs/models/providers/fireworks-ai.md +89 -0
  201. package/.docs/models/providers/firmware.md +85 -0
  202. package/.docs/models/providers/friendli.md +78 -0
  203. package/.docs/models/providers/github-models.md +125 -0
  204. package/.docs/models/providers/google-vertex.md +33 -0
  205. package/.docs/models/providers/google.md +159 -0
  206. package/.docs/models/providers/groq.md +107 -0
  207. package/.docs/models/providers/helicone.md +161 -0
  208. package/.docs/models/providers/huggingface.md +90 -0
  209. package/.docs/models/providers/iflowcn.md +84 -0
  210. package/.docs/models/providers/inception.md +72 -0
  211. package/.docs/models/providers/inference.md +79 -0
  212. package/.docs/models/providers/io-intelligence.md +87 -0
  213. package/.docs/models/providers/io-net.md +87 -0
  214. package/.docs/models/providers/jiekou.md +131 -0
  215. package/.docs/models/providers/kilo.md +333 -0
  216. package/.docs/models/providers/kimi-for-coding.md +100 -0
  217. package/.docs/models/providers/kuae-cloud-coding-plan.md +71 -0
  218. package/.docs/models/providers/llama.md +77 -0
  219. package/.docs/models/providers/lmstudio.md +73 -0
  220. package/.docs/models/providers/lucidquery.md +72 -0
  221. package/.docs/models/providers/minimax-cn-coding-plan.md +102 -0
  222. package/.docs/models/providers/minimax-cn.md +102 -0
  223. package/.docs/models/providers/minimax-coding-plan.md +102 -0
  224. package/.docs/models/providers/minimax.md +104 -0
  225. package/.docs/models/providers/mistral.md +124 -0
  226. package/.docs/models/providers/moark.md +72 -0
  227. package/.docs/models/providers/modelscope.md +77 -0
  228. package/.docs/models/providers/moonshotai-cn.md +76 -0
  229. package/.docs/models/providers/moonshotai.md +76 -0
  230. package/.docs/models/providers/morph.md +73 -0
  231. package/.docs/models/providers/nano-gpt.md +103 -0
  232. package/.docs/models/providers/nebius.md +116 -0
  233. package/.docs/models/providers/nova.md +72 -0
  234. package/.docs/models/providers/novita-ai.md +154 -0
  235. package/.docs/models/providers/nvidia.md +141 -0
  236. package/.docs/models/providers/ollama-cloud.md +103 -0
  237. package/.docs/models/providers/ollama.md +33 -0
  238. package/.docs/models/providers/openai.md +193 -0
  239. package/.docs/models/providers/opencode.md +100 -0
  240. package/.docs/models/providers/ovhcloud.md +83 -0
  241. package/.docs/models/providers/perplexity.md +100 -0
  242. package/.docs/models/providers/poe.md +183 -0
  243. package/.docs/models/providers/privatemode-ai.md +75 -0
  244. package/.docs/models/providers/requesty.md +90 -0
  245. package/.docs/models/providers/scaleway.md +84 -0
  246. package/.docs/models/providers/siliconflow-cn.md +138 -0
  247. package/.docs/models/providers/siliconflow.md +140 -0
  248. package/.docs/models/providers/stackit.md +78 -0
  249. package/.docs/models/providers/stepfun.md +73 -0
  250. package/.docs/models/providers/submodel.md +79 -0
  251. package/.docs/models/providers/synthetic.md +96 -0
  252. package/.docs/models/providers/togetherai.md +115 -0
  253. package/.docs/models/providers/upstage.md +73 -0
  254. package/.docs/models/providers/venice.md +95 -0
  255. package/.docs/models/providers/vivgrid.md +106 -0
  256. package/.docs/models/providers/vultr.md +75 -0
  257. package/.docs/models/providers/wandb.md +80 -0
  258. package/.docs/models/providers/xai.md +141 -0
  259. package/.docs/models/providers/xiaomi.md +71 -0
  260. package/.docs/models/providers/zai-coding-plan.md +80 -0
  261. package/.docs/models/providers/zai.md +79 -0
  262. package/.docs/models/providers/zenmux.md +161 -0
  263. package/.docs/models/providers/zhipuai-coding-plan.md +79 -0
  264. package/.docs/models/providers/zhipuai.md +79 -0
  265. package/.docs/models/providers.md +81 -0
  266. package/.docs/reference/agents/agent.md +141 -0
  267. package/.docs/reference/agents/generate.md +186 -0
  268. package/.docs/reference/agents/generateLegacy.md +173 -0
  269. package/.docs/reference/agents/getDefaultGenerateOptions.md +36 -0
  270. package/.docs/reference/agents/getDefaultOptions.md +34 -0
  271. package/.docs/reference/agents/getDefaultStreamOptions.md +36 -0
  272. package/.docs/reference/agents/getDescription.md +21 -0
  273. package/.docs/reference/agents/getInstructions.md +34 -0
  274. package/.docs/reference/agents/getLLM.md +37 -0
  275. package/.docs/reference/agents/getMemory.md +34 -0
  276. package/.docs/reference/agents/getModel.md +34 -0
  277. package/.docs/reference/agents/getTools.md +29 -0
  278. package/.docs/reference/agents/getVoice.md +34 -0
  279. package/.docs/reference/agents/listAgents.md +35 -0
  280. package/.docs/reference/agents/listScorers.md +34 -0
  281. package/.docs/reference/agents/listTools.md +34 -0
  282. package/.docs/reference/agents/listWorkflows.md +34 -0
  283. package/.docs/reference/agents/network.md +133 -0
  284. package/.docs/reference/ai-sdk/chat-route.md +82 -0
  285. package/.docs/reference/ai-sdk/handle-chat-stream.md +53 -0
  286. package/.docs/reference/ai-sdk/handle-network-stream.md +37 -0
  287. package/.docs/reference/ai-sdk/handle-workflow-stream.md +55 -0
  288. package/.docs/reference/ai-sdk/network-route.md +74 -0
  289. package/.docs/reference/ai-sdk/to-ai-sdk-stream.md +231 -0
  290. package/.docs/reference/ai-sdk/to-ai-sdk-v4-messages.md +79 -0
  291. package/.docs/reference/ai-sdk/to-ai-sdk-v5-messages.md +76 -0
  292. package/.docs/reference/ai-sdk/with-mastra.md +59 -0
  293. package/.docs/reference/ai-sdk/workflow-route.md +79 -0
  294. package/.docs/reference/auth/auth0.md +73 -0
  295. package/.docs/reference/auth/better-auth.md +71 -0
  296. package/.docs/reference/auth/clerk.md +36 -0
  297. package/.docs/reference/auth/firebase.md +80 -0
  298. package/.docs/reference/auth/jwt.md +26 -0
  299. package/.docs/reference/auth/supabase.md +33 -0
  300. package/.docs/reference/auth/workos.md +84 -0
  301. package/.docs/reference/cli/create-mastra.md +137 -0
  302. package/.docs/reference/cli/mastra.md +336 -0
  303. package/.docs/reference/client-js/agents.md +437 -0
  304. package/.docs/reference/client-js/error-handling.md +16 -0
  305. package/.docs/reference/client-js/logs.md +24 -0
  306. package/.docs/reference/client-js/mastra-client.md +63 -0
  307. package/.docs/reference/client-js/memory.md +221 -0
  308. package/.docs/reference/client-js/observability.md +72 -0
  309. package/.docs/reference/client-js/telemetry.md +20 -0
  310. package/.docs/reference/client-js/tools.md +44 -0
  311. package/.docs/reference/client-js/vectors.md +79 -0
  312. package/.docs/reference/client-js/workflows.md +199 -0
  313. package/.docs/reference/configuration.md +752 -0
  314. package/.docs/reference/core/addGateway.md +42 -0
  315. package/.docs/reference/core/getAgent.md +21 -0
  316. package/.docs/reference/core/getAgentById.md +21 -0
  317. package/.docs/reference/core/getDeployer.md +22 -0
  318. package/.docs/reference/core/getGateway.md +38 -0
  319. package/.docs/reference/core/getGatewayById.md +41 -0
  320. package/.docs/reference/core/getLogger.md +22 -0
  321. package/.docs/reference/core/getMCPServer.md +47 -0
  322. package/.docs/reference/core/getMCPServerById.md +55 -0
  323. package/.docs/reference/core/getMemory.md +50 -0
  324. package/.docs/reference/core/getScorer.md +54 -0
  325. package/.docs/reference/core/getScorerById.md +54 -0
  326. package/.docs/reference/core/getServer.md +22 -0
  327. package/.docs/reference/core/getStorage.md +22 -0
  328. package/.docs/reference/core/getStoredAgentById.md +89 -0
  329. package/.docs/reference/core/getTelemetry.md +22 -0
  330. package/.docs/reference/core/getVector.md +22 -0
  331. package/.docs/reference/core/getWorkflow.md +42 -0
  332. package/.docs/reference/core/listAgents.md +21 -0
  333. package/.docs/reference/core/listGateways.md +40 -0
  334. package/.docs/reference/core/listLogs.md +38 -0
  335. package/.docs/reference/core/listLogsByRunId.md +36 -0
  336. package/.docs/reference/core/listMCPServers.md +55 -0
  337. package/.docs/reference/core/listMemory.md +56 -0
  338. package/.docs/reference/core/listScorers.md +29 -0
  339. package/.docs/reference/core/listStoredAgents.md +93 -0
  340. package/.docs/reference/core/listVectors.md +22 -0
  341. package/.docs/reference/core/listWorkflows.md +21 -0
  342. package/.docs/reference/core/mastra-class.md +66 -0
  343. package/.docs/reference/core/mastra-model-gateway.md +153 -0
  344. package/.docs/reference/core/setLogger.md +26 -0
  345. package/.docs/reference/core/setStorage.md +27 -0
  346. package/.docs/reference/datasets/addItem.md +37 -0
  347. package/.docs/reference/datasets/addItems.md +35 -0
  348. package/.docs/reference/datasets/compareExperiments.md +52 -0
  349. package/.docs/reference/datasets/create.md +51 -0
  350. package/.docs/reference/datasets/dataset.md +82 -0
  351. package/.docs/reference/datasets/datasets-manager.md +94 -0
  352. package/.docs/reference/datasets/delete.md +25 -0
  353. package/.docs/reference/datasets/deleteExperiment.md +27 -0
  354. package/.docs/reference/datasets/deleteItem.md +27 -0
  355. package/.docs/reference/datasets/deleteItems.md +29 -0
  356. package/.docs/reference/datasets/get.md +31 -0
  357. package/.docs/reference/datasets/getDetails.md +47 -0
  358. package/.docs/reference/datasets/getExperiment.md +30 -0
  359. package/.docs/reference/datasets/getItem.md +33 -0
  360. package/.docs/reference/datasets/getItemHistory.md +31 -0
  361. package/.docs/reference/datasets/list.md +31 -0
  362. package/.docs/reference/datasets/listExperimentResults.md +39 -0
  363. package/.docs/reference/datasets/listExperiments.md +33 -0
  364. package/.docs/reference/datasets/listItems.md +46 -0
  365. package/.docs/reference/datasets/listVersions.md +33 -0
  366. package/.docs/reference/datasets/startExperiment.md +62 -0
  367. package/.docs/reference/datasets/startExperimentAsync.md +43 -0
  368. package/.docs/reference/datasets/update.md +48 -0
  369. package/.docs/reference/datasets/updateItem.md +38 -0
  370. package/.docs/reference/deployer/cloudflare.md +79 -0
  371. package/.docs/reference/deployer/netlify.md +80 -0
  372. package/.docs/reference/deployer/vercel.md +91 -0
  373. package/.docs/reference/deployer.md +100 -0
  374. package/.docs/reference/evals/answer-relevancy.md +105 -0
  375. package/.docs/reference/evals/answer-similarity.md +99 -0
  376. package/.docs/reference/evals/bias.md +120 -0
  377. package/.docs/reference/evals/completeness.md +136 -0
  378. package/.docs/reference/evals/content-similarity.md +101 -0
  379. package/.docs/reference/evals/context-precision.md +196 -0
  380. package/.docs/reference/evals/context-relevance.md +531 -0
  381. package/.docs/reference/evals/create-scorer.md +270 -0
  382. package/.docs/reference/evals/faithfulness.md +114 -0
  383. package/.docs/reference/evals/hallucination.md +213 -0
  384. package/.docs/reference/evals/keyword-coverage.md +128 -0
  385. package/.docs/reference/evals/mastra-scorer.md +123 -0
  386. package/.docs/reference/evals/noise-sensitivity.md +675 -0
  387. package/.docs/reference/evals/prompt-alignment.md +614 -0
  388. package/.docs/reference/evals/run-evals.md +179 -0
  389. package/.docs/reference/evals/scorer-utils.md +326 -0
  390. package/.docs/reference/evals/textual-difference.md +113 -0
  391. package/.docs/reference/evals/tone-consistency.md +119 -0
  392. package/.docs/reference/evals/tool-call-accuracy.md +533 -0
  393. package/.docs/reference/evals/toxicity.md +123 -0
  394. package/.docs/reference/harness/harness-class.md +708 -0
  395. package/.docs/reference/index.md +277 -0
  396. package/.docs/reference/logging/pino-logger.md +117 -0
  397. package/.docs/reference/mastra-code/createMastraCode.md +108 -0
  398. package/.docs/reference/memory/clone-utilities.md +199 -0
  399. package/.docs/reference/memory/cloneThread.md +130 -0
  400. package/.docs/reference/memory/createThread.md +68 -0
  401. package/.docs/reference/memory/deleteMessages.md +38 -0
  402. package/.docs/reference/memory/getThreadById.md +24 -0
  403. package/.docs/reference/memory/listThreads.md +145 -0
  404. package/.docs/reference/memory/memory-class.md +147 -0
  405. package/.docs/reference/memory/observational-memory.md +565 -0
  406. package/.docs/reference/memory/recall.md +91 -0
  407. package/.docs/reference/observability/tracing/bridges/otel.md +131 -0
  408. package/.docs/reference/observability/tracing/configuration.md +178 -0
  409. package/.docs/reference/observability/tracing/exporters/arize.md +141 -0
  410. package/.docs/reference/observability/tracing/exporters/braintrust.md +93 -0
  411. package/.docs/reference/observability/tracing/exporters/cloud-exporter.md +163 -0
  412. package/.docs/reference/observability/tracing/exporters/console-exporter.md +138 -0
  413. package/.docs/reference/observability/tracing/exporters/datadog.md +116 -0
  414. package/.docs/reference/observability/tracing/exporters/default-exporter.md +174 -0
  415. package/.docs/reference/observability/tracing/exporters/laminar.md +78 -0
  416. package/.docs/reference/observability/tracing/exporters/langfuse.md +134 -0
  417. package/.docs/reference/observability/tracing/exporters/langsmith.md +108 -0
  418. package/.docs/reference/observability/tracing/exporters/otel.md +199 -0
  419. package/.docs/reference/observability/tracing/exporters/posthog.md +92 -0
  420. package/.docs/reference/observability/tracing/exporters/sentry.md +184 -0
  421. package/.docs/reference/observability/tracing/instances.md +107 -0
  422. package/.docs/reference/observability/tracing/interfaces.md +743 -0
  423. package/.docs/reference/observability/tracing/processors/sensitive-data-filter.md +144 -0
  424. package/.docs/reference/observability/tracing/spans.md +224 -0
  425. package/.docs/reference/processors/batch-parts-processor.md +61 -0
  426. package/.docs/reference/processors/language-detector.md +82 -0
  427. package/.docs/reference/processors/message-history-processor.md +85 -0
  428. package/.docs/reference/processors/moderation-processor.md +104 -0
  429. package/.docs/reference/processors/pii-detector.md +108 -0
  430. package/.docs/reference/processors/processor-interface.md +521 -0
  431. package/.docs/reference/processors/prompt-injection-detector.md +72 -0
  432. package/.docs/reference/processors/semantic-recall-processor.md +117 -0
  433. package/.docs/reference/processors/system-prompt-scrubber.md +80 -0
  434. package/.docs/reference/processors/token-limiter-processor.md +115 -0
  435. package/.docs/reference/processors/tool-call-filter.md +85 -0
  436. package/.docs/reference/processors/tool-search-processor.md +111 -0
  437. package/.docs/reference/processors/unicode-normalizer.md +62 -0
  438. package/.docs/reference/processors/working-memory-processor.md +152 -0
  439. package/.docs/reference/rag/chunk.md +221 -0
  440. package/.docs/reference/rag/database-config.md +261 -0
  441. package/.docs/reference/rag/document.md +114 -0
  442. package/.docs/reference/rag/embeddings.md +92 -0
  443. package/.docs/reference/rag/extract-params.md +168 -0
  444. package/.docs/reference/rag/graph-rag.md +111 -0
  445. package/.docs/reference/rag/metadata-filters.md +216 -0
  446. package/.docs/reference/rag/rerank.md +75 -0
  447. package/.docs/reference/rag/rerankWithScorer.md +80 -0
  448. package/.docs/reference/server/create-route.md +262 -0
  449. package/.docs/reference/server/express-adapter.md +176 -0
  450. package/.docs/reference/server/fastify-adapter.md +90 -0
  451. package/.docs/reference/server/hono-adapter.md +162 -0
  452. package/.docs/reference/server/koa-adapter.md +127 -0
  453. package/.docs/reference/server/mastra-server.md +298 -0
  454. package/.docs/reference/server/register-api-route.md +249 -0
  455. package/.docs/reference/server/routes.md +306 -0
  456. package/.docs/reference/storage/cloudflare-d1.md +218 -0
  457. package/.docs/reference/storage/cloudflare.md +88 -0
  458. package/.docs/reference/storage/composite.md +235 -0
  459. package/.docs/reference/storage/convex.md +161 -0
  460. package/.docs/reference/storage/dynamodb.md +282 -0
  461. package/.docs/reference/storage/lance.md +131 -0
  462. package/.docs/reference/storage/libsql.md +135 -0
  463. package/.docs/reference/storage/mongodb.md +262 -0
  464. package/.docs/reference/storage/mssql.md +157 -0
  465. package/.docs/reference/storage/overview.md +121 -0
  466. package/.docs/reference/storage/postgresql.md +526 -0
  467. package/.docs/reference/storage/upstash.md +160 -0
  468. package/.docs/reference/streaming/ChunkType.md +292 -0
  469. package/.docs/reference/streaming/agents/MastraModelOutput.md +182 -0
  470. package/.docs/reference/streaming/agents/stream.md +221 -0
  471. package/.docs/reference/streaming/agents/streamLegacy.md +142 -0
  472. package/.docs/reference/streaming/workflows/observeStream.md +42 -0
  473. package/.docs/reference/streaming/workflows/resumeStream.md +61 -0
  474. package/.docs/reference/streaming/workflows/stream.md +88 -0
  475. package/.docs/reference/streaming/workflows/timeTravelStream.md +142 -0
  476. package/.docs/reference/templates/overview.md +194 -0
  477. package/.docs/reference/tools/create-tool.md +237 -0
  478. package/.docs/reference/tools/document-chunker-tool.md +89 -0
  479. package/.docs/reference/tools/graph-rag-tool.md +182 -0
  480. package/.docs/reference/tools/mcp-client.md +954 -0
  481. package/.docs/reference/tools/mcp-server.md +1271 -0
  482. package/.docs/reference/tools/vector-query-tool.md +459 -0
  483. package/.docs/reference/vectors/astra.md +121 -0
  484. package/.docs/reference/vectors/chroma.md +264 -0
  485. package/.docs/reference/vectors/convex.md +300 -0
  486. package/.docs/reference/vectors/couchbase.md +226 -0
  487. package/.docs/reference/vectors/duckdb.md +318 -0
  488. package/.docs/reference/vectors/elasticsearch.md +189 -0
  489. package/.docs/reference/vectors/lance.md +220 -0
  490. package/.docs/reference/vectors/libsql.md +305 -0
  491. package/.docs/reference/vectors/mongodb.md +295 -0
  492. package/.docs/reference/vectors/opensearch.md +99 -0
  493. package/.docs/reference/vectors/pg.md +408 -0
  494. package/.docs/reference/vectors/pinecone.md +168 -0
  495. package/.docs/reference/vectors/qdrant.md +222 -0
  496. package/.docs/reference/vectors/s3vectors.md +277 -0
  497. package/.docs/reference/vectors/turbopuffer.md +157 -0
  498. package/.docs/reference/vectors/upstash.md +294 -0
  499. package/.docs/reference/vectors/vectorize.md +147 -0
  500. package/.docs/reference/voice/azure.md +148 -0
  501. package/.docs/reference/voice/cloudflare.md +83 -0
  502. package/.docs/reference/voice/composite-voice.md +121 -0
  503. package/.docs/reference/voice/deepgram.md +79 -0
  504. package/.docs/reference/voice/elevenlabs.md +98 -0
  505. package/.docs/reference/voice/google-gemini-live.md +378 -0
  506. package/.docs/reference/voice/google.md +228 -0
  507. package/.docs/reference/voice/mastra-voice.md +311 -0
  508. package/.docs/reference/voice/murf.md +122 -0
  509. package/.docs/reference/voice/openai-realtime.md +203 -0
  510. package/.docs/reference/voice/openai.md +88 -0
  511. package/.docs/reference/voice/playai.md +80 -0
  512. package/.docs/reference/voice/sarvam.md +126 -0
  513. package/.docs/reference/voice/speechify.md +75 -0
  514. package/.docs/reference/voice/voice.addInstructions.md +55 -0
  515. package/.docs/reference/voice/voice.addTools.md +67 -0
  516. package/.docs/reference/voice/voice.answer.md +54 -0
  517. package/.docs/reference/voice/voice.close.md +51 -0
  518. package/.docs/reference/voice/voice.connect.md +94 -0
  519. package/.docs/reference/voice/voice.events.md +37 -0
  520. package/.docs/reference/voice/voice.getSpeakers.md +129 -0
  521. package/.docs/reference/voice/voice.listen.md +164 -0
  522. package/.docs/reference/voice/voice.off.md +54 -0
  523. package/.docs/reference/voice/voice.on.md +111 -0
  524. package/.docs/reference/voice/voice.send.md +65 -0
  525. package/.docs/reference/voice/voice.speak.md +157 -0
  526. package/.docs/reference/voice/voice.updateConfig.md +60 -0
  527. package/.docs/reference/workflows/run-methods/cancel.md +86 -0
  528. package/.docs/reference/workflows/run-methods/restart.md +33 -0
  529. package/.docs/reference/workflows/run-methods/resume.md +59 -0
  530. package/.docs/reference/workflows/run-methods/start.md +58 -0
  531. package/.docs/reference/workflows/run-methods/startAsync.md +67 -0
  532. package/.docs/reference/workflows/run-methods/timeTravel.md +142 -0
  533. package/.docs/reference/workflows/run.md +59 -0
  534. package/.docs/reference/workflows/step.md +119 -0
  535. package/.docs/reference/workflows/workflow-methods/branch.md +25 -0
  536. package/.docs/reference/workflows/workflow-methods/commit.md +17 -0
  537. package/.docs/reference/workflows/workflow-methods/create-run.md +63 -0
  538. package/.docs/reference/workflows/workflow-methods/dountil.md +25 -0
  539. package/.docs/reference/workflows/workflow-methods/dowhile.md +25 -0
  540. package/.docs/reference/workflows/workflow-methods/foreach.md +118 -0
  541. package/.docs/reference/workflows/workflow-methods/map.md +93 -0
  542. package/.docs/reference/workflows/workflow-methods/parallel.md +21 -0
  543. package/.docs/reference/workflows/workflow-methods/sleep.md +35 -0
  544. package/.docs/reference/workflows/workflow-methods/sleepUntil.md +35 -0
  545. package/.docs/reference/workflows/workflow-methods/then.md +21 -0
  546. package/.docs/reference/workflows/workflow.md +157 -0
  547. package/.docs/reference/workspace/e2b-sandbox.md +289 -0
  548. package/.docs/reference/workspace/filesystem.md +255 -0
  549. package/.docs/reference/workspace/gcs-filesystem.md +174 -0
  550. package/.docs/reference/workspace/local-filesystem.md +343 -0
  551. package/.docs/reference/workspace/local-sandbox.md +301 -0
  552. package/.docs/reference/workspace/s3-filesystem.md +175 -0
  553. package/.docs/reference/workspace/sandbox.md +87 -0
  554. package/.docs/reference/workspace/workspace-class.md +244 -0
  555. package/CHANGELOG.md +8 -0
  556. package/package.json +5 -5
@@ -0,0 +1,75 @@
1
+ # rerank()
2
+
3
+ The `rerank()` function provides advanced reranking capabilities for vector search results by combining semantic relevance, vector similarity, and position-based scoring.
4
+
5
+ ```typescript
6
+ function rerank(
7
+ results: QueryResult[],
8
+ query: string,
9
+ modelConfig: ModelConfig,
10
+ options?: RerankerFunctionOptions,
11
+ ): Promise<RerankResult[]>
12
+ ```
13
+
14
+ ## Usage Example
15
+
16
+ ```typescript
17
+ import { rerank } from '@mastra/rag'
18
+
19
+ const model = 'openai/gpt-5.1'
20
+
21
+ const rerankedResults = await rerank(vectorSearchResults, 'How do I deploy to production?', model, {
22
+ weights: {
23
+ semantic: 0.5,
24
+ vector: 0.3,
25
+ position: 0.2,
26
+ },
27
+ topK: 3,
28
+ })
29
+ ```
30
+
31
+ ## Parameters
32
+
33
+ **results:** (`QueryResult[]`): The vector search results to rerank
34
+
35
+ **query:** (`string`): The search query text used to evaluate relevance
36
+
37
+ **model:** (`MastraLanguageModel`): The language Model to use for reranking
38
+
39
+ **options?:** (`RerankerFunctionOptions`): Options for the reranking model
40
+
41
+ The rerank function accepts any LanguageModel from the Vercel AI SDK. When using the Cohere model `rerank-v3.5`, it will automatically use Cohere's reranking capabilities.
42
+
43
+ > **Note:** For semantic scoring to work properly during re-ranking, each result must include the text content in its `metadata.text` field.
44
+
45
+ ### RerankerFunctionOptions
46
+
47
+ **weights?:** (`WeightConfig`): numbersemantic?:number (default: 0.4)Weight for semantic relevancenumbervector?:number (default: 0.4)Weight for vector similaritynumberposition?:number (default: 0.2)Weight for position-based scoring
48
+
49
+ **queryEmbedding?:** (`number[]`): Embedding of the query
50
+
51
+ **topK?:** (`number`): Number of top results to return (Default: `3`)
52
+
53
+ ## Returns
54
+
55
+ The function returns an array of `RerankResult` objects:
56
+
57
+ **result:** (`QueryResult`): The original query result
58
+
59
+ **score:** (`number`): Combined reranking score (0-1)
60
+
61
+ **details:** (`ScoringDetails`): Detailed scoring information
62
+
63
+ ### ScoringDetails
64
+
65
+ **semantic:** (`number`): Semantic relevance score (0-1)
66
+
67
+ **vector:** (`number`): Vector similarity score (0-1)
68
+
69
+ **position:** (`number`): Position-based score (0-1)
70
+
71
+ **queryAnalysis?:** (`object`): numbermagnitude:Magnitude of the querynumber\[]dominantFeatures:Dominant features of the query
72
+
73
+ ## Related
74
+
75
+ - [createVectorQueryTool](https://mastra.ai/reference/tools/vector-query-tool)
@@ -0,0 +1,80 @@
1
+ # rerankWithScorer()
2
+
3
+ The `rerankWithScorer()` function provides advanced reranking capabilities for vector search results by combining semantic relevance, vector similarity, and position-based scoring.
4
+
5
+ ```typescript
6
+ function rerankWithScorer({
7
+ results: QueryResult[],
8
+ query: string,
9
+ scorer: RelevanceScoreProvider,
10
+ options?: RerankerFunctionOptions,
11
+ }): Promise<RerankResult[]>;
12
+ ```
13
+
14
+ ## Usage Example
15
+
16
+ ```typescript
17
+ import { rerankWithScorer as rerank, CohereRelevanceScorer } from '@mastra/rag'
18
+
19
+ const scorer = new CohereRelevanceScorer('rerank-v3.5')
20
+
21
+ const rerankedResults = await rerank({
22
+ results: vectorSearchResults,
23
+ query: 'How do I deploy to production?',
24
+ scorer,
25
+ options: {
26
+ weights: {
27
+ semantic: 0.5,
28
+ vector: 0.3,
29
+ position: 0.2,
30
+ },
31
+ topK: 3,
32
+ },
33
+ })
34
+ ```
35
+
36
+ ## Parameters
37
+
38
+ **results:** (`QueryResult[]`): The vector search results to rerank
39
+
40
+ **query:** (`string`): The search query text used to evaluate relevance
41
+
42
+ **scorer:** (`RelevanceScoreProvider`): The relevance scorer to use for reranking
43
+
44
+ **options?:** (`RerankerFunctionOptions`): Options for the reranking model
45
+
46
+ The `rerankWithScorer` function accepts any `RelevanceScoreProvider` from @mastra/rag.
47
+
48
+ > **Note:** For semantic scoring to work properly during re-ranking, each result must include the text content in its `metadata.text` field.
49
+
50
+ ### RerankerFunctionOptions
51
+
52
+ **weights?:** (`WeightConfig`): numbersemantic?:number (default: 0.4)Weight for semantic relevancenumbervector?:number (default: 0.4)Weight for vector similaritynumberposition?:number (default: 0.2)Weight for position-based scoring
53
+
54
+ **queryEmbedding?:** (`number[]`): Embedding of the query
55
+
56
+ **topK?:** (`number`): Number of top results to return (Default: `3`)
57
+
58
+ ## Returns
59
+
60
+ The function returns an array of `RerankResult` objects:
61
+
62
+ **result:** (`QueryResult`): The original query result
63
+
64
+ **score:** (`number`): Combined reranking score (0-1)
65
+
66
+ **details:** (`ScoringDetails`): Detailed scoring information
67
+
68
+ ### ScoringDetails
69
+
70
+ **semantic:** (`number`): Semantic relevance score (0-1)
71
+
72
+ **vector:** (`number`): Vector similarity score (0-1)
73
+
74
+ **position:** (`number`): Position-based score (0-1)
75
+
76
+ **queryAnalysis?:** (`object`): numbermagnitude:Magnitude of the querynumber\[]dominantFeatures:Dominant features of the query
77
+
78
+ ## Related
79
+
80
+ - [createVectorQueryTool](https://mastra.ai/reference/tools/vector-query-tool)
@@ -0,0 +1,262 @@
1
+ # createRoute()
2
+
3
+ The `createRoute()` function creates type-safe routes with Zod validation. When an `openapiPath` is configured on the server adapter, it generates OpenAPI schema entries from the supplied Zod schemas.
4
+
5
+ ## Import
6
+
7
+ ```typescript
8
+ import { createRoute } from '@mastra/server/server-adapter'
9
+ ```
10
+
11
+ ## Signature
12
+
13
+ ```typescript
14
+ function createRoute<TPath, TQuery, TBody, TResponse, TResponseType>(
15
+ config: RouteConfig<TPath, TQuery, TBody, TResponse, TResponseType>,
16
+ ): ServerRoute
17
+ ```
18
+
19
+ ## Parameters
20
+
21
+ **method:** (`'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'ALL'`): HTTP method
22
+
23
+ **path:** (`string`): Route path with optional params (e.g., \`/api/items/:id\`)
24
+
25
+ **responseType:** (`'json' | 'stream'`): Response format. Internal routes may use additional types (\`datastream-response\`, \`mcp-http\`, \`mcp-sse\`).
26
+
27
+ **handler:** (`ServerRouteHandler`): Route handler function
28
+
29
+ **pathParamSchema?:** (`ZodSchema`): Validates URL path parameters
30
+
31
+ **queryParamSchema?:** (`ZodSchema`): Validates query string parameters
32
+
33
+ **bodySchema?:** (`ZodSchema`): Validates request body
34
+
35
+ **responseSchema?:** (`ZodSchema`): Documents response shape for OpenAPI
36
+
37
+ **streamFormat?:** (`'sse' | 'stream'`): Stream format (when responseType is 'stream')
38
+
39
+ **maxBodySize?:** (`number`): Override default body size limit in bytes
40
+
41
+ **summary?:** (`string`): OpenAPI summary
42
+
43
+ **description?:** (`string`): OpenAPI description
44
+
45
+ **tags?:** (`string[]`): OpenAPI tags
46
+
47
+ **deprecated?:** (`boolean`): Mark route as deprecated
48
+
49
+ ## Handler parameters
50
+
51
+ The handler receives validated parameters plus runtime context:
52
+
53
+ ```typescript
54
+ handler: async params => {
55
+ // From schemas (typed from Zod)
56
+ params.id // From pathParamSchema
57
+ params.filter // From queryParamSchema
58
+ params.name // From bodySchema
59
+
60
+ // Runtime context (always available)
61
+ params.mastra // Mastra instance
62
+ params.requestContext // Request-scoped context
63
+ params.tools // Available tools
64
+ params.abortSignal // Request cancellation signal
65
+ params.taskStore // A2A task storage
66
+ }
67
+ ```
68
+
69
+ ## Return value
70
+
71
+ Returns a `ServerRoute` object that can be registered with an adapter.
72
+
73
+ ## Examples
74
+
75
+ ### GET route with path params
76
+
77
+ ```typescript
78
+ import { createRoute } from '@mastra/server/server-adapter'
79
+ import { z } from 'zod'
80
+
81
+ const getAgent = createRoute({
82
+ method: 'GET',
83
+ path: '/api/agents/:agentId',
84
+ responseType: 'json',
85
+ pathParamSchema: z.object({
86
+ agentId: z.string(),
87
+ }),
88
+ responseSchema: z.object({
89
+ name: z.string(),
90
+ description: z.string().optional(),
91
+ }),
92
+ summary: 'Get agent by ID',
93
+ tags: ['Agents'],
94
+ handler: async ({ agentId, mastra }) => {
95
+ return mastra.getAgent(agentId)
96
+ },
97
+ })
98
+ ```
99
+
100
+ ### POST route with body
101
+
102
+ ```typescript
103
+ const createItem = createRoute({
104
+ method: 'POST',
105
+ path: '/api/items',
106
+ responseType: 'json',
107
+ bodySchema: z.object({
108
+ name: z.string(),
109
+ value: z.number(),
110
+ }),
111
+ responseSchema: z.object({
112
+ id: z.string(),
113
+ name: z.string(),
114
+ value: z.number(),
115
+ }),
116
+ handler: async ({ name, value, mastra }) => {
117
+ // name and value are typed from bodySchema
118
+ return { id: 'new-id', name, value }
119
+ },
120
+ })
121
+ ```
122
+
123
+ ### Query params with coercion
124
+
125
+ ```typescript
126
+ const listItems = createRoute({
127
+ method: 'GET',
128
+ path: '/api/items',
129
+ responseType: 'json',
130
+ queryParamSchema: z.object({
131
+ page: z.coerce.number().default(0),
132
+ limit: z.coerce.number().default(50),
133
+ enabled: z.coerce.boolean().optional(),
134
+ }),
135
+ handler: async ({ page, limit, enabled, mastra }) => {
136
+ // page, limit, enabled are typed and coerced
137
+ return { items: [], page, limit }
138
+ },
139
+ })
140
+ ```
141
+
142
+ ### Streaming route
143
+
144
+ ```typescript
145
+ const streamAgent = createRoute({
146
+ method: 'POST',
147
+ path: '/api/agents/:agentId/stream',
148
+ responseType: 'stream',
149
+ streamFormat: 'sse',
150
+ pathParamSchema: z.object({
151
+ agentId: z.string(),
152
+ }),
153
+ bodySchema: z.object({
154
+ messages: z.array(z.any()),
155
+ }),
156
+ handler: async ({ agentId, messages, mastra, abortSignal }) => {
157
+ const agent = mastra.getAgent(agentId)
158
+ return agent.stream(messages, { abortSignal })
159
+ },
160
+ })
161
+ ```
162
+
163
+ ### Custom body size limit
164
+
165
+ ```typescript
166
+ const uploadRoute = createRoute({
167
+ method: 'POST',
168
+ path: '/api/upload',
169
+ responseType: 'json',
170
+ maxBodySize: 50 * 1024 * 1024, // 50MB
171
+ bodySchema: z.object({
172
+ file: z.string(),
173
+ }),
174
+ handler: async ({ file }) => {
175
+ return { uploaded: true }
176
+ },
177
+ })
178
+ ```
179
+
180
+ ## Schema patterns
181
+
182
+ ### Passthrough for extensibility
183
+
184
+ ```typescript
185
+ const bodySchema = z
186
+ .object({
187
+ required: z.string(),
188
+ })
189
+ .passthrough() // Allow unknown fields
190
+ ```
191
+
192
+ ### Date coercion
193
+
194
+ ```typescript
195
+ const querySchema = z.object({
196
+ fromDate: z.coerce.date().optional(),
197
+ toDate: z.coerce.date().optional(),
198
+ })
199
+ ```
200
+
201
+ ### Union types
202
+
203
+ ```typescript
204
+ const bodySchema = z.object({
205
+ messages: z.union([z.array(z.any()), z.string()]),
206
+ })
207
+ ```
208
+
209
+ ## Error handling
210
+
211
+ Throw an error with a `status` property to return specific HTTP status codes from handlers. If using Hono, you can use `HTTPException` from `hono/http-exception`:
212
+
213
+ ```typescript
214
+ import { createRoute } from '@mastra/server/server-adapter'
215
+ import { HTTPException } from 'hono/http-exception'
216
+
217
+ const getAgent = createRoute({
218
+ method: 'GET',
219
+ path: '/api/agents/:agentId',
220
+ responseType: 'json',
221
+ pathParamSchema: z.object({ agentId: z.string() }),
222
+ handler: async ({ agentId, mastra }) => {
223
+ const agent = mastra.getAgent(agentId)
224
+ if (!agent) {
225
+ throw new HTTPException(404, { message: `Agent '${agentId}' not found` })
226
+ }
227
+ return agent
228
+ },
229
+ })
230
+ ```
231
+
232
+ For Express or framework-agnostic code, throw an error with a `status` property:
233
+
234
+ ```typescript
235
+ class HttpError extends Error {
236
+ constructor(
237
+ public status: number,
238
+ message: string,
239
+ ) {
240
+ super(message)
241
+ }
242
+ }
243
+
244
+ // In handler:
245
+ throw new HttpError(404, `Agent '${agentId}' not found`)
246
+ ```
247
+
248
+ Common status codes:
249
+
250
+ | Code | Meaning |
251
+ | ---- | --------------------- |
252
+ | 400 | Bad Request |
253
+ | 401 | Unauthorized |
254
+ | 403 | Forbidden |
255
+ | 404 | Not Found |
256
+ | 500 | Internal Server Error |
257
+
258
+ ## Related
259
+
260
+ - [Server Routes](https://mastra.ai/reference/server/routes) - Default Mastra routes
261
+ - [MastraServer](https://mastra.ai/reference/server/mastra-server) - Server adapter class
262
+ - [Server Adapters](https://mastra.ai/docs/server/server-adapters) - Using adapters
@@ -0,0 +1,176 @@
1
+ # Express Adapter
2
+
3
+ The `@mastra/express` package provides a server adapter for running Mastra with [Express](https://expressjs.com).
4
+
5
+ > **Info:** For general adapter concepts (constructor options, initialization flow, etc.), see [Server Adapters](https://mastra.ai/docs/server/server-adapters).
6
+
7
+ ## Installation
8
+
9
+ Install the Express adapter and Express framework:
10
+
11
+ **npm**:
12
+
13
+ ```bash
14
+ npm install @mastra/express@latest express
15
+ ```
16
+
17
+ **pnpm**:
18
+
19
+ ```bash
20
+ pnpm add @mastra/express@latest express
21
+ ```
22
+
23
+ **Yarn**:
24
+
25
+ ```bash
26
+ yarn add @mastra/express@latest express
27
+ ```
28
+
29
+ **Bun**:
30
+
31
+ ```bash
32
+ bun add @mastra/express@latest express
33
+ ```
34
+
35
+ ## Usage example
36
+
37
+ ```typescript
38
+ import express from 'express'
39
+ import { MastraServer } from '@mastra/express'
40
+ import { mastra } from './mastra'
41
+
42
+ const app = express()
43
+ app.use(express.json()) // Required for body parsing
44
+
45
+ const server = new MastraServer({ app, mastra })
46
+ await server.init()
47
+
48
+ app.listen(4111, () => {
49
+ console.log('Server running on port 4111')
50
+ })
51
+ ```
52
+
53
+ > **Note:** Express requires `express.json()` middleware for JSON body parsing. Add it before creating the `MastraServer`.
54
+
55
+ ## Constructor parameters
56
+
57
+ **app:** (`Application`): Express app instance
58
+
59
+ **mastra:** (`Mastra`): Mastra instance
60
+
61
+ **prefix?:** (`string`): Route path prefix (e.g., \`/api/v2\`) (Default: `''`)
62
+
63
+ **openapiPath?:** (`string`): Path to serve OpenAPI spec (e.g., \`/openapi.json\`) (Default: `''`)
64
+
65
+ **bodyLimitOptions?:** (`{ maxSize: number, onError: (err) => unknown }`): Request body size limits
66
+
67
+ **streamOptions?:** (`{ redact?: boolean }`): Stream redaction config. When true, redacts sensitive data from streams. (Default: `{ redact: true }`)
68
+
69
+ **customRouteAuthConfig?:** (`Map<string, boolean>`): Per-route auth overrides. Keys are \`METHOD:PATH\` (e.g., \`GET:/api/health\`). Value \`false\` makes route public, \`true\` requires auth.
70
+
71
+ **tools?:** (`Record<string, Tool>`): Available tools for the server
72
+
73
+ **taskStore?:** (`InMemoryTaskStore`): Task store for A2A (Agent-to-Agent) operations
74
+
75
+ **mcpOptions?:** (`MCPOptions`): MCP transport options. Set \`serverless: true\` for stateless environments like Cloudflare Workers or Vercel Edge.
76
+
77
+ ## Differences from Hono
78
+
79
+ | Aspect | Express | Hono |
80
+ | -------------------- | ------------------------------ | --------------------- |
81
+ | Body parsing | Requires `express.json()` | Handled by framework |
82
+ | Context storage | `res.locals` | `c.get()` / `c.set()` |
83
+ | Middleware signature | `(req, res, next)` | `(c, next)` |
84
+ | Streaming | `res.write()` / `res.end()` | `stream()` helper |
85
+ | AbortSignal | Created from `req.on('close')` | `c.req.raw.signal` |
86
+
87
+ ## Adding custom routes
88
+
89
+ Add routes directly to the Express app:
90
+
91
+ ```typescript
92
+ const app = express()
93
+ app.use(express.json())
94
+
95
+ const server = new MastraServer({ app, mastra })
96
+
97
+ // Before init - runs before Mastra middleware
98
+ app.get('/early-health', (req, res) => res.json({ status: 'ok' }))
99
+
100
+ await server.init()
101
+
102
+ // After init - has access to Mastra context
103
+ app.get('/custom', (req, res) => {
104
+ const mastraInstance = res.locals.mastra
105
+ res.json({ agents: Object.keys(mastraInstance.listAgents()) })
106
+ })
107
+
108
+ app.listen(4111)
109
+ ```
110
+
111
+ > **Tip:** Routes added before `init()` run without Mastra context. Add routes after `init()` to access the Mastra instance and request context.
112
+
113
+ ## Accessing context
114
+
115
+ In Express middleware and routes, access Mastra context via `res.locals`:
116
+
117
+ ```typescript
118
+ app.get('/custom', (req, res) => {
119
+ const mastra = res.locals.mastra
120
+ const requestContext = res.locals.requestContext
121
+ const abortSignal = res.locals.abortSignal
122
+
123
+ const agent = mastra.getAgent('myAgent')
124
+ res.json({ agent: agent.name })
125
+ })
126
+ ```
127
+
128
+ Available properties on `res.locals`:
129
+
130
+ | Key | Description |
131
+ | ----------------------- | --------------------------------------- |
132
+ | `mastra` | Mastra instance |
133
+ | `requestContext` | Request context map |
134
+ | `abortSignal` | Request cancellation signal |
135
+ | `tools` | Available tools |
136
+ | `taskStore` | Task store for A2A operations |
137
+ | `customRouteAuthConfig` | Per-route auth overrides |
138
+ | `user` | Authenticated user (if auth configured) |
139
+
140
+ ## Adding middleware
141
+
142
+ Add Express middleware before or after `init()`:
143
+
144
+ ```typescript
145
+ const app = express()
146
+ app.use(express.json())
147
+
148
+ // Middleware before init
149
+ app.use((req, res, next) => {
150
+ console.log(`${req.method} ${req.url}`)
151
+ next()
152
+ })
153
+
154
+ const server = new MastraServer({ app, mastra })
155
+ await server.init()
156
+
157
+ // Middleware after init has access to Mastra context
158
+ app.use((req, res, next) => {
159
+ const mastra = res.locals.mastra
160
+ next()
161
+ })
162
+ ```
163
+
164
+ ## Manual initialization
165
+
166
+ For custom middleware ordering, call each method separately instead of `init()`. See [manual initialization](https://mastra.ai/docs/server/server-adapters) for details.
167
+
168
+ ## Examples
169
+
170
+ - [Express Adapter](https://github.com/mastra-ai/mastra/tree/main/examples/server-express-adapter) - Basic Express server setup
171
+
172
+ ## Related
173
+
174
+ - [Server Adapters](https://mastra.ai/docs/server/server-adapters) - Shared adapter concepts
175
+ - [MastraServer Reference](https://mastra.ai/reference/server/mastra-server) - Full API reference
176
+ - [createRoute() Reference](https://mastra.ai/reference/server/create-route) - Creating type-safe custom routes
@@ -0,0 +1,90 @@
1
+ # Fastify Adapter
2
+
3
+ The `@mastra/fastify` package provides a server adapter for running Mastra with [Fastify](https://fastify.dev).
4
+
5
+ > **Info:** For general adapter concepts (constructor options, initialization flow, etc.), see [Server Adapters](https://mastra.ai/docs/server/server-adapters).
6
+
7
+ ## Installation
8
+
9
+ Install the Fastify adapter and Fastify framework:
10
+
11
+ **npm**:
12
+
13
+ ```bash
14
+ npm install @mastra/fastify@latest fastify
15
+ ```
16
+
17
+ **pnpm**:
18
+
19
+ ```bash
20
+ pnpm add @mastra/fastify@latest fastify
21
+ ```
22
+
23
+ **Yarn**:
24
+
25
+ ```bash
26
+ yarn add @mastra/fastify@latest fastify
27
+ ```
28
+
29
+ **Bun**:
30
+
31
+ ```bash
32
+ bun add @mastra/fastify@latest fastify
33
+ ```
34
+
35
+ ## Usage example
36
+
37
+ ```typescript
38
+ import Fastify from 'fastify'
39
+ import { MastraServer } from '@mastra/fastify'
40
+ import { mastra } from './mastra'
41
+
42
+ const app = Fastify({ logger: true })
43
+ const server = new MastraServer({ app, mastra })
44
+
45
+ await server.init()
46
+
47
+ app.listen({ port: 3000 }, (err, address) => {
48
+ if (err) {
49
+ console.error(err)
50
+ process.exit(1)
51
+ }
52
+ console.log(`Server running on ${address}`)
53
+ })
54
+ ```
55
+
56
+ ## Constructor parameters
57
+
58
+ **app:** (`FastifyInstance`): Fastify app instance
59
+
60
+ **mastra:** (`Mastra`): Mastra instance
61
+
62
+ **prefix?:** (`string`): Route path prefix (e.g., \`/api/v2\`) (Default: `''`)
63
+
64
+ **openapiPath?:** (`string`): Path to serve OpenAPI spec (e.g., \`/openapi.json\`) (Default: `''`)
65
+
66
+ **bodyLimitOptions?:** (`BodyLimitOptions`): Request body size limits
67
+
68
+ **streamOptions?:** (`StreamOptions`): Stream redaction config. When true (default), redacts sensitive data (system prompts, tool definitions, API keys) from stream chunks before sending to clients. (Default: `{ redact: true }`)
69
+
70
+ **customRouteAuthConfig?:** (`Map<string, boolean>`): Per-route auth overrides. Keys are \`METHOD:PATH\` (e.g., \`GET:/api/health\`). Value \`false\` makes route public, \`true\` requires auth.
71
+
72
+ **tools?:** (`ToolsInput`): Available tools for the server
73
+
74
+ **taskStore?:** (`InMemoryTaskStore`): Task store for A2A (Agent-to-Agent) operations
75
+
76
+ **mcpOptions?:** (`MCPOptions`): MCP transport options. Set \`serverless: true\` for stateless environments like Cloudflare Workers or Vercel Edge.
77
+
78
+ ## Manual initialization
79
+
80
+ For custom middleware ordering, call each method separately instead of `init()`. See [manual initialization](https://mastra.ai/docs/server/server-adapters) for details.
81
+
82
+ ## Examples
83
+
84
+ - [Fastify Adapter](https://github.com/mastra-ai/mastra/tree/main/examples/server-fastify-adapter) - Basic Fastify server setup
85
+
86
+ ## Related
87
+
88
+ - [Server Adapters](https://mastra.ai/docs/server/server-adapters) - Shared adapter concepts
89
+ - [MastraServer Reference](https://mastra.ai/reference/server/mastra-server) - Full API reference
90
+ - [createRoute() Reference](https://mastra.ai/reference/server/create-route) - Creating type-safe custom routes