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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (496) hide show
  1. package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +1 -15
  2. package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +1 -7
  3. package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +201 -1
  4. package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +1 -55
  5. package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +201 -1
  6. package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +250 -50
  7. package/.docs/organized/changelogs/%40mastra%2Fastra.md +201 -1
  8. package/.docs/organized/changelogs/%40mastra%2Fauth.md +6 -0
  9. package/.docs/organized/changelogs/%40mastra%2Fchroma.md +201 -1
  10. package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +201 -1
  11. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +201 -1
  12. package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +201 -1
  13. package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +201 -1
  14. package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +26 -0
  15. package/.docs/organized/changelogs/%40mastra%2Fconvex.md +89 -0
  16. package/.docs/organized/changelogs/%40mastra%2Fcore.md +396 -196
  17. package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +201 -1
  18. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +201 -1
  19. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +201 -1
  20. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +201 -1
  21. package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +201 -1
  22. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +200 -0
  23. package/.docs/organized/changelogs/%40mastra%2Fduckdb.md +42 -0
  24. package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +201 -1
  25. package/.docs/organized/changelogs/%40mastra%2Felasticsearch.md +61 -0
  26. package/.docs/organized/changelogs/%40mastra%2Fevals.md +201 -1
  27. package/.docs/organized/changelogs/%40mastra%2Flance.md +201 -1
  28. package/.docs/organized/changelogs/%40mastra%2Flibsql.md +201 -1
  29. package/.docs/organized/changelogs/%40mastra%2Floggers.md +201 -1
  30. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +201 -1
  31. package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +201 -1
  32. package/.docs/organized/changelogs/%40mastra%2Fmcp.md +201 -1
  33. package/.docs/organized/changelogs/%40mastra%2Fmemory.md +201 -1
  34. package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +201 -1
  35. package/.docs/organized/changelogs/%40mastra%2Fmssql.md +201 -1
  36. package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +201 -1
  37. package/.docs/organized/changelogs/%40mastra%2Fpg.md +201 -1
  38. package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +201 -1
  39. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +251 -51
  40. package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +201 -1
  41. package/.docs/organized/changelogs/%40mastra%2Frag.md +201 -1
  42. package/.docs/organized/changelogs/%40mastra%2Freact.md +128 -1
  43. package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +18 -0
  44. package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +42 -0
  45. package/.docs/organized/changelogs/%40mastra%2Fserver.md +251 -51
  46. package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +201 -1
  47. package/.docs/organized/changelogs/%40mastra%2Fupstash.md +201 -1
  48. package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +201 -1
  49. package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +201 -1
  50. package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +201 -1
  51. package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +201 -1
  52. package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +201 -1
  53. package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +92 -1
  54. package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +67 -1
  55. package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +201 -1
  56. package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +201 -1
  57. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +201 -1
  58. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +201 -1
  59. package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +201 -1
  60. package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +201 -1
  61. package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +201 -1
  62. package/.docs/organized/changelogs/create-mastra.md +201 -1
  63. package/.docs/organized/changelogs/mastra.md +201 -1
  64. package/.docs/organized/code-examples/agui.md +1 -0
  65. package/.docs/organized/code-examples/ai-elements.md +2 -2
  66. package/.docs/organized/code-examples/ai-sdk-useChat.md +2 -2
  67. package/.docs/organized/code-examples/ai-sdk-v5.md +3 -2
  68. package/.docs/organized/code-examples/assistant-ui.md +2 -2
  69. package/.docs/organized/code-examples/bird-checker-with-express.md +1 -1
  70. package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +2 -2
  71. package/.docs/organized/code-examples/bird-checker-with-nextjs.md +2 -2
  72. package/.docs/organized/code-examples/client-side-tools.md +1 -1
  73. package/.docs/organized/code-examples/crypto-chatbot.md +2 -2
  74. package/.docs/organized/code-examples/fireworks-r1.md +1 -1
  75. package/.docs/organized/code-examples/heads-up-game.md +1 -1
  76. package/.docs/organized/code-examples/mcp-configuration.md +0 -3
  77. package/.docs/organized/code-examples/mcp-server-adapters.md +720 -0
  78. package/.docs/organized/code-examples/memory-per-resource-example.md +1 -1
  79. package/.docs/organized/code-examples/memory-with-processors.md +1 -1
  80. package/.docs/organized/code-examples/openapi-spec-writer.md +1 -1
  81. package/.docs/organized/code-examples/processors-with-ai-sdk.md +14 -0
  82. package/.docs/organized/code-examples/quick-start.md +2 -2
  83. package/.docs/organized/code-examples/server-app-access.md +342 -0
  84. package/.docs/organized/code-examples/server-express-adapter.md +87 -0
  85. package/.docs/organized/code-examples/server-hono-adapter.md +85 -0
  86. package/.docs/organized/code-examples/stock-price-tool.md +1 -21
  87. package/.docs/organized/code-examples/workflow-ai-recruiter.md +1 -1
  88. package/.docs/organized/code-examples/workflow-with-inline-steps.md +1 -1
  89. package/.docs/organized/code-examples/workflow-with-memory.md +1 -1
  90. package/.docs/organized/code-examples/workflow-with-separate-steps.md +1 -1
  91. package/.docs/organized/code-examples/workflow-with-suspend-resume.md +1 -1
  92. package/.docs/raw/agents/adding-voice.mdx +56 -10
  93. package/.docs/raw/agents/agent-approval.mdx +189 -0
  94. package/.docs/raw/agents/agent-memory.mdx +2 -2
  95. package/.docs/raw/agents/guardrails.mdx +27 -24
  96. package/.docs/raw/agents/networks.mdx +3 -3
  97. package/.docs/raw/agents/overview.mdx +19 -168
  98. package/.docs/raw/agents/processors.mdx +279 -0
  99. package/.docs/raw/agents/structured-output.mdx +224 -0
  100. package/.docs/raw/agents/using-tools.mdx +14 -14
  101. package/.docs/raw/auth/auth0.mdx +2 -2
  102. package/.docs/raw/auth/clerk.mdx +2 -2
  103. package/.docs/raw/auth/firebase.mdx +2 -2
  104. package/.docs/raw/auth/index.mdx +1 -1
  105. package/.docs/raw/auth/jwt.mdx +2 -2
  106. package/.docs/raw/auth/supabase.mdx +2 -2
  107. package/.docs/raw/auth/workos.mdx +2 -2
  108. package/.docs/raw/community/contributing-templates.mdx +1 -1
  109. package/.docs/raw/community/discord.mdx +2 -2
  110. package/.docs/raw/community/licensing.mdx +1 -1
  111. package/.docs/raw/course/01-first-agent/03-verifying-installation.md +1 -1
  112. package/.docs/raw/course/01-first-agent/05-running-playground.md +5 -5
  113. package/.docs/raw/course/01-first-agent/09-testing-your-agent.md +3 -3
  114. package/.docs/raw/course/01-first-agent/13-testing-your-tool.md +3 -3
  115. package/.docs/raw/course/01-first-agent/17-testing-memory.md +2 -2
  116. package/.docs/raw/course/02-agent-tools-mcp/02-installing-mcp.md +1 -1
  117. package/.docs/raw/course/03-agent-memory/03-installing-memory.md +1 -1
  118. package/.docs/raw/course/04-workflows/07-using-playground.md +1 -1
  119. package/.docs/raw/deployment/{server-deployment.mdx → building-mastra.mdx} +4 -4
  120. package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +3 -3
  121. package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +4 -4
  122. package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +4 -4
  123. package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/cloudflare-deployer.mdx +2 -2
  124. package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +3 -3
  125. package/.docs/raw/deployment/cloud-providers/index.mdx +26 -29
  126. package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/netlify-deployer.mdx +46 -15
  127. package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/vercel-deployer.mdx +2 -2
  128. package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/dashboard.mdx +3 -3
  129. package/.docs/raw/deployment/mastra-cloud/observability.mdx +53 -0
  130. package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/overview.mdx +3 -3
  131. package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/setting-up.mdx +4 -4
  132. package/.docs/raw/deployment/monorepo.mdx +3 -3
  133. package/.docs/raw/deployment/overview.mdx +7 -7
  134. package/.docs/raw/deployment/web-framework.mdx +6 -6
  135. package/.docs/raw/evals/{off-the-shelf-scorers.mdx → built-in-scorers.mdx} +17 -15
  136. package/.docs/raw/evals/custom-scorers.mdx +4 -6
  137. package/.docs/raw/evals/overview.mdx +6 -7
  138. package/.docs/raw/evals/running-in-ci.mdx +2 -4
  139. package/.docs/raw/getting-started/{installation.mdx → manual-install.mdx} +15 -89
  140. package/.docs/raw/getting-started/mcp-docs-server.mdx +6 -6
  141. package/.docs/raw/getting-started/project-structure.mdx +2 -2
  142. package/.docs/raw/getting-started/start.mdx +72 -0
  143. package/.docs/raw/getting-started/studio.mdx +8 -6
  144. package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +147 -0
  145. package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +627 -0
  146. package/.docs/raw/{frameworks/agentic-uis → guides/build-your-ui}/assistant-ui.mdx +72 -20
  147. package/.docs/raw/guides/build-your-ui/copilotkit.mdx +206 -0
  148. package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/astro.mdx +28 -30
  149. package/.docs/raw/{frameworks/servers → guides/getting-started}/express.mdx +4 -5
  150. package/.docs/raw/guides/getting-started/next-js.mdx +276 -0
  151. package/.docs/raw/guides/getting-started/quickstart.mdx +97 -0
  152. package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/sveltekit.mdx +28 -30
  153. package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/vite-react.mdx +12 -12
  154. package/.docs/raw/guides/guide/ai-recruiter.mdx +2 -3
  155. package/.docs/raw/guides/guide/chef-michel.mdx +2 -3
  156. package/.docs/raw/guides/guide/notes-mcp-server.mdx +3 -3
  157. package/.docs/raw/guides/guide/research-assistant.mdx +8 -18
  158. package/.docs/raw/guides/guide/stock-agent.mdx +4 -6
  159. package/.docs/raw/guides/guide/web-search.mdx +12 -10
  160. package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +421 -0
  161. package/.docs/raw/guides/index.mdx +3 -35
  162. package/.docs/raw/guides/migrations/agentnetwork.mdx +4 -4
  163. package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +119 -0
  164. package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +56 -6
  165. package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +42 -2
  166. package/.docs/raw/guides/migrations/upgrade-to-v1/evals.mdx +31 -1
  167. package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +29 -5
  168. package/.docs/raw/guides/migrations/upgrade-to-v1/mcp.mdx +3 -3
  169. package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +28 -0
  170. package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +59 -37
  171. package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +80 -0
  172. package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +70 -5
  173. package/.docs/raw/guides/migrations/upgrade-to-v1/tracing.mdx +13 -13
  174. package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +25 -1
  175. package/.docs/raw/guides/migrations/upgrade-to-v1/voice.mdx +1 -1
  176. package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +175 -2
  177. package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +2 -2
  178. package/.docs/raw/index.mdx +4 -4
  179. package/.docs/raw/mcp/overview.mdx +358 -0
  180. package/.docs/raw/mcp/publishing-mcp-server.mdx +139 -0
  181. package/.docs/raw/memory/conversation-history.mdx +1 -1
  182. package/.docs/raw/memory/memory-processors.mdx +265 -80
  183. package/.docs/raw/memory/overview.mdx +3 -3
  184. package/.docs/raw/memory/semantic-recall.mdx +10 -10
  185. package/.docs/raw/memory/storage/memory-with-libsql.mdx +5 -10
  186. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +150 -0
  187. package/.docs/raw/memory/storage/memory-with-pg.mdx +5 -10
  188. package/.docs/raw/memory/storage/memory-with-upstash.mdx +5 -10
  189. package/.docs/raw/memory/threads-and-resources.mdx +4 -4
  190. package/.docs/raw/memory/working-memory.mdx +16 -8
  191. package/.docs/raw/{logging.mdx → observability/logging.mdx} +8 -8
  192. package/.docs/raw/observability/overview.mdx +5 -6
  193. package/.docs/raw/observability/tracing/bridges/otel.mdx +200 -0
  194. package/.docs/raw/observability/tracing/exporters/arize.mdx +39 -3
  195. package/.docs/raw/observability/tracing/exporters/braintrust.mdx +22 -3
  196. package/.docs/raw/observability/tracing/exporters/cloud.mdx +4 -4
  197. package/.docs/raw/observability/tracing/exporters/default.mdx +6 -6
  198. package/.docs/raw/observability/tracing/exporters/langfuse.mdx +86 -3
  199. package/.docs/raw/observability/tracing/exporters/langsmith.mdx +15 -3
  200. package/.docs/raw/observability/tracing/exporters/otel.mdx +128 -30
  201. package/.docs/raw/observability/tracing/exporters/posthog.mdx +127 -0
  202. package/.docs/raw/observability/tracing/overview.mdx +100 -29
  203. package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +2 -3
  204. package/.docs/raw/rag/chunking-and-embedding.mdx +16 -17
  205. package/.docs/raw/rag/overview.mdx +5 -4
  206. package/.docs/raw/rag/retrieval.mdx +44 -39
  207. package/.docs/raw/rag/vector-databases.mdx +94 -3
  208. package/.docs/raw/reference/agents/agent.mdx +10 -14
  209. package/.docs/raw/reference/agents/generate.mdx +67 -99
  210. package/.docs/raw/reference/agents/generateLegacy.mdx +3 -3
  211. package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +1 -1
  212. package/.docs/raw/reference/agents/getDefaultOptions.mdx +1 -1
  213. package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +1 -1
  214. package/.docs/raw/reference/agents/getDescription.mdx +1 -1
  215. package/.docs/raw/reference/agents/getInstructions.mdx +1 -1
  216. package/.docs/raw/reference/agents/getLLM.mdx +2 -2
  217. package/.docs/raw/reference/agents/getMemory.mdx +1 -1
  218. package/.docs/raw/reference/agents/getModel.mdx +1 -1
  219. package/.docs/raw/reference/agents/getTools.mdx +69 -0
  220. package/.docs/raw/reference/agents/getVoice.mdx +1 -1
  221. package/.docs/raw/reference/agents/listAgents.mdx +1 -1
  222. package/.docs/raw/reference/agents/listScorers.mdx +1 -1
  223. package/.docs/raw/reference/agents/listTools.mdx +2 -2
  224. package/.docs/raw/reference/agents/listWorkflows.mdx +1 -1
  225. package/.docs/raw/reference/agents/network.mdx +33 -72
  226. package/.docs/raw/reference/ai-sdk/chat-route.mdx +127 -0
  227. package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +117 -0
  228. package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +64 -0
  229. package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +116 -0
  230. package/.docs/raw/reference/ai-sdk/network-route.mdx +99 -0
  231. package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +289 -0
  232. package/.docs/raw/reference/ai-sdk/with-mastra.mdx +119 -0
  233. package/.docs/raw/reference/ai-sdk/workflow-route.mdx +110 -0
  234. package/.docs/raw/reference/auth/auth0.mdx +1 -1
  235. package/.docs/raw/reference/auth/clerk.mdx +1 -1
  236. package/.docs/raw/reference/auth/firebase.mdx +1 -1
  237. package/.docs/raw/reference/auth/jwt.mdx +1 -1
  238. package/.docs/raw/reference/auth/supabase.mdx +1 -1
  239. package/.docs/raw/reference/auth/workos.mdx +1 -1
  240. package/.docs/raw/reference/cli/create-mastra.mdx +11 -11
  241. package/.docs/raw/reference/cli/mastra.mdx +25 -12
  242. package/.docs/raw/reference/client-js/agents.mdx +252 -68
  243. package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
  244. package/.docs/raw/reference/client-js/logs.mdx +1 -1
  245. package/.docs/raw/reference/client-js/mastra-client.mdx +4 -4
  246. package/.docs/raw/reference/client-js/memory.mdx +48 -2
  247. package/.docs/raw/reference/client-js/observability.mdx +1 -1
  248. package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
  249. package/.docs/raw/reference/client-js/tools.mdx +1 -1
  250. package/.docs/raw/reference/client-js/vectors.mdx +1 -1
  251. package/.docs/raw/reference/client-js/workflows.mdx +93 -64
  252. package/.docs/raw/reference/core/addGateway.mdx +59 -0
  253. package/.docs/raw/reference/core/getAgent.mdx +1 -1
  254. package/.docs/raw/reference/core/getAgentById.mdx +1 -1
  255. package/.docs/raw/reference/core/getDeployer.mdx +1 -1
  256. package/.docs/raw/reference/core/getGateway.mdx +59 -0
  257. package/.docs/raw/reference/core/getGatewayById.mdx +62 -0
  258. package/.docs/raw/reference/core/getLogger.mdx +3 -3
  259. package/.docs/raw/reference/core/getMCPServer.mdx +4 -4
  260. package/.docs/raw/reference/core/getMCPServerById.mdx +5 -5
  261. package/.docs/raw/reference/core/getMemory.mdx +73 -0
  262. package/.docs/raw/reference/core/getScorer.mdx +1 -1
  263. package/.docs/raw/reference/core/getScorerById.mdx +1 -1
  264. package/.docs/raw/reference/core/getServer.mdx +2 -2
  265. package/.docs/raw/reference/core/getStorage.mdx +1 -1
  266. package/.docs/raw/reference/core/getStoredAgentById.mdx +183 -0
  267. package/.docs/raw/reference/core/getTelemetry.mdx +3 -3
  268. package/.docs/raw/reference/core/getVector.mdx +1 -1
  269. package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
  270. package/.docs/raw/reference/core/listAgents.mdx +1 -1
  271. package/.docs/raw/reference/core/listGateways.mdx +53 -0
  272. package/.docs/raw/reference/core/listLogs.mdx +3 -3
  273. package/.docs/raw/reference/core/listLogsByRunId.mdx +3 -3
  274. package/.docs/raw/reference/core/listMCPServers.mdx +5 -5
  275. package/.docs/raw/reference/core/listMemory.mdx +70 -0
  276. package/.docs/raw/reference/core/listScorers.mdx +1 -1
  277. package/.docs/raw/reference/core/listStoredAgents.mdx +151 -0
  278. package/.docs/raw/reference/core/listVectors.mdx +1 -1
  279. package/.docs/raw/reference/core/listWorkflows.mdx +1 -1
  280. package/.docs/raw/reference/core/mastra-class.mdx +17 -1
  281. package/.docs/raw/reference/core/mastra-model-gateway.mdx +227 -0
  282. package/.docs/raw/reference/core/setLogger.mdx +3 -3
  283. package/.docs/raw/reference/core/setStorage.mdx +1 -1
  284. package/.docs/raw/reference/core/setTelemetry.mdx +3 -3
  285. package/.docs/raw/reference/deployer/cloudflare.mdx +1 -1
  286. package/.docs/raw/reference/deployer/deployer.mdx +1 -1
  287. package/.docs/raw/reference/deployer/netlify.mdx +2 -3
  288. package/.docs/raw/reference/deployer/vercel.mdx +1 -1
  289. package/.docs/raw/reference/evals/answer-relevancy.mdx +29 -99
  290. package/.docs/raw/reference/evals/answer-similarity.mdx +13 -259
  291. package/.docs/raw/reference/evals/bias.mdx +30 -88
  292. package/.docs/raw/reference/evals/completeness.mdx +32 -91
  293. package/.docs/raw/reference/evals/content-similarity.mdx +29 -89
  294. package/.docs/raw/reference/evals/context-precision.mdx +29 -131
  295. package/.docs/raw/reference/evals/context-relevance.mdx +12 -12
  296. package/.docs/raw/reference/evals/create-scorer.mdx +59 -50
  297. package/.docs/raw/reference/evals/faithfulness.mdx +29 -102
  298. package/.docs/raw/reference/evals/hallucination.mdx +29 -104
  299. package/.docs/raw/reference/evals/keyword-coverage.mdx +29 -108
  300. package/.docs/raw/reference/evals/mastra-scorer.mdx +3 -1
  301. package/.docs/raw/reference/evals/noise-sensitivity.mdx +12 -12
  302. package/.docs/raw/reference/evals/prompt-alignment.mdx +16 -16
  303. package/.docs/raw/reference/evals/run-evals.mdx +1 -1
  304. package/.docs/raw/reference/evals/scorer-utils.mdx +362 -0
  305. package/.docs/raw/reference/evals/textual-difference.mdx +28 -101
  306. package/.docs/raw/reference/evals/tone-consistency.mdx +26 -99
  307. package/.docs/raw/reference/evals/tool-call-accuracy.mdx +8 -8
  308. package/.docs/raw/reference/evals/toxicity.mdx +30 -93
  309. package/.docs/raw/reference/index.mdx +1 -0
  310. package/.docs/raw/reference/logging/pino-logger.mdx +2 -2
  311. package/.docs/raw/reference/memory/createThread.mdx +1 -1
  312. package/.docs/raw/reference/memory/deleteMessages.mdx +1 -1
  313. package/.docs/raw/reference/memory/getThreadById.mdx +1 -1
  314. package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +1 -1
  315. package/.docs/raw/reference/memory/memory-class.mdx +6 -8
  316. package/.docs/raw/reference/memory/query.mdx +1 -1
  317. package/.docs/raw/reference/memory/recall.mdx +1 -1
  318. package/.docs/raw/reference/observability/tracing/bridges/otel.mdx +177 -0
  319. package/.docs/raw/reference/observability/tracing/configuration.mdx +12 -16
  320. package/.docs/raw/reference/observability/tracing/exporters/arize.mdx +31 -2
  321. package/.docs/raw/reference/observability/tracing/exporters/braintrust.mdx +1 -1
  322. package/.docs/raw/reference/observability/tracing/exporters/cloud-exporter.mdx +9 -9
  323. package/.docs/raw/reference/observability/tracing/exporters/console-exporter.mdx +9 -9
  324. package/.docs/raw/reference/observability/tracing/exporters/default-exporter.mdx +9 -9
  325. package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +44 -1
  326. package/.docs/raw/reference/observability/tracing/exporters/langsmith.mdx +18 -2
  327. package/.docs/raw/reference/observability/tracing/exporters/otel.mdx +34 -44
  328. package/.docs/raw/reference/observability/tracing/exporters/posthog.mdx +132 -0
  329. package/.docs/raw/reference/observability/tracing/instances.mdx +8 -12
  330. package/.docs/raw/reference/observability/tracing/interfaces.mdx +36 -11
  331. package/.docs/raw/reference/observability/tracing/processors/sensitive-data-filter.mdx +1 -1
  332. package/.docs/raw/reference/observability/tracing/spans.mdx +7 -11
  333. package/.docs/raw/reference/processors/batch-parts-processor.mdx +10 -4
  334. package/.docs/raw/reference/processors/language-detector.mdx +19 -6
  335. package/.docs/raw/reference/processors/message-history-processor.mdx +131 -0
  336. package/.docs/raw/reference/processors/moderation-processor.mdx +21 -8
  337. package/.docs/raw/reference/processors/pii-detector.mdx +21 -8
  338. package/.docs/raw/reference/processors/processor-interface.mdx +502 -0
  339. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +19 -6
  340. package/.docs/raw/reference/processors/semantic-recall-processor.mdx +197 -0
  341. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +12 -7
  342. package/.docs/raw/reference/processors/token-limiter-processor.mdx +11 -5
  343. package/.docs/raw/reference/processors/tool-call-filter.mdx +125 -0
  344. package/.docs/raw/reference/processors/unicode-normalizer.mdx +10 -4
  345. package/.docs/raw/reference/processors/working-memory-processor.mdx +221 -0
  346. package/.docs/raw/reference/rag/chunk.mdx +1 -1
  347. package/.docs/raw/reference/rag/database-config.mdx +1 -1
  348. package/.docs/raw/reference/rag/document.mdx +1 -1
  349. package/.docs/raw/reference/rag/embeddings.mdx +6 -6
  350. package/.docs/raw/reference/rag/extract-params.mdx +1 -1
  351. package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
  352. package/.docs/raw/reference/rag/metadata-filters.mdx +1 -1
  353. package/.docs/raw/reference/rag/rerank.mdx +2 -3
  354. package/.docs/raw/reference/rag/rerankWithScorer.mdx +1 -2
  355. package/.docs/raw/reference/server/create-route.mdx +328 -0
  356. package/.docs/raw/reference/server/express-adapter.mdx +260 -0
  357. package/.docs/raw/reference/server/hono-adapter.mdx +242 -0
  358. package/.docs/raw/reference/server/mastra-server.mdx +345 -0
  359. package/.docs/raw/reference/server/routes.mdx +250 -0
  360. package/.docs/raw/reference/storage/cloudflare-d1.mdx +39 -2
  361. package/.docs/raw/reference/storage/cloudflare.mdx +2 -2
  362. package/.docs/raw/reference/storage/convex.mdx +164 -0
  363. package/.docs/raw/reference/storage/dynamodb.mdx +4 -4
  364. package/.docs/raw/reference/storage/lance.mdx +35 -2
  365. package/.docs/raw/reference/storage/libsql.mdx +39 -2
  366. package/.docs/raw/reference/storage/mongodb.mdx +41 -2
  367. package/.docs/raw/reference/storage/mssql.mdx +39 -2
  368. package/.docs/raw/reference/storage/postgresql.mdx +39 -2
  369. package/.docs/raw/reference/storage/upstash.mdx +2 -2
  370. package/.docs/raw/reference/streaming/ChunkType.mdx +2 -2
  371. package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +1 -1
  372. package/.docs/raw/reference/streaming/agents/stream.mdx +68 -95
  373. package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +1 -1
  374. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +8 -10
  375. package/.docs/raw/reference/streaming/workflows/{resumeStreamVNext.mdx → resumeStream.mdx} +51 -11
  376. package/.docs/raw/reference/streaming/workflows/stream.mdx +84 -25
  377. package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +170 -0
  378. package/.docs/raw/reference/templates/overview.mdx +3 -6
  379. package/.docs/raw/reference/tools/client.mdx +2 -3
  380. package/.docs/raw/reference/tools/create-tool.mdx +135 -4
  381. package/.docs/raw/reference/tools/document-chunker-tool.mdx +1 -1
  382. package/.docs/raw/reference/tools/graph-rag-tool.mdx +7 -7
  383. package/.docs/raw/reference/tools/mcp-client.mdx +131 -23
  384. package/.docs/raw/reference/tools/mcp-server.mdx +56 -8
  385. package/.docs/raw/reference/tools/vector-query-tool.mdx +16 -17
  386. package/.docs/raw/reference/vectors/astra.mdx +1 -1
  387. package/.docs/raw/reference/vectors/chroma.mdx +82 -2
  388. package/.docs/raw/reference/vectors/convex.mdx +429 -0
  389. package/.docs/raw/reference/vectors/couchbase.mdx +33 -20
  390. package/.docs/raw/reference/vectors/duckdb.mdx +462 -0
  391. package/.docs/raw/reference/vectors/elasticsearch.mdx +310 -0
  392. package/.docs/raw/reference/vectors/lance.mdx +39 -23
  393. package/.docs/raw/reference/vectors/libsql.mdx +37 -4
  394. package/.docs/raw/reference/vectors/mongodb.mdx +43 -4
  395. package/.docs/raw/reference/vectors/opensearch.mdx +38 -17
  396. package/.docs/raw/reference/vectors/pg.mdx +44 -37
  397. package/.docs/raw/reference/vectors/pinecone.mdx +70 -3
  398. package/.docs/raw/reference/vectors/qdrant.mdx +37 -2
  399. package/.docs/raw/reference/vectors/s3vectors.mdx +2 -2
  400. package/.docs/raw/reference/vectors/turbopuffer.mdx +75 -1
  401. package/.docs/raw/reference/vectors/upstash.mdx +1 -1
  402. package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
  403. package/.docs/raw/reference/voice/azure.mdx +96 -81
  404. package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
  405. package/.docs/raw/reference/voice/composite-voice.mdx +72 -29
  406. package/.docs/raw/reference/voice/deepgram.mdx +1 -1
  407. package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
  408. package/.docs/raw/reference/voice/google-gemini-live.mdx +1 -1
  409. package/.docs/raw/reference/voice/google.mdx +160 -21
  410. package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
  411. package/.docs/raw/reference/voice/murf.mdx +1 -1
  412. package/.docs/raw/reference/voice/openai-realtime.mdx +3 -3
  413. package/.docs/raw/reference/voice/openai.mdx +1 -1
  414. package/.docs/raw/reference/voice/playai.mdx +1 -1
  415. package/.docs/raw/reference/voice/sarvam.mdx +1 -1
  416. package/.docs/raw/reference/voice/speechify.mdx +1 -1
  417. package/.docs/raw/reference/voice/voice.addInstructions.mdx +3 -4
  418. package/.docs/raw/reference/voice/voice.addTools.mdx +2 -2
  419. package/.docs/raw/reference/voice/voice.answer.mdx +2 -2
  420. package/.docs/raw/reference/voice/voice.close.mdx +2 -2
  421. package/.docs/raw/reference/voice/voice.connect.mdx +2 -2
  422. package/.docs/raw/reference/voice/voice.events.mdx +1 -1
  423. package/.docs/raw/reference/voice/voice.getSpeakers.mdx +1 -1
  424. package/.docs/raw/reference/voice/voice.listen.mdx +87 -53
  425. package/.docs/raw/reference/voice/voice.off.mdx +2 -2
  426. package/.docs/raw/reference/voice/voice.on.mdx +2 -2
  427. package/.docs/raw/reference/voice/voice.send.mdx +2 -2
  428. package/.docs/raw/reference/voice/voice.speak.mdx +76 -41
  429. package/.docs/raw/reference/voice/voice.updateConfig.mdx +2 -2
  430. package/.docs/raw/reference/workflows/run-methods/cancel.mdx +1 -1
  431. package/.docs/raw/reference/workflows/run-methods/restart.mdx +142 -0
  432. package/.docs/raw/reference/workflows/run-methods/resume.mdx +45 -1
  433. package/.docs/raw/reference/workflows/run-methods/start.mdx +48 -4
  434. package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +310 -0
  435. package/.docs/raw/reference/workflows/run.mdx +28 -6
  436. package/.docs/raw/reference/workflows/step.mdx +65 -1
  437. package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +1 -1
  438. package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
  439. package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +1 -1
  440. package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +1 -1
  441. package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +1 -1
  442. package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
  443. package/.docs/raw/reference/workflows/workflow-methods/map.mdx +1 -1
  444. package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
  445. package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +1 -1
  446. package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +1 -1
  447. package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +1 -1
  448. package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
  449. package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +1 -1
  450. package/.docs/raw/reference/workflows/workflow.mdx +21 -2
  451. package/.docs/raw/server-db/custom-adapters.mdx +386 -0
  452. package/.docs/raw/server-db/custom-api-routes.mdx +6 -6
  453. package/.docs/raw/server-db/mastra-client.mdx +7 -8
  454. package/.docs/raw/server-db/{production-server.mdx → mastra-server.mdx} +16 -8
  455. package/.docs/raw/server-db/middleware.mdx +31 -31
  456. package/.docs/raw/server-db/request-context.mdx +3 -4
  457. package/.docs/raw/server-db/server-adapters.mdx +312 -0
  458. package/.docs/raw/server-db/storage.mdx +12 -1
  459. package/.docs/raw/streaming/events.mdx +1 -1
  460. package/.docs/raw/streaming/overview.mdx +27 -16
  461. package/.docs/raw/streaming/tool-streaming.mdx +58 -19
  462. package/.docs/raw/streaming/workflow-streaming.mdx +6 -12
  463. package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -3
  464. package/.docs/raw/tools-mcp/mcp-overview.mdx +5 -7
  465. package/.docs/raw/tools-mcp/overview.mdx +1 -1
  466. package/.docs/raw/voice/overview.mdx +88 -41
  467. package/.docs/raw/voice/speech-to-speech.mdx +5 -5
  468. package/.docs/raw/voice/speech-to-text.mdx +3 -4
  469. package/.docs/raw/voice/text-to-speech.mdx +3 -4
  470. package/.docs/raw/workflows/agents-and-tools.mdx +43 -5
  471. package/.docs/raw/workflows/control-flow.mdx +186 -1
  472. package/.docs/raw/workflows/error-handling.mdx +5 -4
  473. package/.docs/raw/workflows/human-in-the-loop.mdx +160 -213
  474. package/.docs/raw/workflows/inngest-workflow.mdx +2 -2
  475. package/.docs/raw/workflows/input-data-mapping.mdx +1 -1
  476. package/.docs/raw/workflows/overview.mdx +67 -47
  477. package/.docs/raw/workflows/snapshots.mdx +5 -3
  478. package/.docs/raw/workflows/suspend-and-resume.mdx +121 -204
  479. package/.docs/raw/workflows/time-travel.mdx +313 -0
  480. package/.docs/raw/workflows/workflow-state.mdx +190 -0
  481. package/CHANGELOG.md +88 -0
  482. package/dist/{chunk-5NJC7NRO.js → chunk-4CM2BQNP.js} +24 -4
  483. package/dist/prepare-docs/package-changes.d.ts.map +1 -1
  484. package/dist/prepare-docs/prepare.js +1 -1
  485. package/dist/stdio.js +17 -19
  486. package/package.json +11 -15
  487. package/.docs/raw/deployment/serverless-platforms/index.mdx +0 -58
  488. package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +0 -688
  489. package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +0 -123
  490. package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +0 -382
  491. package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +0 -179
  492. package/.docs/raw/frameworks/web-frameworks/next-js.mdx +0 -379
  493. package/.docs/raw/getting-started/templates.mdx +0 -73
  494. package/.docs/raw/mastra-cloud/observability.mdx +0 -51
  495. package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +0 -47
  496. package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +0 -153
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Reference: MCPClient | Tools & MCP | Mastra Docs"
2
+ title: "Reference: MCPClient | Tools & MCP"
3
3
  description: API Reference for MCPClient - A class for managing multiple Model Context Protocol servers and their tools.
4
4
  ---
5
5
 
@@ -99,6 +99,13 @@ Each server in the `servers` map is configured using the `MastraMCPServerDefinit
99
99
  description:
100
100
  "For SSE fallback: Custom fetch configuration for SSE connections. Required when using custom headers with SSE.",
101
101
  },
102
+ {
103
+ name: "fetch",
104
+ type: "FetchLike",
105
+ isOptional: true,
106
+ description:
107
+ "For HTTP servers: Custom fetch implementation used for all network requests. When provided, this function will be used for all HTTP requests, allowing you to add dynamic authentication headers (e.g., refreshing bearer tokens), customize request behavior per-request, or intercept and modify requests/responses. When `fetch` is provided, `requestInit`, `eventSourceInit`, and `authProvider` become optional, as you can handle these concerns within your custom fetch function.",
108
+ },
102
109
  {
103
110
  name: "logger",
104
111
  type: "LogHandler",
@@ -291,23 +298,6 @@ mcpClient.resources.onListChanged("myWeatherServer", () => {
291
298
  });
292
299
  ```
293
300
 
294
- ### `prompts` Property
295
-
296
- The `MCPClient` instance has a `prompts` property that provides access to prompt-related operations.
297
-
298
- ```typescript
299
- const mcpClient = new MCPClient({
300
- /* ...servers configuration... */
301
- });
302
-
303
- // Access prompt methods via mcpClient.prompts
304
- const allPromptsByServer = await mcpClient.prompts.list();
305
- const { prompt, messages } = await mcpClient.prompts.get({
306
- serverName: "myWeatherServer",
307
- name: "current",
308
- });
309
- ```
310
-
311
301
  ### `elicitation` Property
312
302
 
313
303
  The `MCPClient` instance has an `elicitation` property that provides access to elicitation-related operations. Elicitation allows MCP servers to request structured information from users.
@@ -451,6 +441,23 @@ await mcpClient.elicitation.onRequest("interactiveServer", async (request) => {
451
441
  });
452
442
  ```
453
443
 
444
+ ### `prompts` Property
445
+
446
+ The `MCPClient` instance has a `prompts` property that provides access to prompt-related operations.
447
+
448
+ ```typescript
449
+ const mcpClient = new MCPClient({
450
+ /* ...servers configuration... */
451
+ });
452
+
453
+ // Access prompt methods via mcpClient.prompts
454
+ const allPromptsByServer = await mcpClient.prompts.list();
455
+ const { prompt, messages } = await mcpClient.prompts.get({
456
+ serverName: "myWeatherServer",
457
+ name: "current",
458
+ });
459
+ ```
460
+
454
461
  #### `prompts.list()`
455
462
 
456
463
  Retrieves all available prompts from all connected MCP servers, grouped by server name.
@@ -516,6 +523,63 @@ mcpClient.prompts.onListChanged("myWeatherServer", () => {
516
523
  });
517
524
  ```
518
525
 
526
+ ### `progress` Property
527
+
528
+ The `MCPClient` instance has a `progress` property for subscribing to progress notifications emitted by MCP servers while tools execute.
529
+
530
+ ```typescript
531
+ const mcpClient = new MCPClient({
532
+ servers: {
533
+ myServer: {
534
+ url: new URL('http://localhost:4111/api/mcp/myServer/mcp'),
535
+ // Enabled by default; set to false to disable
536
+ enableProgressTracking: true,
537
+ },
538
+ },
539
+ });
540
+
541
+ // Subscribe to progress updates for a specific server
542
+ await mcpClient.progress.onUpdate('myServer', (params) => {
543
+ console.log('📊 Progress:', params.progress, '/', params.total);
544
+ if (params.message) console.log('Message:', params.message);
545
+ if (params.progressToken) console.log('Token:', params.progressToken);
546
+ });
547
+ ```
548
+
549
+ #### `progress.onUpdate(serverName: string, handler)`
550
+
551
+ Registers a handler function to receive progress updates from the specified server.
552
+
553
+ ```typescript
554
+ async onUpdate(
555
+ serverName: string,
556
+ handler: (params: {
557
+ progressToken: string;
558
+ progress: number;
559
+ total?: number;
560
+ message?: string;
561
+ }) => void,
562
+ ): Promise<void>
563
+ ```
564
+
565
+ Notes:
566
+
567
+ - When `enableProgressTracking` is true (default), tool calls include a `progressToken` so you can correlate updates to a specific run.
568
+ - If you pass a `runId` when executing a tool, it will be used as the `progressToken`.
569
+
570
+ To disable progress tracking for a server:
571
+
572
+ ```typescript
573
+ const mcpClient = new MCPClient({
574
+ servers: {
575
+ myServer: {
576
+ url: new URL('http://localhost:4111/api/mcp/myServer/mcp'),
577
+ enableProgressTracking: false,
578
+ },
579
+ },
580
+ });
581
+ ```
582
+
519
583
  ## Elicitation
520
584
 
521
585
  Elicitation is a feature that allows MCP servers to request structured information from users. When a server needs additional data, it can send an elicitation request that the client handles by prompting the user. A common example is during a tool call.
@@ -632,7 +696,6 @@ For tools where you have a single connection to the MCP server for you entire ap
632
696
  ```typescript
633
697
  import { MCPClient } from "@mastra/mcp";
634
698
  import { Agent } from "@mastra/core/agent";
635
- import { openai } from "@ai-sdk/openai";
636
699
 
637
700
  const mcp = new MCPClient({
638
701
  servers: {
@@ -657,7 +720,7 @@ const mcp = new MCPClient({
657
720
  const agent = new Agent({
658
721
  name: "Multi-tool Agent",
659
722
  instructions: "You have access to multiple tool servers.",
660
- model: openai("gpt-4"),
723
+ model: "openai/gpt-5.1",
661
724
  tools: await mcp.listTools(),
662
725
  });
663
726
 
@@ -707,13 +770,12 @@ When you need a new MCP connection for each user, use `listToolsets()` and add t
707
770
  ```typescript
708
771
  import { Agent } from "@mastra/core/agent";
709
772
  import { MCPClient } from "@mastra/mcp";
710
- import { openai } from "@ai-sdk/openai";
711
773
 
712
774
  // Create the agent first, without any tools
713
775
  const agent = new Agent({
714
776
  name: "Multi-tool Agent",
715
777
  instructions: "You help users check stocks and weather.",
716
- model: openai("gpt-4"),
778
+ model: "openai/gpt-5.1",
717
779
  });
718
780
 
719
781
  // Later, configure MCP with user-specific settings
@@ -799,11 +861,40 @@ MCPClient handles server connections gracefully:
799
861
  2. Graceful server shutdown to prevent error messages during development
800
862
  3. Proper cleanup of resources when disconnecting
801
863
 
864
+ ## Using Custom Fetch for Dynamic Authentication
865
+
866
+ For HTTP servers, you can provide a custom `fetch` function to handle dynamic authentication, request interception, or other custom behavior. This is particularly useful when you need to refresh tokens on each request or customize request behavior.
867
+
868
+ When `fetch` is provided, `requestInit`, `eventSourceInit`, and `authProvider` become optional, as you can handle these concerns within your custom fetch function.
869
+
870
+ ```typescript
871
+ const mcpClient = new MCPClient({
872
+ servers: {
873
+ apiServer: {
874
+ url: new URL("https://api.example.com/mcp"),
875
+ fetch: async (url, init) => {
876
+ // Refresh token on each request
877
+ const token = await getAuthToken(); // Your token refresh logic
878
+
879
+ return fetch(url, {
880
+ ...init,
881
+ headers: {
882
+ ...init?.headers,
883
+ Authorization: `Bearer ${token}`,
884
+ },
885
+ });
886
+ },
887
+ },
888
+ },
889
+ });
890
+ ```
891
+
802
892
  ## Using SSE Request Headers
803
893
 
804
- When using the legacy SSE MCP transport, you must configure both `requestInit` and `eventSourceInit` due to a bug in the MCP SDK:
894
+ When using the legacy SSE MCP transport, you must configure both `requestInit` and `eventSourceInit` due to a bug in the MCP SDK. Alternatively, you can use a custom `fetch` function which will be automatically used for both POST requests and SSE connections:
805
895
 
806
896
  ```ts
897
+ // Option 1: Using requestInit and eventSourceInit (required for SSE)
807
898
  const sseClient = new MCPClient({
808
899
  servers: {
809
900
  exampleServer: {
@@ -828,6 +919,23 @@ const sseClient = new MCPClient({
828
919
  },
829
920
  },
830
921
  });
922
+
923
+ // Option 2: Using custom fetch (simpler, works for both Streamable HTTP and SSE)
924
+ const sseClientWithFetch = new MCPClient({
925
+ servers: {
926
+ exampleServer: {
927
+ url: new URL("https://your-mcp-server.com/sse"),
928
+ fetch: async (url, init) => {
929
+ const headers = new Headers(init?.headers || {});
930
+ headers.set("Authorization", "Bearer your-token");
931
+ return fetch(url, {
932
+ ...init,
933
+ headers,
934
+ });
935
+ },
936
+ },
937
+ },
938
+ });
831
939
  ```
832
940
 
833
941
  ## Related Information
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Reference: MCPServer | Tools & MCP | Mastra Docs"
2
+ title: "Reference: MCPServer | Tools & MCP"
3
3
  description: API Reference for MCPServer - A class for exposing Mastra tools and capabilities as a Model Context Protocol server.
4
4
  ---
5
5
 
@@ -16,7 +16,6 @@ It supports both [stdio (subprocess) and SSE (HTTP) MCP transports](https://mode
16
16
  To create a new `MCPServer`, you need to provide some basic information about your server, the tools it will offer, and optionally, any agents you want to expose as tools.
17
17
 
18
18
  ```typescript
19
- import { openai } from "@ai-sdk/openai";
20
19
  import { Agent } from "@mastra/core/agent";
21
20
  import { createTool } from "@mastra/core/tools";
22
21
  import { MCPServer } from "@mastra/mcp";
@@ -28,7 +27,7 @@ const myAgent = new Agent({
28
27
  name: "MyExampleAgent",
29
28
  description: "A generalist to help with basic questions."
30
29
  instructions: "You are a helpful assistant.",
31
- model: openai("gpt-4o-mini"),
30
+ model: "openai/gpt-5.1",
32
31
  });
33
32
 
34
33
  const weatherTool = createTool({
@@ -186,6 +185,55 @@ The description for this generated tool will be: "Ask agent `<agent.name>` a que
186
185
 
187
186
  This allows you to quickly expose the generative capabilities of your agents through the MCP, enabling clients to "ask" your agents questions directly.
188
187
 
188
+ ### Accessing MCP Context in Tools
189
+
190
+ Tools exposed through `MCPServer` can access MCP request context (authentication, session IDs, etc.) via two different properties depending on how the tool is invoked:
191
+
192
+ | Call Pattern | Access Method |
193
+ |-------------|---------------|
194
+ | Direct tool call | `context?.mcp?.extra` |
195
+ | Agent tool call | `context?.requestContext?.get("mcp.extra")` |
196
+
197
+ **Universal pattern** (works in both contexts):
198
+ ```typescript
199
+ const mcpExtra = context?.mcp?.extra ?? context?.requestContext?.get("mcp.extra");
200
+ const authInfo = mcpExtra?.authInfo;
201
+ ```
202
+
203
+ #### Example: Tool that works in both contexts
204
+
205
+ ```typescript
206
+ import { createTool } from "@mastra/core/tools";
207
+ import { z } from "zod";
208
+
209
+ const fetchUserData = createTool({
210
+ id: "fetchUserData",
211
+ description: "Fetches user data using authentication from MCP context",
212
+ inputSchema: z.object({
213
+ userId: z.string().describe("The ID of the user to fetch"),
214
+ }),
215
+ execute: async (inputData, context) => {
216
+ // Access MCP authentication context
217
+ // When called directly via MCP: context.mcp.extra
218
+ // When called via agent: context.requestContext.get('mcp.extra')
219
+ const mcpExtra = context?.mcp?.extra || context?.requestContext?.get("mcp.extra");
220
+ const authInfo = mcpExtra?.authInfo;
221
+
222
+ if (!authInfo?.token) {
223
+ throw new Error("Authentication required");
224
+ }
225
+
226
+ const response = await fetch(`https://api.example.com/users/${inputData.userId}`, {
227
+ headers: {
228
+ Authorization: `Bearer ${authInfo.token}`,
229
+ },
230
+ });
231
+
232
+ return response.json();
233
+ },
234
+ });
235
+ ```
236
+
189
237
  ## Methods
190
238
 
191
239
  These are the functions you can call on an `MCPServer` instance to control its behavior and get information.
@@ -420,11 +468,11 @@ const server = new MCPServer({
420
468
 
421
469
  serve(async (req) => {
422
470
  const url = new URL(req.url);
423
-
471
+
424
472
  if (url.pathname === "/mcp") {
425
473
  // Convert Deno Request to Node.js-compatible format
426
474
  const { req: nodeReq, res: nodeRes } = toReqRes(req);
427
-
475
+
428
476
  await server.startHTTP({
429
477
  url,
430
478
  httpPath: "/mcp",
@@ -434,10 +482,10 @@ serve(async (req) => {
434
482
  serverless: true, // ← Enable stateless mode for serverless
435
483
  },
436
484
  });
437
-
485
+
438
486
  return toFetchResponse(nodeRes);
439
487
  }
440
-
488
+
441
489
  return new Response("Not found", { status: 404 });
442
490
  });
443
491
  ```
@@ -918,7 +966,7 @@ await serverWithPrompts.prompts.notifyListChanged();
918
966
 
919
967
  ## Examples
920
968
 
921
- For practical examples of setting up and deploying an MCPServer, see the [Deploying an MCPServer Example](/examples/v1/agents/deploying-mcp-server).
969
+ For practical examples of setting up and deploying an MCPServer, see the [Publishing an MCP Server guide](/docs/v1/mcp/publishing-mcp-server).
922
970
 
923
971
  The example at the beginning of this page also demonstrates how to instantiate `MCPServer` with both tools and agents.
924
972
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Reference: createVectorQueryTool() | Tools & MCP | Mastra Docs"
2
+ title: "Reference: createVectorQueryTool() | Tools & MCP"
3
3
  description: Documentation for the Vector Query Tool in Mastra, which facilitates semantic search over vector stores with filtering and reranking capabilities.
4
4
  ---
5
5
 
@@ -13,13 +13,13 @@ The `createVectorQueryTool()` function creates a tool for semantic search over v
13
13
  ## Basic Usage
14
14
 
15
15
  ```typescript
16
- import { openai } from "@ai-sdk/openai";
17
16
  import { createVectorQueryTool } from "@mastra/rag";
17
+ import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
18
18
 
19
19
  const queryTool = createVectorQueryTool({
20
20
  vectorStoreName: "pinecone",
21
21
  indexName: "docs",
22
- model: openai.embedding("text-embedding-3-small"),
22
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
23
23
  });
24
24
  ```
25
25
 
@@ -303,7 +303,7 @@ The tool determines the number of results to return based on the user's query, w
303
303
  const queryTool = createVectorQueryTool({
304
304
  vectorStoreName: "pinecone",
305
305
  indexName: "docs",
306
- model: openai.embedding("text-embedding-3-small"),
306
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
307
307
  enableFilter: true,
308
308
  });
309
309
  ```
@@ -334,9 +334,9 @@ For an example of how agent-driven filtering works, see the [Agent-Driven Metada
334
334
  const queryTool = createVectorQueryTool({
335
335
  vectorStoreName: "milvus",
336
336
  indexName: "documentation",
337
- model: openai.embedding("text-embedding-3-small"),
337
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
338
338
  reranker: {
339
- model: openai("gpt-4o-mini"),
339
+ model: "openai/gpt-5.1",
340
340
  options: {
341
341
  weights: {
342
342
  semantic: 0.5, // Semantic relevance weight
@@ -364,7 +364,7 @@ The reranker processes the initial vector search results and returns a reordered
364
364
  const queryTool = createVectorQueryTool({
365
365
  vectorStoreName: "pinecone",
366
366
  indexName: "docs",
367
- model: openai.embedding("text-embedding-3-small"),
367
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
368
368
  description:
369
369
  "Search through document archives to find relevant information for answering questions about company policies and procedures",
370
370
  });
@@ -384,7 +384,7 @@ The `databaseConfig` parameter allows you to leverage unique features and optimi
384
384
  const pineconeQueryTool = createVectorQueryTool({
385
385
  vectorStoreName: "pinecone",
386
386
  indexName: "docs",
387
- model: openai.embedding("text-embedding-3-small"),
387
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
388
388
  databaseConfig: {
389
389
  pinecone: {
390
390
  namespace: "production", // Organize vectors by environment
@@ -411,7 +411,7 @@ The `databaseConfig` parameter allows you to leverage unique features and optimi
411
411
  const pgVectorQueryTool = createVectorQueryTool({
412
412
  vectorStoreName: "postgres",
413
413
  indexName: "embeddings",
414
- model: openai.embedding("text-embedding-3-small"),
414
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
415
415
  databaseConfig: {
416
416
  pgvector: {
417
417
  minScore: 0.7, // Only return results above 70% similarity
@@ -437,7 +437,7 @@ The `databaseConfig` parameter allows you to leverage unique features and optimi
437
437
  const chromaQueryTool = createVectorQueryTool({
438
438
  vectorStoreName: "chroma",
439
439
  indexName: "documents",
440
- model: openai.embedding("text-embedding-3-small"),
440
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
441
441
  databaseConfig: {
442
442
  chroma: {
443
443
  where: { // Metadata filtering
@@ -467,7 +467,7 @@ The `databaseConfig` parameter allows you to leverage unique features and optimi
467
467
  const multiDbQueryTool = createVectorQueryTool({
468
468
  vectorStoreName: "dynamic-store", // Will be set at runtime
469
469
  indexName: "docs",
470
- model: openai.embedding("text-embedding-3-small"),
470
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
471
471
  databaseConfig: {
472
472
  pinecone: {
473
473
  namespace: "default"
@@ -501,7 +501,7 @@ import { RequestContext } from "@mastra/core/request-context";
501
501
  const queryTool = createVectorQueryTool({
502
502
  vectorStoreName: "pinecone",
503
503
  indexName: "docs",
504
- model: openai.embedding("text-embedding-3-small"),
504
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
505
505
  databaseConfig: {
506
506
  pinecone: {
507
507
  namespace: "development",
@@ -534,7 +534,7 @@ This approach allows you to:
534
534
  const queryTool = createVectorQueryTool({
535
535
  vectorStoreName: "pinecone",
536
536
  indexName: "docs",
537
- model: openai.embedding("text-embedding-3-small"),
537
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
538
538
  });
539
539
  ```
540
540
 
@@ -555,7 +555,7 @@ requestContext.set("filter", { category: "docs" });
555
555
  requestContext.set("databaseConfig", {
556
556
  pinecone: { namespace: "runtime-namespace" },
557
557
  });
558
- requestContext.set("model", openai.embedding("text-embedding-3-small"));
558
+ requestContext.set("model", "openai/text-embedding-3-small");
559
559
 
560
560
  const response = await agent.generate(
561
561
  "Find documentation from the knowledge base.",
@@ -568,14 +568,13 @@ const response = await agent.generate(
568
568
  For more information on request context, please see:
569
569
 
570
570
  - [Agent Request Context](/docs/v1/server-db/request-context)
571
- - [Tool Request Context](/docs/v1/tools-mcp/overview#using-requestcontext)
571
+ - [Request Context](/docs/v1/server-db/request-context#accessing-values-with-tools)
572
572
 
573
573
  ## Usage Without a Mastra Server
574
574
 
575
575
  The tool can be used by itself to retrieve documents matching a query:
576
576
 
577
577
  ```typescript copy showLineNumbers title="src/index.ts"
578
- import { openai } from "@ai-sdk/openai";
579
578
  import { RequestContext } from "@mastra/core/request-context";
580
579
  import { createVectorQueryTool } from "@mastra/rag";
581
580
  import { PgVector } from "@mastra/pg";
@@ -589,7 +588,7 @@ const vectorQueryTool = createVectorQueryTool({
589
588
  vectorStoreName: "pgVector", // optional since we're passing in a store
590
589
  vectorStore: pgVector,
591
590
  indexName: "embeddings",
592
- model: openai.embedding("text-embedding-3-small"),
591
+ model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
593
592
  });
594
593
 
595
594
  const requestContext = new RequestContext();
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Reference: Astra Vector Store | Vectors | Mastra Docs"
2
+ title: "Reference: Astra Vector Store | Vectors"
3
3
  description: Documentation for the AstraVector class in Mastra, which provides vector search using DataStax Astra DB.
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Reference: Chroma Vector Store | Vectors | Mastra Docs"
2
+ title: "Reference: Chroma Vector Store | Vectors"
3
3
  description: Documentation for the ChromaVector class in Mastra, which provides vector search using ChromaDB.
4
4
  ---
5
5
 
@@ -335,6 +335,8 @@ interface IndexStats {
335
335
 
336
336
  ### updateVector()
337
337
 
338
+ Update a single vector by ID or by metadata filter. Either `id` or `filter` must be provided, but not both.
339
+
338
340
  <PropertiesTable
339
341
  content={[
340
342
  {
@@ -345,7 +347,14 @@ interface IndexStats {
345
347
  {
346
348
  name: "id",
347
349
  type: "string",
348
- description: "ID of the vector to update",
350
+ isOptional: true,
351
+ description: "ID of the vector to update (mutually exclusive with filter)",
352
+ },
353
+ {
354
+ name: "filter",
355
+ type: "Record<string, any>",
356
+ isOptional: true,
357
+ description: "Metadata filter to identify vector(s) to update (mutually exclusive with id)",
349
358
  },
350
359
  {
351
360
  name: "update",
@@ -374,6 +383,24 @@ The `update` object can contain:
374
383
  ]}
375
384
  />
376
385
 
386
+ Example:
387
+
388
+ ```typescript
389
+ // Update by ID
390
+ await vectorStore.updateVector({
391
+ indexName: 'docs',
392
+ id: 'vec_123',
393
+ update: { metadata: { status: 'reviewed' } }
394
+ });
395
+
396
+ // Update by filter
397
+ await vectorStore.updateVector({
398
+ indexName: 'docs',
399
+ filter: { source_id: 'manual.pdf' },
400
+ update: { metadata: { version: 2 } }
401
+ });
402
+ ```
403
+
377
404
  ### deleteVector()
378
405
 
379
406
  <PropertiesTable
@@ -391,6 +418,59 @@ The `update` object can contain:
391
418
  ]}
392
419
  />
393
420
 
421
+ ### deleteVectors()
422
+
423
+ Delete multiple vectors by IDs or by metadata filter. This method enables bulk deletion and source-based vector management. Either `ids` or `filter` must be provided, but not both.
424
+
425
+ <PropertiesTable
426
+ content={[
427
+ {
428
+ name: "indexName",
429
+ type: "string",
430
+ description: "Name of the index containing the vectors to delete",
431
+ },
432
+ {
433
+ name: "ids",
434
+ type: "string[]",
435
+ isOptional: true,
436
+ description: "Array of vector IDs to delete (mutually exclusive with filter)",
437
+ },
438
+ {
439
+ name: "filter",
440
+ type: "Record<string, any>",
441
+ isOptional: true,
442
+ description: "Metadata filter to identify vectors to delete (mutually exclusive with ids)",
443
+ },
444
+ ]}
445
+ />
446
+
447
+ Example:
448
+
449
+ ```typescript
450
+ // Delete all chunks from a document
451
+ await vectorStore.deleteVectors({
452
+ indexName: 'docs',
453
+ filter: { source_id: 'manual.pdf' }
454
+ });
455
+
456
+ // Delete multiple vectors by ID
457
+ await vectorStore.deleteVectors({
458
+ indexName: 'docs',
459
+ ids: ['vec_1', 'vec_2', 'vec_3']
460
+ });
461
+
462
+ // Delete old temporary documents
463
+ await vectorStore.deleteVectors({
464
+ indexName: 'docs',
465
+ filter: {
466
+ $and: [
467
+ { bucket: 'temp' },
468
+ { indexed_at: { $lt: '2025-01-01' } }
469
+ ]
470
+ }
471
+ });
472
+ ```
473
+
394
474
  ## Response Types
395
475
 
396
476
  Query results are returned in this format: