@mastra/mcp-docs-server 0.13.37 → 0.13.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +2 -0
  2. package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +2 -0
  3. package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +8 -8
  4. package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +2 -0
  5. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +23 -23
  6. package/.docs/organized/changelogs/%40mastra%2Fcore.md +69 -69
  7. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +17 -17
  8. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +17 -17
  9. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +17 -17
  10. package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +17 -17
  11. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +25 -25
  12. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +15 -15
  13. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +27 -27
  14. package/.docs/organized/changelogs/%40mastra%2Freact.md +15 -15
  15. package/.docs/organized/changelogs/%40mastra%2Fserver.md +23 -23
  16. package/.docs/organized/changelogs/create-mastra.md +5 -5
  17. package/.docs/organized/changelogs/mastra.md +17 -17
  18. package/.docs/raw/agents/adding-voice.mdx +20 -9
  19. package/.docs/raw/agents/agent-memory.mdx +55 -39
  20. package/.docs/raw/agents/guardrails.mdx +68 -61
  21. package/.docs/raw/agents/networks.mdx +50 -46
  22. package/.docs/raw/agents/overview.mdx +125 -88
  23. package/.docs/raw/agents/using-tools.mdx +14 -15
  24. package/.docs/raw/auth/auth0.mdx +28 -27
  25. package/.docs/raw/auth/clerk.mdx +22 -20
  26. package/.docs/raw/auth/firebase.mdx +42 -39
  27. package/.docs/raw/auth/index.mdx +1 -1
  28. package/.docs/raw/auth/jwt.mdx +18 -16
  29. package/.docs/raw/auth/supabase.mdx +20 -18
  30. package/.docs/raw/auth/workos.mdx +32 -26
  31. package/.docs/raw/community/contributing-templates.mdx +7 -7
  32. package/.docs/raw/community/discord.mdx +2 -2
  33. package/.docs/raw/community/licensing.mdx +1 -1
  34. package/.docs/raw/course/03-agent-memory/26-updating-mastra-export-comprehensive.md +0 -32
  35. package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +41 -22
  36. package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +48 -29
  37. package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +52 -24
  38. package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +86 -55
  39. package/.docs/raw/deployment/cloud-providers/index.mdx +16 -13
  40. package/.docs/raw/deployment/monorepo.mdx +32 -42
  41. package/.docs/raw/deployment/overview.mdx +15 -15
  42. package/.docs/raw/deployment/server-deployment.mdx +18 -23
  43. package/.docs/raw/deployment/serverless-platforms/cloudflare-deployer.mdx +16 -17
  44. package/.docs/raw/deployment/serverless-platforms/index.mdx +15 -12
  45. package/.docs/raw/deployment/serverless-platforms/netlify-deployer.mdx +14 -23
  46. package/.docs/raw/deployment/serverless-platforms/vercel-deployer.mdx +16 -23
  47. package/.docs/raw/deployment/web-framework.mdx +14 -14
  48. package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +138 -145
  49. package/.docs/raw/frameworks/agentic-uis/assistant-ui.mdx +54 -43
  50. package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +51 -36
  51. package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +161 -120
  52. package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +59 -48
  53. package/.docs/raw/frameworks/servers/express.mdx +45 -44
  54. package/.docs/raw/frameworks/web-frameworks/astro.mdx +245 -162
  55. package/.docs/raw/frameworks/web-frameworks/next-js.mdx +112 -69
  56. package/.docs/raw/frameworks/web-frameworks/sveltekit.mdx +189 -164
  57. package/.docs/raw/frameworks/web-frameworks/vite-react.mdx +94 -81
  58. package/.docs/raw/getting-started/installation.mdx +164 -133
  59. package/.docs/raw/getting-started/mcp-docs-server.mdx +36 -39
  60. package/.docs/raw/getting-started/project-structure.mdx +34 -42
  61. package/.docs/raw/getting-started/studio.mdx +40 -58
  62. package/.docs/raw/getting-started/templates.mdx +22 -27
  63. package/.docs/raw/index.mdx +9 -9
  64. package/.docs/raw/mastra-cloud/dashboard.mdx +10 -10
  65. package/.docs/raw/mastra-cloud/observability.mdx +7 -8
  66. package/.docs/raw/mastra-cloud/overview.mdx +16 -22
  67. package/.docs/raw/mastra-cloud/setting-up.mdx +33 -20
  68. package/.docs/raw/memory/conversation-history.mdx +2 -2
  69. package/.docs/raw/memory/overview.mdx +21 -23
  70. package/.docs/raw/memory/semantic-recall.mdx +14 -13
  71. package/.docs/raw/memory/storage/memory-with-libsql.mdx +27 -28
  72. package/.docs/raw/memory/storage/memory-with-pg.mdx +26 -26
  73. package/.docs/raw/memory/storage/memory-with-upstash.mdx +26 -27
  74. package/.docs/raw/memory/threads-and-resources.mdx +23 -20
  75. package/.docs/raw/memory/working-memory.mdx +27 -38
  76. package/.docs/raw/observability/ai-tracing/exporters/arize.mdx +30 -29
  77. package/.docs/raw/observability/ai-tracing/exporters/braintrust.mdx +8 -9
  78. package/.docs/raw/observability/ai-tracing/exporters/cloud.mdx +17 -16
  79. package/.docs/raw/observability/ai-tracing/exporters/default.mdx +31 -32
  80. package/.docs/raw/observability/ai-tracing/exporters/langfuse.mdx +18 -17
  81. package/.docs/raw/observability/ai-tracing/exporters/langsmith.mdx +14 -14
  82. package/.docs/raw/observability/ai-tracing/exporters/otel.mdx +56 -46
  83. package/.docs/raw/observability/ai-tracing/overview.mdx +145 -122
  84. package/.docs/raw/observability/ai-tracing/processors/sensitive-data-filter.mdx +57 -36
  85. package/.docs/raw/observability/logging.mdx +14 -17
  86. package/.docs/raw/observability/nextjs-tracing.mdx +5 -5
  87. package/.docs/raw/observability/otel-tracing.mdx +17 -18
  88. package/.docs/raw/observability/overview.mdx +14 -10
  89. package/.docs/raw/rag/chunking-and-embedding.mdx +10 -8
  90. package/.docs/raw/rag/overview.mdx +5 -5
  91. package/.docs/raw/rag/retrieval.mdx +125 -107
  92. package/.docs/raw/rag/vector-databases.mdx +232 -223
  93. package/.docs/raw/reference/agents/agent.mdx +54 -41
  94. package/.docs/raw/reference/agents/generate.mdx +367 -261
  95. package/.docs/raw/reference/agents/generateLegacy.mdx +260 -178
  96. package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +7 -5
  97. package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +7 -5
  98. package/.docs/raw/reference/agents/getDescription.mdx +3 -2
  99. package/.docs/raw/reference/agents/getInstructions.mdx +7 -5
  100. package/.docs/raw/reference/agents/getLLM.mdx +11 -7
  101. package/.docs/raw/reference/agents/getMemory.mdx +7 -5
  102. package/.docs/raw/reference/agents/getModel.mdx +7 -5
  103. package/.docs/raw/reference/agents/getScorers.mdx +7 -5
  104. package/.docs/raw/reference/agents/getTools.mdx +7 -5
  105. package/.docs/raw/reference/agents/getVoice.mdx +7 -5
  106. package/.docs/raw/reference/agents/getWorkflows.mdx +7 -5
  107. package/.docs/raw/reference/agents/listAgents.mdx +6 -4
  108. package/.docs/raw/reference/agents/network.mdx +171 -116
  109. package/.docs/raw/reference/auth/auth0.mdx +18 -14
  110. package/.docs/raw/reference/auth/clerk.mdx +15 -12
  111. package/.docs/raw/reference/auth/firebase.mdx +23 -16
  112. package/.docs/raw/reference/auth/jwt.mdx +7 -6
  113. package/.docs/raw/reference/auth/supabase.mdx +13 -10
  114. package/.docs/raw/reference/auth/workos.mdx +17 -13
  115. package/.docs/raw/reference/cli/create-mastra.mdx +61 -44
  116. package/.docs/raw/reference/cli/mastra.mdx +11 -11
  117. package/.docs/raw/reference/client-js/agents.mdx +40 -43
  118. package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
  119. package/.docs/raw/reference/client-js/logs.mdx +1 -1
  120. package/.docs/raw/reference/client-js/mastra-client.mdx +21 -13
  121. package/.docs/raw/reference/client-js/memory.mdx +6 -2
  122. package/.docs/raw/reference/client-js/observability.mdx +10 -9
  123. package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
  124. package/.docs/raw/reference/client-js/tools.mdx +1 -1
  125. package/.docs/raw/reference/client-js/vectors.mdx +1 -1
  126. package/.docs/raw/reference/client-js/workflows-legacy.mdx +1 -1
  127. package/.docs/raw/reference/client-js/workflows.mdx +7 -7
  128. package/.docs/raw/reference/core/getAgent.mdx +6 -5
  129. package/.docs/raw/reference/core/getAgentById.mdx +5 -4
  130. package/.docs/raw/reference/core/getAgents.mdx +3 -3
  131. package/.docs/raw/reference/core/getDeployer.mdx +4 -3
  132. package/.docs/raw/reference/core/getLogger.mdx +4 -3
  133. package/.docs/raw/reference/core/getLogs.mdx +10 -6
  134. package/.docs/raw/reference/core/getLogsByRunId.mdx +8 -5
  135. package/.docs/raw/reference/core/getMCPServer.mdx +8 -5
  136. package/.docs/raw/reference/core/getMCPServers.mdx +4 -3
  137. package/.docs/raw/reference/core/getMemory.mdx +4 -3
  138. package/.docs/raw/reference/core/getScorer.mdx +15 -12
  139. package/.docs/raw/reference/core/getScorerByName.mdx +12 -9
  140. package/.docs/raw/reference/core/getScorers.mdx +3 -2
  141. package/.docs/raw/reference/core/getServer.mdx +4 -3
  142. package/.docs/raw/reference/core/getStorage.mdx +4 -3
  143. package/.docs/raw/reference/core/getTelemetry.mdx +4 -3
  144. package/.docs/raw/reference/core/getVector.mdx +6 -4
  145. package/.docs/raw/reference/core/getVectors.mdx +4 -3
  146. package/.docs/raw/reference/core/getWorkflow.mdx +7 -4
  147. package/.docs/raw/reference/core/getWorkflows.mdx +5 -3
  148. package/.docs/raw/reference/core/mastra-class.mdx +16 -16
  149. package/.docs/raw/reference/core/setLogger.mdx +6 -4
  150. package/.docs/raw/reference/core/setStorage.mdx +4 -4
  151. package/.docs/raw/reference/core/setTelemetry.mdx +4 -3
  152. package/.docs/raw/reference/deployer/cloudflare.mdx +11 -7
  153. package/.docs/raw/reference/deployer/deployer.mdx +2 -1
  154. package/.docs/raw/reference/deployer/netlify.mdx +4 -4
  155. package/.docs/raw/reference/deployer/vercel.mdx +6 -6
  156. package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -5
  157. package/.docs/raw/reference/evals/bias.mdx +4 -5
  158. package/.docs/raw/reference/evals/completeness.mdx +4 -5
  159. package/.docs/raw/reference/evals/content-similarity.mdx +4 -5
  160. package/.docs/raw/reference/evals/context-position.mdx +4 -5
  161. package/.docs/raw/reference/evals/context-precision.mdx +4 -5
  162. package/.docs/raw/reference/evals/context-relevancy.mdx +4 -5
  163. package/.docs/raw/reference/evals/contextual-recall.mdx +4 -5
  164. package/.docs/raw/reference/evals/faithfulness.mdx +4 -5
  165. package/.docs/raw/reference/evals/hallucination.mdx +4 -6
  166. package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -5
  167. package/.docs/raw/reference/evals/prompt-alignment.mdx +4 -6
  168. package/.docs/raw/reference/evals/summarization.mdx +4 -6
  169. package/.docs/raw/reference/evals/textual-difference.mdx +4 -5
  170. package/.docs/raw/reference/evals/tone-consistency.mdx +4 -7
  171. package/.docs/raw/reference/evals/toxicity.mdx +4 -5
  172. package/.docs/raw/reference/index.mdx +3 -3
  173. package/.docs/raw/reference/legacyWorkflows/after.mdx +5 -5
  174. package/.docs/raw/reference/legacyWorkflows/afterEvent.mdx +5 -5
  175. package/.docs/raw/reference/legacyWorkflows/commit.mdx +5 -5
  176. package/.docs/raw/reference/legacyWorkflows/createRun.mdx +4 -4
  177. package/.docs/raw/reference/legacyWorkflows/else.mdx +5 -5
  178. package/.docs/raw/reference/legacyWorkflows/events.mdx +7 -7
  179. package/.docs/raw/reference/legacyWorkflows/execute.mdx +4 -4
  180. package/.docs/raw/reference/legacyWorkflows/if.mdx +5 -5
  181. package/.docs/raw/reference/legacyWorkflows/resume.mdx +5 -5
  182. package/.docs/raw/reference/legacyWorkflows/resumeWithEvent.mdx +6 -6
  183. package/.docs/raw/reference/legacyWorkflows/snapshots.mdx +6 -6
  184. package/.docs/raw/reference/legacyWorkflows/start.mdx +6 -6
  185. package/.docs/raw/reference/legacyWorkflows/step-class.mdx +4 -4
  186. package/.docs/raw/reference/legacyWorkflows/step-condition.mdx +4 -4
  187. package/.docs/raw/reference/legacyWorkflows/step-function.mdx +5 -5
  188. package/.docs/raw/reference/legacyWorkflows/step-options.mdx +6 -6
  189. package/.docs/raw/reference/legacyWorkflows/step-retries.mdx +4 -4
  190. package/.docs/raw/reference/legacyWorkflows/suspend.mdx +4 -4
  191. package/.docs/raw/reference/legacyWorkflows/then.mdx +5 -5
  192. package/.docs/raw/reference/legacyWorkflows/until.mdx +4 -4
  193. package/.docs/raw/reference/legacyWorkflows/watch.mdx +3 -3
  194. package/.docs/raw/reference/legacyWorkflows/while.mdx +4 -4
  195. package/.docs/raw/reference/legacyWorkflows/workflow.mdx +7 -7
  196. package/.docs/raw/reference/memory/createThread.mdx +10 -10
  197. package/.docs/raw/reference/memory/deleteMessages.mdx +7 -5
  198. package/.docs/raw/reference/memory/getThreadById.mdx +6 -5
  199. package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +11 -10
  200. package/.docs/raw/reference/memory/getThreadsByResourceIdPaginated.mdx +10 -9
  201. package/.docs/raw/reference/memory/{Memory.mdx → memory-class.mdx} +53 -46
  202. package/.docs/raw/reference/memory/query.mdx +39 -25
  203. package/.docs/raw/reference/observability/ai-tracing/ai-tracing.mdx +9 -5
  204. package/.docs/raw/reference/observability/ai-tracing/configuration.mdx +26 -22
  205. package/.docs/raw/reference/observability/ai-tracing/exporters/arize.mdx +16 -12
  206. package/.docs/raw/reference/observability/ai-tracing/exporters/braintrust.mdx +14 -14
  207. package/.docs/raw/reference/observability/ai-tracing/exporters/cloud-exporter.mdx +16 -11
  208. package/.docs/raw/reference/observability/ai-tracing/exporters/console-exporter.mdx +10 -6
  209. package/.docs/raw/reference/observability/ai-tracing/exporters/default-exporter.mdx +23 -15
  210. package/.docs/raw/reference/observability/ai-tracing/exporters/langfuse.mdx +6 -6
  211. package/.docs/raw/reference/observability/ai-tracing/exporters/langsmith.mdx +13 -13
  212. package/.docs/raw/reference/observability/ai-tracing/exporters/otel.mdx +44 -36
  213. package/.docs/raw/reference/observability/ai-tracing/interfaces.mdx +115 -106
  214. package/.docs/raw/reference/observability/ai-tracing/processors/sensitive-data-filter.mdx +37 -32
  215. package/.docs/raw/reference/observability/ai-tracing/span.mdx +29 -26
  216. package/.docs/raw/reference/observability/logging/pino-logger.mdx +13 -15
  217. package/.docs/raw/reference/observability/otel-tracing/otel-config.mdx +2 -2
  218. package/.docs/raw/reference/observability/otel-tracing/providers/arize-ax.mdx +3 -3
  219. package/.docs/raw/reference/observability/otel-tracing/providers/arize-phoenix.mdx +2 -1
  220. package/.docs/raw/reference/observability/otel-tracing/providers/dash0.mdx +1 -1
  221. package/.docs/raw/reference/observability/otel-tracing/providers/index.mdx +12 -14
  222. package/.docs/raw/reference/observability/otel-tracing/providers/keywordsai.mdx +3 -3
  223. package/.docs/raw/reference/observability/otel-tracing/providers/laminar.mdx +1 -1
  224. package/.docs/raw/reference/observability/otel-tracing/providers/langfuse.mdx +4 -4
  225. package/.docs/raw/reference/observability/otel-tracing/providers/langsmith.mdx +1 -1
  226. package/.docs/raw/reference/observability/otel-tracing/providers/langwatch.mdx +2 -2
  227. package/.docs/raw/reference/observability/otel-tracing/providers/new-relic.mdx +1 -1
  228. package/.docs/raw/reference/observability/otel-tracing/providers/signoz.mdx +1 -1
  229. package/.docs/raw/reference/observability/otel-tracing/providers/traceloop.mdx +1 -1
  230. package/.docs/raw/reference/processors/batch-parts-processor.mdx +13 -10
  231. package/.docs/raw/reference/processors/language-detector.mdx +27 -17
  232. package/.docs/raw/reference/processors/moderation-processor.mdx +26 -17
  233. package/.docs/raw/reference/processors/pii-detector.mdx +28 -18
  234. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +25 -17
  235. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +26 -17
  236. package/.docs/raw/reference/processors/token-limiter-processor.mdx +22 -15
  237. package/.docs/raw/reference/processors/unicode-normalizer.mdx +13 -12
  238. package/.docs/raw/reference/rag/chunk.mdx +41 -23
  239. package/.docs/raw/reference/rag/database-config.mdx +56 -38
  240. package/.docs/raw/reference/rag/document.mdx +1 -1
  241. package/.docs/raw/reference/rag/embeddings.mdx +1 -1
  242. package/.docs/raw/reference/rag/extract-params.mdx +1 -1
  243. package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
  244. package/.docs/raw/reference/rag/metadata-filters.mdx +23 -26
  245. package/.docs/raw/reference/rag/rerank.mdx +1 -1
  246. package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -2
  247. package/.docs/raw/reference/scorers/answer-relevancy.mdx +35 -17
  248. package/.docs/raw/reference/scorers/answer-similarity.mdx +84 -68
  249. package/.docs/raw/reference/scorers/bias.mdx +22 -19
  250. package/.docs/raw/reference/scorers/completeness.mdx +21 -16
  251. package/.docs/raw/reference/scorers/content-similarity.mdx +12 -10
  252. package/.docs/raw/reference/scorers/context-precision.mdx +73 -64
  253. package/.docs/raw/reference/scorers/context-relevance.mdx +142 -126
  254. package/.docs/raw/reference/scorers/create-scorer.mdx +93 -61
  255. package/.docs/raw/reference/scorers/faithfulness.mdx +21 -13
  256. package/.docs/raw/reference/scorers/hallucination.mdx +17 -12
  257. package/.docs/raw/reference/scorers/keyword-coverage.mdx +32 -27
  258. package/.docs/raw/reference/scorers/mastra-scorer.mdx +39 -33
  259. package/.docs/raw/reference/scorers/noise-sensitivity.mdx +203 -152
  260. package/.docs/raw/reference/scorers/prompt-alignment.mdx +186 -132
  261. package/.docs/raw/reference/scorers/run-experiment.mdx +40 -31
  262. package/.docs/raw/reference/scorers/textual-difference.mdx +25 -26
  263. package/.docs/raw/reference/scorers/tone-consistency.mdx +29 -26
  264. package/.docs/raw/reference/scorers/tool-call-accuracy.mdx +180 -176
  265. package/.docs/raw/reference/scorers/toxicity.mdx +35 -31
  266. package/.docs/raw/reference/storage/cloudflare-d1.mdx +1 -1
  267. package/.docs/raw/reference/storage/cloudflare.mdx +1 -1
  268. package/.docs/raw/reference/storage/dynamodb.mdx +1 -1
  269. package/.docs/raw/reference/storage/lance.mdx +1 -1
  270. package/.docs/raw/reference/storage/libsql.mdx +2 -2
  271. package/.docs/raw/reference/storage/mongodb.mdx +4 -5
  272. package/.docs/raw/reference/storage/mssql.mdx +5 -4
  273. package/.docs/raw/reference/storage/postgresql.mdx +35 -33
  274. package/.docs/raw/reference/storage/upstash.mdx +6 -5
  275. package/.docs/raw/reference/streaming/ChunkType.mdx +788 -314
  276. package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +265 -109
  277. package/.docs/raw/reference/streaming/agents/stream.mdx +375 -266
  278. package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +233 -162
  279. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +4 -4
  280. package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +5 -5
  281. package/.docs/raw/reference/streaming/workflows/resumeStreamVNext.mdx +24 -20
  282. package/.docs/raw/reference/streaming/workflows/stream.mdx +35 -26
  283. package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +36 -27
  284. package/.docs/raw/reference/templates/overview.mdx +16 -39
  285. package/.docs/raw/reference/tools/client.mdx +1 -1
  286. package/.docs/raw/reference/tools/create-tool.mdx +45 -35
  287. package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -2
  288. package/.docs/raw/reference/tools/graph-rag-tool.mdx +12 -12
  289. package/.docs/raw/reference/tools/mcp-client.mdx +70 -64
  290. package/.docs/raw/reference/tools/mcp-server.mdx +91 -78
  291. package/.docs/raw/reference/tools/vector-query-tool.mdx +48 -38
  292. package/.docs/raw/reference/vectors/astra.mdx +1 -1
  293. package/.docs/raw/reference/vectors/chroma.mdx +25 -19
  294. package/.docs/raw/reference/vectors/couchbase.mdx +4 -4
  295. package/.docs/raw/reference/vectors/lance.mdx +5 -6
  296. package/.docs/raw/reference/vectors/libsql.mdx +1 -1
  297. package/.docs/raw/reference/vectors/mongodb.mdx +1 -1
  298. package/.docs/raw/reference/vectors/opensearch.mdx +1 -1
  299. package/.docs/raw/reference/vectors/pg.mdx +8 -4
  300. package/.docs/raw/reference/vectors/pinecone.mdx +1 -1
  301. package/.docs/raw/reference/vectors/qdrant.mdx +1 -1
  302. package/.docs/raw/reference/vectors/s3vectors.mdx +35 -27
  303. package/.docs/raw/reference/vectors/turbopuffer.mdx +1 -1
  304. package/.docs/raw/reference/vectors/upstash.mdx +33 -25
  305. package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
  306. package/.docs/raw/reference/voice/azure.mdx +1 -1
  307. package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
  308. package/.docs/raw/reference/voice/composite-voice.mdx +1 -1
  309. package/.docs/raw/reference/voice/deepgram.mdx +1 -1
  310. package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
  311. package/.docs/raw/reference/voice/google-gemini-live.mdx +6 -4
  312. package/.docs/raw/reference/voice/google.mdx +1 -1
  313. package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
  314. package/.docs/raw/reference/voice/murf.mdx +1 -1
  315. package/.docs/raw/reference/voice/openai-realtime.mdx +1 -1
  316. package/.docs/raw/reference/voice/openai.mdx +1 -1
  317. package/.docs/raw/reference/voice/playai.mdx +1 -1
  318. package/.docs/raw/reference/voice/sarvam.mdx +1 -1
  319. package/.docs/raw/reference/voice/speechify.mdx +1 -1
  320. package/.docs/raw/reference/voice/voice.addInstructions.mdx +1 -1
  321. package/.docs/raw/reference/voice/voice.addTools.mdx +1 -1
  322. package/.docs/raw/reference/voice/voice.answer.mdx +1 -1
  323. package/.docs/raw/reference/voice/voice.close.mdx +1 -1
  324. package/.docs/raw/reference/voice/voice.connect.mdx +1 -1
  325. package/.docs/raw/reference/voice/voice.events.mdx +1 -1
  326. package/.docs/raw/reference/voice/voice.getSpeakers.mdx +23 -30
  327. package/.docs/raw/reference/voice/voice.listen.mdx +1 -1
  328. package/.docs/raw/reference/voice/voice.off.mdx +1 -1
  329. package/.docs/raw/reference/voice/voice.on.mdx +1 -1
  330. package/.docs/raw/reference/voice/voice.send.mdx +1 -1
  331. package/.docs/raw/reference/voice/voice.speak.mdx +1 -1
  332. package/.docs/raw/reference/voice/voice.updateConfig.mdx +1 -1
  333. package/.docs/raw/reference/workflows/run-methods/cancel.mdx +4 -3
  334. package/.docs/raw/reference/workflows/run-methods/resume.mdx +49 -34
  335. package/.docs/raw/reference/workflows/run-methods/start.mdx +43 -31
  336. package/.docs/raw/reference/workflows/run-methods/watch.mdx +7 -8
  337. package/.docs/raw/reference/workflows/run.mdx +7 -10
  338. package/.docs/raw/reference/workflows/step.mdx +15 -12
  339. package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +2 -2
  340. package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
  341. package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +7 -7
  342. package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +2 -2
  343. package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +2 -2
  344. package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
  345. package/.docs/raw/reference/workflows/workflow-methods/map.mdx +3 -2
  346. package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
  347. package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +5 -5
  348. package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +3 -2
  349. package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +3 -2
  350. package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
  351. package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +3 -3
  352. package/.docs/raw/reference/workflows/workflow.mdx +13 -10
  353. package/.docs/raw/scorers/custom-scorers.mdx +58 -48
  354. package/.docs/raw/scorers/evals-old-api/custom-eval.mdx +6 -8
  355. package/.docs/raw/scorers/evals-old-api/overview.mdx +8 -8
  356. package/.docs/raw/scorers/evals-old-api/running-in-ci.mdx +9 -9
  357. package/.docs/raw/scorers/evals-old-api/textual-evals.mdx +5 -5
  358. package/.docs/raw/scorers/off-the-shelf-scorers.mdx +3 -1
  359. package/.docs/raw/scorers/overview.mdx +20 -19
  360. package/.docs/raw/server-db/custom-api-routes.mdx +8 -8
  361. package/.docs/raw/server-db/mastra-client.mdx +56 -54
  362. package/.docs/raw/server-db/middleware.mdx +11 -7
  363. package/.docs/raw/server-db/production-server.mdx +5 -7
  364. package/.docs/raw/server-db/runtime-context.mdx +41 -38
  365. package/.docs/raw/server-db/storage.mdx +82 -87
  366. package/.docs/raw/streaming/events.mdx +24 -16
  367. package/.docs/raw/streaming/overview.mdx +17 -18
  368. package/.docs/raw/streaming/tool-streaming.mdx +9 -10
  369. package/.docs/raw/streaming/workflow-streaming.mdx +14 -12
  370. package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
  371. package/.docs/raw/tools-mcp/mcp-overview.mdx +92 -102
  372. package/.docs/raw/tools-mcp/overview.mdx +9 -14
  373. package/.docs/raw/voice/overview.mdx +273 -250
  374. package/.docs/raw/voice/speech-to-speech.mdx +14 -12
  375. package/.docs/raw/voice/speech-to-text.mdx +2 -2
  376. package/.docs/raw/voice/text-to-speech.mdx +2 -2
  377. package/.docs/raw/workflows/agents-and-tools.mdx +29 -28
  378. package/.docs/raw/workflows/control-flow.mdx +24 -24
  379. package/.docs/raw/workflows/error-handling.mdx +15 -17
  380. package/.docs/raw/workflows/human-in-the-loop.mdx +39 -39
  381. package/.docs/raw/workflows/inngest-workflow.mdx +33 -29
  382. package/.docs/raw/workflows/input-data-mapping.mdx +9 -9
  383. package/.docs/raw/workflows/overview.mdx +60 -60
  384. package/.docs/raw/workflows/snapshots.mdx +54 -36
  385. package/.docs/raw/workflows/suspend-and-resume.mdx +52 -57
  386. package/.docs/raw/workflows-legacy/control-flow.mdx +15 -17
  387. package/.docs/raw/workflows-legacy/dynamic-workflows.mdx +3 -1
  388. package/.docs/raw/workflows-legacy/error-handling.mdx +8 -6
  389. package/.docs/raw/workflows-legacy/nested-workflows.mdx +6 -0
  390. package/.docs/raw/workflows-legacy/overview.mdx +28 -26
  391. package/.docs/raw/workflows-legacy/runtime-variables.mdx +4 -2
  392. package/.docs/raw/workflows-legacy/steps.mdx +5 -3
  393. package/.docs/raw/workflows-legacy/suspend-and-resume.mdx +10 -8
  394. package/.docs/raw/workflows-legacy/variables.mdx +10 -8
  395. package/CHANGELOG.md +14 -0
  396. package/package.json +5 -5
  397. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -148
@@ -1,80 +1,80 @@
1
1
  ---
2
- title: "Storing Embeddings in A Vector Database | Mastra Docs"
2
+ title: "Storing Embeddings in A Vector Database | RAG | Mastra Docs"
3
3
  description: Guide on vector storage options in Mastra, including embedded and dedicated vector databases for similarity search.
4
4
  ---
5
5
 
6
- import { Tabs } from "nextra/components";
6
+ import Tabs from "@theme/Tabs";
7
+ import TabItem from "@theme/TabItem";
7
8
 
8
- ## Storing Embeddings in A Vector Database
9
+ # Storing Embeddings in A Vector Database
9
10
 
10
11
  After generating embeddings, you need to store them in a database that supports vector similarity search. Mastra provides a consistent interface for storing and querying embeddings across various vector databases.
11
12
 
12
13
  ## Supported Databases
13
14
 
14
- {/*
15
- LLM CONTEXT: This Tabs component showcases different vector database implementations supported by Mastra.
16
- Each tab demonstrates the setup and configuration for a specific vector database provider.
17
- The tabs show consistent API patterns across different databases, helping users understand how to switch between providers.
18
- Each tab includes import statements, initialization code, and basic operations (createIndex, upsert) for that specific database.
19
- The providers include Pg Vector, Pinecone, Qdrant, Chroma, Astra, LibSQL, Upstash, Cloudflare, MongoDB, OpenSearch, Couchbase and S3 Vectors.
20
- */}
21
-
22
- <Tabs items={['MongoDB', 'Pg Vector', 'Pinecone', 'Qdrant', 'Chroma', 'Astra', 'LibSQL', 'Upstash', 'Cloudflare', 'OpenSearch', 'Couchbase', 'LanceDB', 'S3 Vectors']}>
23
- <Tabs.Tab>
24
- ```ts filename="vector-store.ts" showLineNumbers copy
25
- import { MongoDBVector } from '@mastra/mongodb'
26
-
27
- const store = new MongoDBVector({
28
- uri: process.env.MONGODB_URI,
29
- dbName: process.env.MONGODB_DATABASE
30
- })
31
- await store.createIndex({
32
- indexName: "myCollection",
33
- dimension: 1536,
34
- });
35
- await store.upsert({
36
- indexName: "myCollection",
37
- vectors: embeddings,
38
- metadata: chunks.map(chunk => ({ text: chunk.text })),
39
- });
40
-
41
- ```
42
- ### Using MongoDB Atlas Vector search
43
-
44
- For detailed setup instructions and best practices, see the [official MongoDB Atlas Vector Search documentation](https://www.mongodb.com/docs/atlas/atlas-vector-search/vector-search-overview/?utm_campaign=devrel&utm_source=third-party-content&utm_medium=cta&utm_content=mastra-docs).
45
- </Tabs.Tab>
46
-
47
- <Tabs.Tab>
48
- ```ts filename="vector-store.ts" showLineNumbers copy
49
- import { PgVector } from '@mastra/pg';
50
-
51
- const store = new PgVector({ connectionString: process.env.POSTGRES_CONNECTION_STRING })
52
-
53
- await store.createIndex({
54
- indexName: "myCollection",
55
- dimension: 1536,
56
- });
57
-
58
- await store.upsert({
59
- indexName: "myCollection",
60
- vectors: embeddings,
61
- metadata: chunks.map(chunk => ({ text: chunk.text })),
62
- });
15
+ <Tabs>
16
+ <TabItem value="mongodb" label="MongoDB">
17
+
18
+ ```ts title="vector-store.ts" showLineNumbers copy
19
+ import { MongoDBVector } from "@mastra/mongodb";
20
+
21
+ const store = new MongoDBVector({
22
+ uri: process.env.MONGODB_URI,
23
+ dbName: process.env.MONGODB_DATABASE,
24
+ });
25
+ await store.createIndex({
26
+ indexName: "myCollection",
27
+ dimension: 1536,
28
+ });
29
+ await store.upsert({
30
+ indexName: "myCollection",
31
+ vectors: embeddings,
32
+ metadata: chunks.map((chunk) => ({ text: chunk.text })),
33
+ });
34
+ ```
35
+
36
+ ### Using MongoDB Atlas Vector search
37
+
38
+ For detailed setup instructions and best practices, see the [official MongoDB Atlas Vector Search documentation](https://www.mongodb.com/docs/atlas/atlas-vector-search/vector-search-overview/?utm_campaign=devrel&utm_source=third-party-content&utm_medium=cta&utm_content=mastra-docs).
39
+
40
+ </TabItem>
41
+
42
+ <TabItem value="pg-vector" label="PgVector">
43
+
44
+ ```ts title="vector-store.ts" showLineNumbers copy
45
+ import { PgVector } from "@mastra/pg";
46
+
47
+ const store = new PgVector({
48
+ connectionString: process.env.POSTGRES_CONNECTION_STRING,
49
+ });
50
+
51
+ await store.createIndex({
52
+ indexName: "myCollection",
53
+ dimension: 1536,
54
+ });
55
+
56
+ await store.upsert({
57
+ indexName: "myCollection",
58
+ vectors: embeddings,
59
+ metadata: chunks.map((chunk) => ({ text: chunk.text })),
60
+ });
63
61
  ```
64
62
 
65
63
  ### Using PostgreSQL with pgvector
66
64
 
67
65
  PostgreSQL with the pgvector extension is a good solution for teams already using PostgreSQL who want to minimize infrastructure complexity.
68
66
  For detailed setup instructions and best practices, see the [official pgvector repository](https://github.com/pgvector/pgvector).
69
- </Tabs.Tab>
70
67
 
71
- <Tabs.Tab>
72
- ```ts filename="vector-store.ts" showLineNumbers copy
73
- import { PineconeVector } from '@mastra/pinecone'
68
+ </TabItem>
69
+
70
+ <TabItem value="pinecone" label="Pinecone">
71
+
72
+ ```ts title="vector-store.ts" showLineNumbers copy
73
+ import { PineconeVector } from "@mastra/pinecone";
74
74
 
75
75
  const store = new PineconeVector({
76
76
  apiKey: process.env.PINECONE_API_KEY,
77
- })
77
+ });
78
78
  await store.createIndex({
79
79
  indexName: "myCollection",
80
80
  dimension: 1536,
@@ -82,37 +82,40 @@ await store.createIndex({
82
82
  await store.upsert({
83
83
  indexName: "myCollection",
84
84
  vectors: embeddings,
85
- metadata: chunks.map(chunk => ({ text: chunk.text })),
85
+ metadata: chunks.map((chunk) => ({ text: chunk.text })),
86
86
  });
87
87
  ```
88
- </Tabs.Tab>
89
88
 
90
- <Tabs.Tab>
91
- ```ts filename="vector-store.ts" showLineNumbers copy
92
- import { QdrantVector } from '@mastra/qdrant'
89
+ </TabItem>
93
90
 
94
- const store = new QdrantVector({
95
- url: process.env.QDRANT_URL,
96
- apiKey: process.env.QDRANT_API_KEY
97
- })
91
+ <TabItem value="qdrant" label="Qdrant">
98
92
 
99
- await store.createIndex({
100
- indexName: "myCollection",
101
- dimension: 1536,
102
- });
93
+ ```ts title="vector-store.ts" showLineNumbers copy
94
+ import { QdrantVector } from "@mastra/qdrant";
103
95
 
104
- await store.upsert({
105
- indexName: "myCollection",
106
- vectors: embeddings,
107
- metadata: chunks.map(chunk => ({ text: chunk.text })),
108
- });
96
+ const store = new QdrantVector({
97
+ url: process.env.QDRANT_URL,
98
+ apiKey: process.env.QDRANT_API_KEY,
99
+ });
109
100
 
101
+ await store.createIndex({
102
+ indexName: "myCollection",
103
+ dimension: 1536,
104
+ });
105
+
106
+ await store.upsert({
107
+ indexName: "myCollection",
108
+ vectors: embeddings,
109
+ metadata: chunks.map((chunk) => ({ text: chunk.text })),
110
+ });
110
111
  ```
111
- </Tabs.Tab>
112
112
 
113
- <Tabs.Tab>
114
- ```ts filename="vector-store.ts" showLineNumbers copy
115
- import { ChromaVector } from '@mastra/chroma'
113
+ </TabItem>
114
+
115
+ <TabItem value="chroma" label="Chroma">
116
+
117
+ ```ts title="vector-store.ts" showLineNumbers copy
118
+ import { ChromaVector } from "@mastra/chroma";
116
119
 
117
120
  // Running Chroma locally
118
121
  // const store = new ChromaVector()
@@ -121,8 +124,8 @@ import { ChromaVector } from '@mastra/chroma'
121
124
  const store = new ChromaVector({
122
125
  apiKey: process.env.CHROMA_API_KEY,
123
126
  tenant: process.env.CHROMA_TENANT,
124
- database: process.env.CHROMA_DATABASE
125
- })
127
+ database: process.env.CHROMA_DATABASE,
128
+ });
126
129
 
127
130
  await store.createIndex({
128
131
  indexName: "myCollection",
@@ -132,44 +135,46 @@ await store.createIndex({
132
135
  await store.upsert({
133
136
  indexName: "myCollection",
134
137
  vectors: embeddings,
135
- metadata: chunks.map(chunk => ({ text: chunk.text })),
138
+ metadata: chunks.map((chunk) => ({ text: chunk.text })),
136
139
  });
137
140
  ```
138
- </Tabs.Tab>
139
141
 
140
- <Tabs.Tab>
141
- ```ts filename="vector-store.ts" showLineNumbers copy
142
- import { AstraVector } from '@mastra/astra'
142
+ </TabItem>
143
143
 
144
- const store = new AstraVector({
145
- token: process.env.ASTRA_DB_TOKEN,
146
- endpoint: process.env.ASTRA_DB_ENDPOINT,
147
- keyspace: process.env.ASTRA_DB_KEYSPACE
148
- })
144
+ <TabItem value="astra" label="Astra">
149
145
 
150
- await store.createIndex({
151
- indexName: "myCollection",
152
- dimension: 1536,
153
- });
146
+ ```ts title="vector-store.ts" showLineNumbers copy
147
+ import { AstraVector } from "@mastra/astra";
154
148
 
155
- await store.upsert({
156
- indexName: "myCollection",
157
- vectors: embeddings,
158
- metadata: chunks.map(chunk => ({ text: chunk.text })),
159
- });
149
+ const store = new AstraVector({
150
+ token: process.env.ASTRA_DB_TOKEN,
151
+ endpoint: process.env.ASTRA_DB_ENDPOINT,
152
+ keyspace: process.env.ASTRA_DB_KEYSPACE,
153
+ });
154
+
155
+ await store.createIndex({
156
+ indexName: "myCollection",
157
+ dimension: 1536,
158
+ });
160
159
 
160
+ await store.upsert({
161
+ indexName: "myCollection",
162
+ vectors: embeddings,
163
+ metadata: chunks.map((chunk) => ({ text: chunk.text })),
164
+ });
161
165
  ```
162
- </Tabs.Tab>
163
166
 
167
+ </TabItem>
164
168
 
165
- <Tabs.Tab>
166
- ```ts filename="vector-store.ts" showLineNumbers copy
169
+ <TabItem value="libsql" label="LibSQL">
170
+
171
+ ```ts title="vector-store.ts" showLineNumbers copy
167
172
  import { LibSQLVector } from "@mastra/core/vector/libsql";
168
173
 
169
174
  const store = new LibSQLVector({
170
175
  connectionUrl: process.env.DATABASE_URL,
171
- authToken: process.env.DATABASE_AUTH_TOKEN // Optional: for Turso cloud databases
172
- })
176
+ authToken: process.env.DATABASE_AUTH_TOKEN, // Optional: for Turso cloud databases
177
+ });
173
178
 
174
179
  await store.createIndex({
175
180
  indexName: "myCollection",
@@ -179,39 +184,43 @@ await store.createIndex({
179
184
  await store.upsert({
180
185
  indexName: "myCollection",
181
186
  vectors: embeddings,
182
- metadata: chunks.map(chunk => ({ text: chunk.text })),
187
+ metadata: chunks.map((chunk) => ({ text: chunk.text })),
183
188
  });
184
189
  ```
185
- </Tabs.Tab>
186
-
187
- <Tabs.Tab>
188
- ```ts filename="vector-store.ts" showLineNumbers copy
189
- import { UpstashVector } from '@mastra/upstash'
190
-
191
- // In upstash they refer to the store as an index
192
- const store = new UpstashVector({
193
- url: process.env.UPSTASH_URL,
194
- token: process.env.UPSTASH_TOKEN
195
- })
196
-
197
- // There is no store.createIndex call here, Upstash creates indexes (known as namespaces in Upstash) automatically
198
- // when you upsert if that namespace does not exist yet.
199
- await store.upsert({
200
- indexName: "myCollection", // the namespace name in Upstash
201
- vectors: embeddings,
202
- metadata: chunks.map(chunk => ({ text: chunk.text })),
203
- });
190
+
191
+ </TabItem>
192
+
193
+ <TabItem value="upstash" label="Upstash">
194
+
195
+ ```ts title="vector-store.ts" showLineNumbers copy
196
+ import { UpstashVector } from "@mastra/upstash";
197
+
198
+ // In upstash they refer to the store as an index
199
+ const store = new UpstashVector({
200
+ url: process.env.UPSTASH_URL,
201
+ token: process.env.UPSTASH_TOKEN,
202
+ });
203
+
204
+ // There is no store.createIndex call here, Upstash creates indexes (known as namespaces in Upstash) automatically
205
+ // when you upsert if that namespace does not exist yet.
206
+ await store.upsert({
207
+ indexName: "myCollection", // the namespace name in Upstash
208
+ vectors: embeddings,
209
+ metadata: chunks.map((chunk) => ({ text: chunk.text })),
210
+ });
204
211
  ```
205
- </Tabs.Tab>
206
212
 
207
- <Tabs.Tab>
208
- ```ts filename="vector-store.ts" showLineNumbers copy
209
- import { CloudflareVector } from '@mastra/vectorize'
213
+ </TabItem>
214
+
215
+ <TabItem value="cloudflare" label="Cloudflare">
216
+
217
+ ```ts title="vector-store.ts" showLineNumbers copy
218
+ import { CloudflareVector } from "@mastra/vectorize";
210
219
 
211
220
  const store = new CloudflareVector({
212
221
  accountId: process.env.CF_ACCOUNT_ID,
213
- apiToken: process.env.CF_API_TOKEN
214
- })
222
+ apiToken: process.env.CF_API_TOKEN,
223
+ });
215
224
  await store.createIndex({
216
225
  indexName: "myCollection",
217
226
  dimension: 1536,
@@ -219,17 +228,18 @@ await store.createIndex({
219
228
  await store.upsert({
220
229
  indexName: "myCollection",
221
230
  vectors: embeddings,
222
- metadata: chunks.map(chunk => ({ text: chunk.text })),
231
+ metadata: chunks.map((chunk) => ({ text: chunk.text })),
223
232
  });
224
233
  ```
225
234
 
226
- </Tabs.Tab>
235
+ </TabItem>
236
+
237
+ <TabItem value="opensearch" label="OpenSearch">
227
238
 
228
- <Tabs.Tab>
229
- ```ts filename="vector-store.ts" showLineNumbers copy
230
- import { OpenSearchVector } from '@mastra/opensearch'
239
+ ```ts title="vector-store.ts" showLineNumbers copy
240
+ import { OpenSearchVector } from "@mastra/opensearch";
231
241
 
232
- const store = new OpenSearchVector({ url: process.env.OPENSEARCH_URL })
242
+ const store = new OpenSearchVector({ url: process.env.OPENSEARCH_URL });
233
243
 
234
244
  await store.createIndex({
235
245
  indexName: "my-collection",
@@ -239,60 +249,65 @@ await store.createIndex({
239
249
  await store.upsert({
240
250
  indexName: "my-collection",
241
251
  vectors: embeddings,
242
- metadata: chunks.map(chunk => ({ text: chunk.text })),
252
+ metadata: chunks.map((chunk) => ({ text: chunk.text })),
253
+ });
254
+ ```
255
+
256
+ </TabItem>
257
+ <TabItem value="couchbase" label="Couchbase">
258
+
259
+ ```ts title="vector-store.ts" showLineNumbers copy
260
+ import { CouchbaseVector } from "@mastra/couchbase";
261
+
262
+ const store = new CouchbaseVector({
263
+ connectionString: process.env.COUCHBASE_CONNECTION_STRING,
264
+ username: process.env.COUCHBASE_USERNAME,
265
+ password: process.env.COUCHBASE_PASSWORD,
266
+ bucketName: process.env.COUCHBASE_BUCKET,
267
+ scopeName: process.env.COUCHBASE_SCOPE,
268
+ collectionName: process.env.COUCHBASE_COLLECTION,
269
+ });
270
+ await store.createIndex({
271
+ indexName: "myCollection",
272
+ dimension: 1536,
273
+ });
274
+ await store.upsert({
275
+ indexName: "myCollection",
276
+ vectors: embeddings,
277
+ metadata: chunks.map((chunk) => ({ text: chunk.text })),
243
278
  });
244
279
  ```
245
280
 
246
- </Tabs.Tab>
247
- <Tabs.Tab>
248
- ```ts filename="vector-store.ts" showLineNumbers copy
249
- import { CouchbaseVector } from '@mastra/couchbase'
250
-
251
- const store = new CouchbaseVector({
252
- connectionString: process.env.COUCHBASE_CONNECTION_STRING,
253
- username: process.env.COUCHBASE_USERNAME,
254
- password: process.env.COUCHBASE_PASSWORD,
255
- bucketName: process.env.COUCHBASE_BUCKET,
256
- scopeName: process.env.COUCHBASE_SCOPE,
257
- collectionName: process.env.COUCHBASE_COLLECTION,
258
- })
259
- await store.createIndex({
260
- indexName: "myCollection",
261
- dimension: 1536,
262
- });
263
- await store.upsert({
264
- indexName: "myCollection",
265
- vectors: embeddings,
266
- metadata: chunks.map(chunk => ({ text: chunk.text })),
267
- });
268
- ```
269
- </Tabs.Tab>
270
- <Tabs.Tab>
271
- ```ts filename="vector-store.ts" showLineNumbers copy
272
- import { LanceVectorStore } from '@mastra/lance'
273
-
274
- const store = await LanceVectorStore.create('/path/to/db')
275
-
276
- await store.createIndex({
277
- tableName: "myVectors",
278
- indexName: "myCollection",
279
- dimension: 1536,
280
- });
281
-
282
- await store.upsert({
283
- tableName: "myVectors",
284
- vectors: embeddings,
285
- metadata: chunks.map(chunk => ({ text: chunk.text })),
286
- });
287
- ```
288
-
289
- ### Using LanceDB
290
-
291
- LanceDB is an embedded vector database built on the Lance columnar format, suitable for local development or cloud deployment.
292
- For detailed setup instructions and best practices, see the [official LanceDB documentation](https://lancedb.github.io/lancedb/).
293
- </Tabs.Tab>
294
- <Tabs.Tab>
295
- ```ts filename="vector-store.ts" showLineNumbers copy
281
+ </TabItem>
282
+ <TabItem value="lancedb" label="Lance">
283
+
284
+ ```ts title="vector-store.ts" showLineNumbers copy
285
+ import { LanceVectorStore } from "@mastra/lance";
286
+
287
+ const store = await LanceVectorStore.create("/path/to/db");
288
+
289
+ await store.createIndex({
290
+ tableName: "myVectors",
291
+ indexName: "myCollection",
292
+ dimension: 1536,
293
+ });
294
+
295
+ await store.upsert({
296
+ tableName: "myVectors",
297
+ vectors: embeddings,
298
+ metadata: chunks.map((chunk) => ({ text: chunk.text })),
299
+ });
300
+ ```
301
+
302
+ ### Using LanceDB
303
+
304
+ LanceDB is an embedded vector database built on the Lance columnar format, suitable for local development or cloud deployment.
305
+ For detailed setup instructions and best practices, see the [official LanceDB documentation](https://lancedb.github.io/lancedb/).
306
+
307
+ </TabItem>
308
+ <TabItem value="s3vectors" label="S3 Vectors">
309
+
310
+ ```ts title="vector-store.ts" showLineNumbers copy
296
311
  import { S3Vectors } from "@mastra/s3vectors";
297
312
 
298
313
  const store = new S3Vectors({
@@ -310,10 +325,11 @@ await store.createIndex({
310
325
  await store.upsert({
311
326
  indexName: "my-index",
312
327
  vectors: embeddings,
313
- metadata: chunks.map(chunk => ({ text: chunk.text })),
328
+ metadata: chunks.map((chunk) => ({ text: chunk.text })),
314
329
  });
315
330
  ```
316
- </Tabs.Tab>
331
+
332
+ </TabItem>
317
333
 
318
334
  </Tabs>
319
335
 
@@ -325,7 +341,7 @@ Once initialized, all vector stores share the same interface for creating indexe
325
341
 
326
342
  Before storing embeddings, you need to create an index with the appropriate dimension size for your embedding model:
327
343
 
328
- ```ts filename="store-embeddings.ts" showLineNumbers copy
344
+ ```ts title="store-embeddings.ts" showLineNumbers copy
329
345
  // Create an index with dimension 1536 (for text-embedding-3-small)
330
346
  await store.createIndex({
331
347
  indexName: "myCollection",
@@ -345,15 +361,8 @@ The dimension size must match the output dimension of your chosen embedding mode
345
361
 
346
362
  Each vector database enforces specific naming conventions for indexes and collections to ensure compatibility and prevent conflicts.
347
363
 
348
- {/*
349
- LLM CONTEXT: This Tabs component displays naming convention rules for different vector databases.
350
- Each tab explains the specific naming requirements and restrictions for that database provider.
351
- This helps users understand the constraints and avoid naming conflicts when creating indexes or collections.
352
- The tabs provide examples of valid and invalid names to clarify the rules for each database.
353
- */}
354
-
355
- <Tabs items={['MongoDB', 'Pg Vector', 'Pinecone', 'Qdrant', 'Chroma', 'Astra', 'LibSQL', 'Upstash', 'Cloudflare', 'OpenSearch', 'S3 Vectors']}>
356
- <Tabs.Tab>
364
+ <Tabs>
365
+ <TabItem value="mongodb" label="MongoDB">
357
366
  Collection (index) names must:
358
367
  - Start with a letter or underscore
359
368
  - Be up to 120 bytes long
@@ -362,15 +371,15 @@ The tabs provide examples of valid and invalid names to clarify the rules for ea
362
371
  - Example: `my_collection.123` is valid
363
372
  - Example: `my-index` is not valid (contains hyphen)
364
373
  - Example: `My$Collection` is not valid (contains `$`)
365
- </Tabs.Tab>
366
- <Tabs.Tab>
374
+ </TabItem>
375
+ <TabItem value="pgVector" label="PgVector">
367
376
  Index names must:
368
377
  - Start with a letter or underscore
369
378
  - Contain only letters, numbers, and underscores
370
379
  - Example: `my_index_123` is valid
371
380
  - Example: `my-index` is not valid (contains hyphen)
372
- </Tabs.Tab>
373
- <Tabs.Tab>
381
+ </TabItem>
382
+ <TabItem value="pinecone" label="Pinecone">
374
383
  Index names must:
375
384
  - Use only lowercase letters, numbers, and dashes
376
385
  - Not contain dots (used for DNS routing)
@@ -378,8 +387,8 @@ The tabs provide examples of valid and invalid names to clarify the rules for ea
378
387
  - Have a combined length (with project ID) under 52 characters
379
388
  - Example: `my-index-123` is valid
380
389
  - Example: `my.index` is not valid (contains dot)
381
- </Tabs.Tab>
382
- <Tabs.Tab>
390
+ </TabItem>
391
+ <TabItem value="qdrant" label="Qdrant">
383
392
  Collection names must:
384
393
  - Be 1-255 characters long
385
394
  - Not contain any of these special characters:
@@ -388,8 +397,8 @@ The tabs provide examples of valid and invalid names to clarify the rules for ea
388
397
  - Unit separator (`\u{1F}`)
389
398
  - Example: `my_collection_123` is valid
390
399
  - Example: `my/collection` is not valid (contains slash)
391
- </Tabs.Tab>
392
- <Tabs.Tab>
400
+ </TabItem>
401
+ <TabItem value="chroma" label="Chroma">
393
402
  Collection names must:
394
403
  - Be 3-63 characters long
395
404
  - Start and end with a letter or number
@@ -398,23 +407,23 @@ The tabs provide examples of valid and invalid names to clarify the rules for ea
398
407
  - Not be a valid IPv4 address
399
408
  - Example: `my-collection-123` is valid
400
409
  - Example: `my..collection` is not valid (consecutive periods)
401
- </Tabs.Tab>
402
- <Tabs.Tab>
410
+ </TabItem>
411
+ <TabItem value="astra" label="Astra">
403
412
  Collection names must:
404
413
  - Not be empty
405
414
  - Be 48 characters or less
406
415
  - Contain only letters, numbers, and underscores
407
416
  - Example: `my_collection_123` is valid
408
417
  - Example: `my-collection` is not valid (contains hyphen)
409
- </Tabs.Tab>
410
- <Tabs.Tab>
418
+ </TabItem>
419
+ <TabItem value="libsql" label="LibSQL">
411
420
  Index names must:
412
421
  - Start with a letter or underscore
413
422
  - Contain only letters, numbers, and underscores
414
423
  - Example: `my_index_123` is valid
415
424
  - Example: `my-index` is not valid (contains hyphen)
416
- </Tabs.Tab>
417
- <Tabs.Tab>
425
+ </TabItem>
426
+ <TabItem value="upstash" label="Upstash">
418
427
  Namespace names must:
419
428
  - Be 2-100 characters long
420
429
  - Contain only:
@@ -424,8 +433,8 @@ The tabs provide examples of valid and invalid names to clarify the rules for ea
424
433
  - Can be case-sensitive
425
434
  - Example: `MyNamespace123` is valid
426
435
  - Example: `_namespace` is not valid (starts with underscore)
427
- </Tabs.Tab>
428
- <Tabs.Tab>
436
+ </TabItem>
437
+ <TabItem value="cloudflare" label="Cloudflare">
429
438
  Index names must:
430
439
  - Start with a letter
431
440
  - Be shorter than 32 characters
@@ -433,8 +442,8 @@ The tabs provide examples of valid and invalid names to clarify the rules for ea
433
442
  - Use dashes instead of spaces
434
443
  - Example: `my-index-123` is valid
435
444
  - Example: `My_Index` is not valid (uppercase and underscore)
436
- </Tabs.Tab>
437
- <Tabs.Tab>
445
+ </TabItem>
446
+ <TabItem value="opensearch" label="OpenSearch">
438
447
  Index names must:
439
448
  - Use only lowercase letters
440
449
  - Not begin with underscores or hyphens
@@ -443,8 +452,8 @@ The tabs provide examples of valid and invalid names to clarify the rules for ea
443
452
  - Example: `my-index-123` is valid
444
453
  - Example: `My_Index` is not valid (contains uppercase letters)
445
454
  - Example: `_myindex` is not valid (begins with underscore)
446
- </Tabs.Tab>
447
- <Tabs.Tab>
455
+ </TabItem>
456
+ <TabItem value="s3vectors" label="S3 Vectors">
448
457
  Index names must:
449
458
  - Be unique within the same vector bucket
450
459
  - Be 3–63 characters long
@@ -455,14 +464,14 @@ The tabs provide examples of valid and invalid names to clarify the rules for ea
455
464
  - Example: `-myindex` is not valid (begins with hyphen)
456
465
  - Example: `myindex-` is not valid (ends with hyphen)
457
466
  - Example: `MyIndex` is not valid (contains uppercase letters)
458
- </Tabs.Tab>
467
+ </TabItem>
459
468
  </Tabs>
460
469
 
461
470
  ### Upserting Embeddings
462
471
 
463
472
  After creating an index, you can store embeddings along with their basic metadata:
464
473
 
465
- ```ts filename="store-embeddings.ts" showLineNumbers copy
474
+ ```ts title="store-embeddings.ts" showLineNumbers copy
466
475
  // Store embeddings with their corresponding metadata
467
476
  await store.upsert({
468
477
  indexName: "myCollection", // index name
@@ -481,7 +490,7 @@ The upsert operation:
481
490
  - Creates new vectors if they don't exist
482
491
  - Automatically handles batching for large datasets
483
492
 
484
- For complete examples of upserting embeddings in different vector stores, see the [Upsert Embeddings](../../examples/rag/upsert/upsert-embeddings.mdx) guide.
493
+ For complete examples of upserting embeddings in different vector stores, see the [Upsert Embeddings](/examples/rag/upsert/upsert-embeddings) guide.
485
494
 
486
495
  ## Adding Metadata
487
496