@mastra/mcp-docs-server 1.0.0-beta.8 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +1 -13
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +1 -5
- package/.docs/organized/changelogs/%40internal%2Fplayground.md +40 -0
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +8 -8
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +1 -53
- package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +287 -287
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +315 -315
- package/.docs/organized/changelogs/%40mastra%2Fastra.md +53 -53
- package/.docs/organized/changelogs/%40mastra%2Fauth.md +38 -0
- package/.docs/organized/changelogs/%40mastra%2Fchroma.md +66 -66
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +522 -212
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +658 -196
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +439 -234
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +450 -211
- package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +208 -0
- package/.docs/organized/changelogs/%40mastra%2Fconvex.md +448 -22
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +3341 -271
- package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +60 -60
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +289 -289
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +90 -90
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +74 -74
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +70 -70
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +247 -220
- package/.docs/organized/changelogs/%40mastra%2Fduckdb.md +70 -0
- package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +403 -225
- package/.docs/organized/changelogs/%40mastra%2Felasticsearch.md +72 -0
- package/.docs/organized/changelogs/%40mastra%2Fevals.md +145 -145
- package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +54 -0
- package/.docs/organized/changelogs/%40mastra%2Flance.md +456 -226
- package/.docs/organized/changelogs/%40mastra%2Flibsql.md +604 -208
- package/.docs/organized/changelogs/%40mastra%2Floggers.md +71 -71
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +247 -247
- package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +28 -28
- package/.docs/organized/changelogs/%40mastra%2Fmcp.md +285 -285
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +354 -156
- package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +545 -212
- package/.docs/organized/changelogs/%40mastra%2Fmssql.md +481 -202
- package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +194 -194
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +759 -213
- package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +198 -198
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +636 -229
- package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +163 -163
- package/.docs/organized/changelogs/%40mastra%2Frag.md +310 -310
- package/.docs/organized/changelogs/%40mastra%2Freact.md +328 -230
- package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +64 -0
- package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +160 -0
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +829 -218
- package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +57 -57
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +479 -232
- package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +53 -53
- package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +47 -47
- package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +110 -110
- package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +15 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +98 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +54 -54
- package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +46 -46
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +93 -93
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +47 -47
- package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +45 -45
- package/.docs/organized/changelogs/create-mastra.md +227 -227
- package/.docs/organized/changelogs/mastra.md +277 -277
- package/.docs/organized/code-examples/a2a.md +2 -2
- package/.docs/organized/code-examples/agent-v6.md +221 -0
- package/.docs/organized/code-examples/agui.md +4 -4
- package/.docs/organized/code-examples/ai-elements.md +3 -3
- package/.docs/organized/code-examples/ai-sdk-useChat.md +2 -2
- package/.docs/organized/code-examples/ai-sdk-v5.md +3 -3
- package/.docs/organized/code-examples/assistant-ui.md +5 -5
- package/.docs/organized/code-examples/bird-checker-with-express.md +1 -1
- package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +2 -2
- package/.docs/organized/code-examples/bird-checker-with-nextjs.md +3 -3
- package/.docs/organized/code-examples/client-side-tools.md +4 -4
- package/.docs/organized/code-examples/crypto-chatbot.md +5 -5
- package/.docs/organized/code-examples/experimental-auth-weather-agent.md +1 -1
- package/.docs/organized/code-examples/fireworks-r1.md +2 -2
- package/.docs/organized/code-examples/heads-up-game.md +7 -7
- package/.docs/organized/code-examples/inngest.md +1075 -0
- package/.docs/organized/code-examples/mcp-configuration.md +1 -1
- package/.docs/organized/code-examples/mcp-server-adapters.md +3 -4
- package/.docs/organized/code-examples/memory-per-resource-example.md +3 -3
- package/.docs/organized/code-examples/memory-todo-agent.md +1 -1
- package/.docs/organized/code-examples/memory-with-context.md +1 -1
- package/.docs/organized/code-examples/memory-with-processors.md +1 -1
- package/.docs/organized/code-examples/openapi-spec-writer.md +3 -3
- package/.docs/organized/code-examples/processors-with-ai-sdk.md +14 -0
- package/.docs/organized/code-examples/quick-start.md +1 -5
- package/.docs/organized/code-examples/server-app-access.md +3 -3
- package/.docs/organized/code-examples/server-express-adapter.md +1 -1
- package/.docs/organized/code-examples/server-fastify-adapter.md +83 -0
- package/.docs/organized/code-examples/server-hono-adapter.md +3 -3
- package/.docs/organized/code-examples/server-koa-adapter.md +94 -0
- package/.docs/organized/code-examples/stock-price-tool.md +21 -2
- package/.docs/organized/code-examples/workflow-ai-recruiter.md +1 -1
- package/.docs/organized/code-examples/workflow-with-inline-steps.md +1 -1
- package/.docs/organized/code-examples/workflow-with-memory.md +1 -1
- package/.docs/organized/code-examples/workflow-with-separate-steps.md +1 -1
- package/.docs/organized/code-examples/workflow-with-suspend-resume.md +1 -1
- package/.docs/raw/agents/adding-voice.mdx +24 -6
- package/.docs/raw/agents/agent-approval.mdx +209 -12
- package/.docs/raw/agents/agent-memory.mdx +36 -32
- package/.docs/raw/agents/guardrails.mdx +105 -56
- package/.docs/raw/agents/network-approval.mdx +281 -0
- package/.docs/raw/agents/networks.mdx +69 -13
- package/.docs/raw/agents/overview.mdx +43 -25
- package/.docs/raw/agents/processors.mdx +234 -17
- package/.docs/raw/agents/structured-output.mdx +78 -8
- package/.docs/raw/agents/using-tools.mdx +67 -6
- package/.docs/raw/course/01-first-agent/07-creating-your-agent.md +1 -2
- package/.docs/raw/course/01-first-agent/12-connecting-tool-to-agent.md +1 -1
- package/.docs/raw/course/01-first-agent/16-adding-memory-to-agent.md +1 -2
- package/.docs/raw/course/02-agent-tools-mcp/05-updating-your-agent.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/10-updating-agent-instructions-zapier.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/16-updating-agent-instructions-github.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/21-updating-agent-instructions-hackernews.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/27-updating-agent-instructions-filesystem.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/31-enhancing-memory-configuration.md +3 -3
- package/.docs/raw/course/03-agent-memory/04-creating-basic-memory-agent.md +1 -2
- package/.docs/raw/course/03-agent-memory/07-understanding-memory-threads.md +35 -0
- package/.docs/raw/course/03-agent-memory/08-configuring-conversation-history.md +1 -2
- package/.docs/raw/course/03-agent-memory/13-vector-store-configuration.md +1 -1
- package/.docs/raw/course/03-agent-memory/16-configuring-semantic-recall.md +4 -5
- package/.docs/raw/course/03-agent-memory/18-advanced-configuration-semantic-recall.md +1 -1
- package/.docs/raw/course/03-agent-memory/21-configuring-working-memory.md +3 -4
- package/.docs/raw/course/03-agent-memory/22-custom-working-memory-templates.md +3 -4
- package/.docs/raw/course/03-agent-memory/25-combining-memory-features.md +3 -4
- package/.docs/raw/course/03-agent-memory/27-creating-learning-assistant.md +3 -4
- package/.docs/raw/course/04-workflows/11-creating-an-ai-agent.md +2 -3
- package/.docs/raw/deployment/cloud-providers.mdx +22 -0
- package/.docs/raw/deployment/mastra-server.mdx +140 -0
- package/.docs/raw/deployment/monorepo.mdx +106 -42
- package/.docs/raw/deployment/overview.mdx +35 -48
- package/.docs/raw/deployment/web-framework.mdx +17 -19
- package/.docs/raw/deployment/workflow-runners.mdx +16 -0
- package/.docs/raw/evals/built-in-scorers.mdx +2 -0
- package/.docs/raw/evals/custom-scorers.mdx +60 -12
- package/.docs/raw/evals/overview.mdx +6 -6
- package/.docs/raw/evals/running-in-ci.mdx +4 -2
- package/.docs/raw/getting-started/manual-install.mdx +20 -20
- package/.docs/raw/getting-started/mcp-docs-server.mdx +59 -2
- package/.docs/raw/getting-started/project-structure.mdx +2 -2
- package/.docs/raw/getting-started/start.mdx +17 -1
- package/.docs/raw/getting-started/studio.mdx +10 -37
- package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +151 -0
- package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +1034 -80
- package/.docs/raw/guides/build-your-ui/assistant-ui.mdx +8 -8
- package/.docs/raw/guides/build-your-ui/copilotkit.mdx +32 -11
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/amazon-ec2.mdx +9 -9
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/aws-lambda.mdx +13 -16
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/azure-app-services.mdx +5 -7
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/cloudflare-deployer.mdx +8 -5
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/digital-ocean.mdx +18 -23
- package/.docs/raw/guides/deployment/index.mdx +32 -0
- package/.docs/raw/guides/deployment/inngest.mdx +673 -0
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/netlify-deployer.mdx +7 -3
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/vercel-deployer.mdx +8 -5
- package/.docs/raw/guides/getting-started/astro.mdx +292 -451
- package/.docs/raw/guides/getting-started/express.mdx +72 -153
- package/.docs/raw/guides/getting-started/hono.mdx +227 -0
- package/.docs/raw/guides/getting-started/next-js.mdx +173 -61
- package/.docs/raw/guides/getting-started/nuxt.mdx +505 -0
- package/.docs/raw/guides/getting-started/quickstart.mdx +5 -5
- package/.docs/raw/guides/getting-started/sveltekit.mdx +238 -409
- package/.docs/raw/guides/getting-started/vite-react.mdx +317 -147
- package/.docs/raw/guides/guide/ai-recruiter.mdx +10 -10
- package/.docs/raw/guides/guide/chef-michel.mdx +9 -11
- package/.docs/raw/guides/guide/notes-mcp-server.mdx +15 -15
- package/.docs/raw/guides/guide/research-assistant.mdx +20 -20
- package/.docs/raw/guides/guide/stock-agent.mdx +5 -5
- package/.docs/raw/guides/guide/web-search.mdx +38 -38
- package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +7 -7
- package/.docs/raw/guides/index.mdx +0 -1
- package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +2 -2
- package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +105 -4
- package/.docs/raw/guides/migrations/upgrade-to-v1/cli.mdx +15 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +170 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/deployment.mdx +42 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +0 -35
- package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +40 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +17 -2
- package/.docs/raw/guides/migrations/upgrade-to-v1/processors.mdx +11 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/rag.mdx +47 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +271 -25
- package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +3 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/tracing.mdx +72 -17
- package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +46 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +50 -7
- package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +21 -23
- package/.docs/raw/index.mdx +2 -2
- package/.docs/raw/mastra-cloud/deployment.mdx +86 -0
- package/.docs/raw/mastra-cloud/observability.mdx +43 -0
- package/.docs/raw/mastra-cloud/overview.mdx +31 -0
- package/.docs/raw/mastra-cloud/setup.mdx +64 -0
- package/.docs/raw/mastra-cloud/studio.mdx +35 -0
- package/.docs/raw/mcp/overview.mdx +60 -25
- package/.docs/raw/mcp/publishing-mcp-server.mdx +7 -4
- package/.docs/raw/memory/memory-processors.mdx +17 -12
- package/.docs/raw/memory/message-history.mdx +72 -0
- package/.docs/raw/memory/overview.mdx +38 -76
- package/.docs/raw/memory/semantic-recall.mdx +65 -52
- package/.docs/raw/memory/storage.mdx +248 -0
- package/.docs/raw/memory/working-memory.mdx +24 -13
- package/.docs/raw/observability/logging.mdx +16 -15
- package/.docs/raw/observability/overview.mdx +27 -7
- package/.docs/raw/observability/tracing/bridges/otel.mdx +7 -4
- package/.docs/raw/observability/tracing/exporters/arize.mdx +61 -24
- package/.docs/raw/observability/tracing/exporters/braintrust.mdx +32 -22
- package/.docs/raw/observability/tracing/exporters/cloud.mdx +24 -5
- package/.docs/raw/observability/tracing/exporters/datadog.mdx +175 -0
- package/.docs/raw/observability/tracing/exporters/default.mdx +28 -7
- package/.docs/raw/observability/tracing/exporters/laminar.mdx +89 -0
- package/.docs/raw/observability/tracing/exporters/langfuse.mdx +31 -22
- package/.docs/raw/observability/tracing/exporters/langsmith.mdx +33 -3
- package/.docs/raw/observability/tracing/exporters/otel.mdx +194 -22
- package/.docs/raw/observability/tracing/exporters/posthog.mdx +32 -22
- package/.docs/raw/observability/tracing/exporters/sentry.mdx +198 -0
- package/.docs/raw/observability/tracing/overview.mdx +388 -108
- package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +27 -7
- package/.docs/raw/rag/chunking-and-embedding.mdx +22 -33
- package/.docs/raw/rag/graph-rag.mdx +223 -0
- package/.docs/raw/rag/overview.mdx +6 -3
- package/.docs/raw/rag/retrieval.mdx +53 -57
- package/.docs/raw/rag/vector-databases.mdx +55 -31
- package/.docs/raw/reference/agents/agent.mdx +17 -14
- package/.docs/raw/reference/agents/generate.mdx +172 -44
- package/.docs/raw/reference/agents/generateLegacy.mdx +5 -3
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +5 -3
- package/.docs/raw/reference/agents/getDefaultOptions.mdx +5 -3
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +5 -3
- package/.docs/raw/reference/agents/getDescription.mdx +3 -1
- package/.docs/raw/reference/agents/getInstructions.mdx +5 -3
- package/.docs/raw/reference/agents/getLLM.mdx +5 -3
- package/.docs/raw/reference/agents/getMemory.mdx +5 -3
- package/.docs/raw/reference/agents/getModel.mdx +5 -3
- package/.docs/raw/reference/agents/getTools.mdx +4 -2
- package/.docs/raw/reference/agents/getVoice.mdx +4 -2
- package/.docs/raw/reference/agents/listAgents.mdx +4 -2
- package/.docs/raw/reference/agents/listScorers.mdx +5 -3
- package/.docs/raw/reference/agents/listTools.mdx +4 -2
- package/.docs/raw/reference/agents/listWorkflows.mdx +4 -2
- package/.docs/raw/reference/agents/network.mdx +113 -1
- package/.docs/raw/reference/ai-sdk/chat-route.mdx +6 -3
- package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +4 -2
- package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +4 -2
- package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +5 -3
- package/.docs/raw/reference/ai-sdk/network-route.mdx +6 -3
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +10 -6
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-v4-messages.mdx +130 -0
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-v5-messages.mdx +110 -0
- package/.docs/raw/reference/ai-sdk/with-mastra.mdx +122 -0
- package/.docs/raw/reference/ai-sdk/workflow-route.mdx +7 -4
- package/.docs/raw/reference/auth/auth0.mdx +5 -3
- package/.docs/raw/reference/auth/clerk.mdx +5 -3
- package/.docs/raw/reference/auth/firebase.mdx +6 -5
- package/.docs/raw/reference/auth/jwt.mdx +5 -3
- package/.docs/raw/reference/auth/supabase.mdx +5 -3
- package/.docs/raw/reference/auth/workos.mdx +5 -3
- package/.docs/raw/reference/cli/create-mastra.mdx +12 -10
- package/.docs/raw/reference/cli/mastra.mdx +63 -15
- package/.docs/raw/reference/client-js/agents.mdx +311 -85
- package/.docs/raw/reference/client-js/error-handling.mdx +3 -3
- package/.docs/raw/reference/client-js/logs.mdx +2 -0
- package/.docs/raw/reference/client-js/mastra-client.mdx +6 -4
- package/.docs/raw/reference/client-js/memory.mdx +47 -2
- package/.docs/raw/reference/client-js/observability.mdx +2 -0
- package/.docs/raw/reference/client-js/telemetry.mdx +2 -0
- package/.docs/raw/reference/client-js/tools.mdx +2 -0
- package/.docs/raw/reference/client-js/vectors.mdx +2 -0
- package/.docs/raw/reference/client-js/workflows.mdx +47 -3
- package/.docs/raw/reference/configuration.mdx +761 -0
- package/.docs/raw/reference/core/addGateway.mdx +2 -0
- package/.docs/raw/reference/core/getAgent.mdx +3 -1
- package/.docs/raw/reference/core/getAgentById.mdx +3 -1
- package/.docs/raw/reference/core/getDeployer.mdx +3 -1
- package/.docs/raw/reference/core/getGateway.mdx +2 -0
- package/.docs/raw/reference/core/getGatewayById.mdx +2 -0
- package/.docs/raw/reference/core/getLogger.mdx +3 -1
- package/.docs/raw/reference/core/getMCPServer.mdx +3 -1
- package/.docs/raw/reference/core/getMCPServerById.mdx +3 -1
- package/.docs/raw/reference/core/getMemory.mdx +77 -0
- package/.docs/raw/reference/core/getScorer.mdx +2 -0
- package/.docs/raw/reference/core/getScorerById.mdx +2 -0
- package/.docs/raw/reference/core/getServer.mdx +6 -4
- package/.docs/raw/reference/core/getStorage.mdx +5 -3
- package/.docs/raw/reference/core/getStoredAgentById.mdx +185 -0
- package/.docs/raw/reference/core/getTelemetry.mdx +3 -1
- package/.docs/raw/reference/core/getVector.mdx +3 -1
- package/.docs/raw/reference/core/getWorkflow.mdx +3 -1
- package/.docs/raw/reference/core/listAgents.mdx +3 -1
- package/.docs/raw/reference/core/listGateways.mdx +2 -0
- package/.docs/raw/reference/core/listLogs.mdx +3 -1
- package/.docs/raw/reference/core/listLogsByRunId.mdx +3 -1
- package/.docs/raw/reference/core/listMCPServers.mdx +3 -1
- package/.docs/raw/reference/core/listMemory.mdx +74 -0
- package/.docs/raw/reference/core/listScorers.mdx +2 -0
- package/.docs/raw/reference/core/listStoredAgents.mdx +153 -0
- package/.docs/raw/reference/core/listVectors.mdx +3 -1
- package/.docs/raw/reference/core/listWorkflows.mdx +3 -1
- package/.docs/raw/reference/core/mastra-class.mdx +35 -20
- package/.docs/raw/reference/core/mastra-model-gateway.mdx +2 -0
- package/.docs/raw/reference/core/setLogger.mdx +3 -1
- package/.docs/raw/reference/core/setStorage.mdx +6 -4
- package/.docs/raw/reference/deployer/cloudflare.mdx +22 -53
- package/.docs/raw/reference/deployer/deployer.mdx +2 -1
- package/.docs/raw/reference/deployer/netlify.mdx +4 -1
- package/.docs/raw/reference/deployer/vercel.mdx +5 -4
- package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -1
- package/.docs/raw/reference/evals/answer-similarity.mdx +4 -1
- package/.docs/raw/reference/evals/bias.mdx +4 -1
- package/.docs/raw/reference/evals/completeness.mdx +4 -1
- package/.docs/raw/reference/evals/content-similarity.mdx +4 -1
- package/.docs/raw/reference/evals/context-precision.mdx +4 -1
- package/.docs/raw/reference/evals/context-relevance.mdx +2 -0
- package/.docs/raw/reference/evals/create-scorer.mdx +11 -3
- package/.docs/raw/reference/evals/faithfulness.mdx +4 -1
- package/.docs/raw/reference/evals/hallucination.mdx +4 -1
- package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -1
- package/.docs/raw/reference/evals/mastra-scorer.mdx +2 -0
- package/.docs/raw/reference/evals/noise-sensitivity.mdx +2 -0
- package/.docs/raw/reference/evals/prompt-alignment.mdx +9 -7
- package/.docs/raw/reference/evals/run-evals.mdx +3 -1
- package/.docs/raw/reference/evals/scorer-utils.mdx +3 -0
- package/.docs/raw/reference/evals/textual-difference.mdx +4 -1
- package/.docs/raw/reference/evals/tone-consistency.mdx +4 -1
- package/.docs/raw/reference/evals/tool-call-accuracy.mdx +25 -23
- package/.docs/raw/reference/evals/toxicity.mdx +4 -1
- package/.docs/raw/reference/index.mdx +2 -1
- package/.docs/raw/reference/logging/pino-logger.mdx +10 -8
- package/.docs/raw/reference/memory/clone-utilities.mdx +345 -0
- package/.docs/raw/reference/memory/cloneThread.mdx +237 -0
- package/.docs/raw/reference/memory/createThread.mdx +6 -4
- package/.docs/raw/reference/memory/deleteMessages.mdx +4 -2
- package/.docs/raw/reference/memory/getThreadById.mdx +3 -1
- package/.docs/raw/reference/memory/listThreads.mdx +187 -0
- package/.docs/raw/reference/memory/memory-class.mdx +27 -20
- package/.docs/raw/reference/memory/recall.mdx +6 -4
- package/.docs/raw/reference/observability/tracing/bridges/otel.mdx +6 -2
- package/.docs/raw/reference/observability/tracing/configuration.mdx +51 -0
- package/.docs/raw/reference/observability/tracing/exporters/arize.mdx +25 -6
- package/.docs/raw/reference/observability/tracing/exporters/braintrust.mdx +23 -2
- package/.docs/raw/reference/observability/tracing/exporters/cloud-exporter.mdx +10 -0
- package/.docs/raw/reference/observability/tracing/exporters/console-exporter.mdx +3 -0
- package/.docs/raw/reference/observability/tracing/exporters/datadog.mdx +172 -0
- package/.docs/raw/reference/observability/tracing/exporters/default-exporter.mdx +10 -0
- package/.docs/raw/reference/observability/tracing/exporters/laminar.mdx +139 -0
- package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +26 -4
- package/.docs/raw/reference/observability/tracing/exporters/langsmith.mdx +10 -0
- package/.docs/raw/reference/observability/tracing/exporters/otel.mdx +51 -34
- package/.docs/raw/reference/observability/tracing/exporters/posthog.mdx +25 -4
- package/.docs/raw/reference/observability/tracing/exporters/sentry.mdx +224 -0
- package/.docs/raw/reference/observability/tracing/instances.mdx +2 -0
- package/.docs/raw/reference/observability/tracing/interfaces.mdx +20 -0
- package/.docs/raw/reference/observability/tracing/processors/sensitive-data-filter.mdx +2 -0
- package/.docs/raw/reference/observability/tracing/spans.mdx +2 -0
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +4 -2
- package/.docs/raw/reference/processors/language-detector.mdx +6 -3
- package/.docs/raw/reference/processors/message-history-processor.mdx +5 -2
- package/.docs/raw/reference/processors/moderation-processor.mdx +6 -4
- package/.docs/raw/reference/processors/pii-detector.mdx +6 -4
- package/.docs/raw/reference/processors/processor-interface.mdx +326 -23
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +5 -3
- package/.docs/raw/reference/processors/semantic-recall-processor.mdx +7 -2
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +5 -3
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +62 -19
- package/.docs/raw/reference/processors/tool-call-filter.mdx +5 -3
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +6 -3
- package/.docs/raw/reference/processors/working-memory-processor.mdx +6 -3
- package/.docs/raw/reference/rag/chunk.mdx +7 -6
- package/.docs/raw/reference/rag/database-config.mdx +8 -6
- package/.docs/raw/reference/rag/document.mdx +2 -0
- package/.docs/raw/reference/rag/embeddings.mdx +2 -0
- package/.docs/raw/reference/rag/extract-params.mdx +57 -3
- package/.docs/raw/reference/rag/graph-rag.mdx +2 -0
- package/.docs/raw/reference/rag/metadata-filters.mdx +27 -7
- package/.docs/raw/reference/rag/rerank.mdx +2 -0
- package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -0
- package/.docs/raw/reference/server/create-route.mdx +34 -18
- package/.docs/raw/reference/server/express-adapter.mdx +78 -50
- package/.docs/raw/reference/server/fastify-adapter.mdx +130 -0
- package/.docs/raw/reference/server/hono-adapter.mdx +78 -48
- package/.docs/raw/reference/server/koa-adapter.mdx +129 -0
- package/.docs/raw/reference/server/mastra-server.mdx +52 -34
- package/.docs/raw/reference/server/routes.mdx +73 -10
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +10 -5
- package/.docs/raw/reference/storage/cloudflare.mdx +12 -2
- package/.docs/raw/reference/storage/composite.mdx +245 -0
- package/.docs/raw/reference/storage/convex.mdx +8 -6
- package/.docs/raw/reference/storage/dynamodb.mdx +134 -8
- package/.docs/raw/reference/storage/lance.mdx +9 -5
- package/.docs/raw/reference/storage/libsql.mdx +76 -54
- package/.docs/raw/reference/storage/mongodb.mdx +115 -16
- package/.docs/raw/reference/storage/mssql.mdx +11 -6
- package/.docs/raw/{server-db/storage.mdx → reference/storage/overview.mdx} +15 -111
- package/.docs/raw/reference/storage/postgresql.mdx +228 -83
- package/.docs/raw/reference/storage/upstash.mdx +78 -2
- package/.docs/raw/reference/streaming/ChunkType.mdx +31 -3
- package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +67 -6
- package/.docs/raw/reference/streaming/agents/stream.mdx +48 -51
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +5 -3
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +3 -1
- package/.docs/raw/reference/streaming/workflows/resumeStream.mdx +3 -1
- package/.docs/raw/reference/streaming/workflows/stream.mdx +37 -22
- package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +6 -4
- package/.docs/raw/reference/templates/overview.mdx +3 -2
- package/.docs/raw/reference/tools/client.mdx +3 -0
- package/.docs/raw/reference/tools/create-tool.mdx +127 -5
- package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -0
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +40 -3
- package/.docs/raw/reference/tools/mcp-client.mdx +110 -1
- package/.docs/raw/reference/tools/mcp-server.mdx +278 -24
- package/.docs/raw/reference/tools/vector-query-tool.mdx +68 -4
- package/.docs/raw/reference/vectors/astra.mdx +5 -3
- package/.docs/raw/reference/vectors/chroma.mdx +5 -3
- package/.docs/raw/reference/vectors/convex.mdx +14 -12
- package/.docs/raw/reference/vectors/couchbase.mdx +7 -5
- package/.docs/raw/reference/vectors/duckdb.mdx +12 -10
- package/.docs/raw/reference/vectors/elasticsearch.mdx +12 -4
- package/.docs/raw/reference/vectors/lance.mdx +6 -4
- package/.docs/raw/reference/vectors/libsql.mdx +66 -13
- package/.docs/raw/reference/vectors/mongodb.mdx +90 -10
- package/.docs/raw/reference/vectors/opensearch.mdx +30 -3
- package/.docs/raw/reference/vectors/pg.mdx +58 -6
- package/.docs/raw/reference/vectors/pinecone.mdx +23 -8
- package/.docs/raw/reference/vectors/qdrant.mdx +148 -4
- package/.docs/raw/reference/vectors/s3vectors.mdx +8 -6
- package/.docs/raw/reference/vectors/turbopuffer.mdx +6 -4
- package/.docs/raw/reference/vectors/upstash.mdx +60 -6
- package/.docs/raw/reference/vectors/vectorize.mdx +5 -3
- package/.docs/raw/reference/voice/azure.mdx +2 -0
- package/.docs/raw/reference/voice/cloudflare.mdx +2 -0
- package/.docs/raw/reference/voice/composite-voice.mdx +4 -0
- package/.docs/raw/reference/voice/deepgram.mdx +2 -0
- package/.docs/raw/reference/voice/elevenlabs.mdx +2 -0
- package/.docs/raw/reference/voice/google-gemini-live.mdx +3 -0
- package/.docs/raw/reference/voice/google.mdx +2 -0
- package/.docs/raw/reference/voice/mastra-voice.mdx +2 -0
- package/.docs/raw/reference/voice/murf.mdx +2 -0
- package/.docs/raw/reference/voice/openai-realtime.mdx +3 -0
- package/.docs/raw/reference/voice/openai.mdx +2 -0
- package/.docs/raw/reference/voice/playai.mdx +2 -0
- package/.docs/raw/reference/voice/sarvam.mdx +2 -0
- package/.docs/raw/reference/voice/speechify.mdx +2 -0
- package/.docs/raw/reference/voice/voice.addInstructions.mdx +3 -0
- package/.docs/raw/reference/voice/voice.addTools.mdx +3 -0
- package/.docs/raw/reference/voice/voice.answer.mdx +4 -0
- package/.docs/raw/reference/voice/voice.close.mdx +3 -0
- package/.docs/raw/reference/voice/voice.connect.mdx +5 -1
- package/.docs/raw/reference/voice/voice.events.mdx +2 -0
- package/.docs/raw/reference/voice/voice.getSpeakers.mdx +3 -0
- package/.docs/raw/reference/voice/voice.listen.mdx +6 -0
- package/.docs/raw/reference/voice/voice.off.mdx +2 -0
- package/.docs/raw/reference/voice/voice.on.mdx +5 -1
- package/.docs/raw/reference/voice/voice.send.mdx +4 -0
- package/.docs/raw/reference/voice/voice.speak.mdx +6 -0
- package/.docs/raw/reference/voice/voice.updateConfig.mdx +2 -0
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +55 -5
- package/.docs/raw/reference/workflows/run-methods/restart.mdx +3 -3
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +6 -4
- package/.docs/raw/reference/workflows/run-methods/start.mdx +7 -5
- package/.docs/raw/reference/workflows/run-methods/startAsync.mdx +145 -0
- package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +10 -8
- package/.docs/raw/reference/workflows/run.mdx +11 -3
- package/.docs/raw/reference/workflows/step.mdx +56 -3
- package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +39 -2
- package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +71 -4
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +9 -7
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +4 -6
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +4 -6
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow.mdx +193 -2
- package/.docs/raw/{auth → server/auth}/auth0.mdx +40 -21
- package/.docs/raw/{auth → server/auth}/clerk.mdx +37 -16
- package/.docs/raw/{auth → server/auth}/firebase.mdx +47 -25
- package/.docs/raw/{auth → server/auth}/index.mdx +8 -6
- package/.docs/raw/{auth → server/auth}/jwt.mdx +22 -10
- package/.docs/raw/{auth → server/auth}/supabase.mdx +45 -25
- package/.docs/raw/{auth → server/auth}/workos.mdx +39 -20
- package/.docs/raw/{server-db → server}/custom-adapters.mdx +40 -24
- package/.docs/raw/{server-db → server}/custom-api-routes.mdx +6 -6
- package/.docs/raw/{server-db → server}/mastra-client.mdx +35 -38
- package/.docs/raw/server/mastra-server.mdx +86 -0
- package/.docs/raw/{server-db → server}/middleware.mdx +11 -9
- package/.docs/raw/{server-db → server}/request-context.mdx +85 -43
- package/.docs/raw/server/server-adapters.mdx +410 -0
- package/.docs/raw/streaming/events.mdx +16 -7
- package/.docs/raw/streaming/overview.mdx +30 -17
- package/.docs/raw/streaming/tool-streaming.mdx +15 -17
- package/.docs/raw/streaming/workflow-streaming.mdx +8 -8
- package/.docs/raw/tools-mcp/advanced-usage.mdx +4 -2
- package/.docs/raw/tools-mcp/mcp-overview.mdx +46 -12
- package/.docs/raw/tools-mcp/overview.mdx +14 -13
- package/.docs/raw/voice/overview.mdx +17 -2
- package/.docs/raw/voice/speech-to-speech.mdx +5 -0
- package/.docs/raw/voice/speech-to-text.mdx +4 -0
- package/.docs/raw/voice/text-to-speech.mdx +3 -0
- package/.docs/raw/workflows/agents-and-tools.mdx +70 -21
- package/.docs/raw/workflows/control-flow.mdx +369 -34
- package/.docs/raw/workflows/error-handling.mdx +192 -18
- package/.docs/raw/workflows/human-in-the-loop.mdx +8 -7
- package/.docs/raw/workflows/input-data-mapping.mdx +9 -7
- package/.docs/raw/workflows/overview.mdx +80 -34
- package/.docs/raw/workflows/snapshots.mdx +19 -45
- package/.docs/raw/workflows/suspend-and-resume.mdx +14 -14
- package/.docs/raw/workflows/time-travel.mdx +25 -21
- package/.docs/raw/workflows/workflow-state.mdx +7 -8
- package/CHANGELOG.md +254 -0
- package/README.md +36 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/logger.d.ts +3 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/stdio.js +746 -49
- package/dist/tools/course.d.ts.map +1 -1
- package/dist/tools/embedded-docs.d.ts +276 -0
- package/dist/tools/embedded-docs.d.ts.map +1 -0
- package/package.json +9 -8
- package/.docs/organized/changelogs/%40internal%2Fai-sdk-v4.md +0 -1
- package/.docs/raw/deployment/building-mastra.mdx +0 -73
- package/.docs/raw/deployment/cloud-providers/index.mdx +0 -55
- package/.docs/raw/deployment/mastra-cloud/dashboard.mdx +0 -100
- package/.docs/raw/deployment/mastra-cloud/observability.mdx +0 -53
- package/.docs/raw/deployment/mastra-cloud/overview.mdx +0 -65
- package/.docs/raw/deployment/mastra-cloud/setting-up.mdx +0 -105
- package/.docs/raw/memory/conversation-history.mdx +0 -24
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +0 -140
- package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -150
- package/.docs/raw/memory/storage/memory-with-pg.mdx +0 -138
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +0 -146
- package/.docs/raw/memory/threads-and-resources.mdx +0 -95
- package/.docs/raw/reference/core/setTelemetry.mdx +0 -36
- package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +0 -110
- package/.docs/raw/reference/memory/query.mdx +0 -189
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +0 -70
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +0 -66
- package/.docs/raw/server-db/mastra-server.mdx +0 -97
- package/.docs/raw/server-db/server-adapters.mdx +0 -286
- package/.docs/raw/workflows/inngest-workflow.mdx +0 -363
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
---
|
|
2
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
|
+
packages:
|
|
5
|
+
- "@mastra/core"
|
|
6
|
+
- "@mastra/mcp"
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# MCPServer
|
|
@@ -41,6 +44,8 @@ const server = new MCPServer({
|
|
|
41
44
|
id: "my-custom-server",
|
|
42
45
|
name: "My Custom Server",
|
|
43
46
|
version: "1.0.0",
|
|
47
|
+
description: "A server that provides weather data and agent capabilities",
|
|
48
|
+
instructions: "Use the available tools to help users with weather information and data processing tasks.",
|
|
44
49
|
tools: { weatherTool },
|
|
45
50
|
agents: { myAgent }, // this agent will become tool "ask_myAgent"
|
|
46
51
|
workflows: {
|
|
@@ -102,6 +107,13 @@ The constructor accepts an `MCPServerConfig` object with the following propertie
|
|
|
102
107
|
isOptional: true,
|
|
103
108
|
description: "Optional description of what the MCP server does.",
|
|
104
109
|
},
|
|
110
|
+
{
|
|
111
|
+
name: "instructions",
|
|
112
|
+
type: "string",
|
|
113
|
+
isOptional: true,
|
|
114
|
+
description:
|
|
115
|
+
"Optional instructions describing how to use the server and its features.",
|
|
116
|
+
},
|
|
105
117
|
{
|
|
106
118
|
name: "repository",
|
|
107
119
|
type: "Repository", // { url: string; source: string; id: string; }
|
|
@@ -1179,44 +1191,286 @@ type ElicitResult = {
|
|
|
1179
1191
|
};
|
|
1180
1192
|
```
|
|
1181
1193
|
|
|
1194
|
+
## OAuth Protection
|
|
1195
|
+
|
|
1196
|
+
To protect your MCP server with OAuth authentication per the [MCP Auth Specification](https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization), use the `createOAuthMiddleware` function:
|
|
1197
|
+
|
|
1198
|
+
```typescript
|
|
1199
|
+
import http from "node:http";
|
|
1200
|
+
import { MCPServer, createOAuthMiddleware, createStaticTokenValidator } from "@mastra/mcp";
|
|
1201
|
+
|
|
1202
|
+
const mcpServer = new MCPServer({
|
|
1203
|
+
id: "protected-server",
|
|
1204
|
+
name: "Protected MCP Server",
|
|
1205
|
+
version: "1.0.0",
|
|
1206
|
+
tools: { /* your tools */ },
|
|
1207
|
+
});
|
|
1208
|
+
|
|
1209
|
+
// Create OAuth middleware
|
|
1210
|
+
const oauthMiddleware = createOAuthMiddleware({
|
|
1211
|
+
oauth: {
|
|
1212
|
+
resource: "https://mcp.example.com/mcp",
|
|
1213
|
+
authorizationServers: ["https://auth.example.com"],
|
|
1214
|
+
scopesSupported: ["mcp:read", "mcp:write"],
|
|
1215
|
+
resourceName: "My Protected MCP Server",
|
|
1216
|
+
validateToken: createStaticTokenValidator(["allowed-token-1"]),
|
|
1217
|
+
},
|
|
1218
|
+
mcpPath: "/mcp",
|
|
1219
|
+
});
|
|
1220
|
+
|
|
1221
|
+
// Create HTTP server with OAuth protection
|
|
1222
|
+
const httpServer = http.createServer(async (req, res) => {
|
|
1223
|
+
const url = new URL(req.url || "", "https://mcp.example.com");
|
|
1224
|
+
|
|
1225
|
+
// Apply OAuth middleware first
|
|
1226
|
+
const result = await oauthMiddleware(req, res, url);
|
|
1227
|
+
if (!result.proceed) return; // Middleware handled response (401, metadata, etc.)
|
|
1228
|
+
|
|
1229
|
+
// Token is valid, proceed to MCP handler
|
|
1230
|
+
await mcpServer.startHTTP({ url, httpPath: "/mcp", req, res });
|
|
1231
|
+
});
|
|
1232
|
+
|
|
1233
|
+
httpServer.listen(3000);
|
|
1234
|
+
```
|
|
1235
|
+
|
|
1236
|
+
The middleware automatically:
|
|
1237
|
+
|
|
1238
|
+
- Serves **Protected Resource Metadata** at `/.well-known/oauth-protected-resource` (RFC 9728)
|
|
1239
|
+
- Returns `401 Unauthorized` with proper `WWW-Authenticate` headers when authentication is required
|
|
1240
|
+
- Validates bearer tokens using your provided validator
|
|
1241
|
+
|
|
1242
|
+
### Token Validation
|
|
1243
|
+
|
|
1244
|
+
For production, use proper token validation:
|
|
1245
|
+
|
|
1246
|
+
```typescript
|
|
1247
|
+
import { createOAuthMiddleware, createIntrospectionValidator } from "@mastra/mcp";
|
|
1248
|
+
|
|
1249
|
+
// Option 1: Token introspection (RFC 7662)
|
|
1250
|
+
const middleware = createOAuthMiddleware({
|
|
1251
|
+
oauth: {
|
|
1252
|
+
resource: "https://mcp.example.com/mcp",
|
|
1253
|
+
authorizationServers: ["https://auth.example.com"],
|
|
1254
|
+
validateToken: createIntrospectionValidator(
|
|
1255
|
+
"https://auth.example.com/oauth/introspect",
|
|
1256
|
+
{ clientId: "mcp-server", clientSecret: "secret" }
|
|
1257
|
+
),
|
|
1258
|
+
},
|
|
1259
|
+
});
|
|
1260
|
+
|
|
1261
|
+
// Option 2: Custom validation (JWT, database lookup, etc.)
|
|
1262
|
+
const customMiddleware = createOAuthMiddleware({
|
|
1263
|
+
oauth: {
|
|
1264
|
+
resource: "https://mcp.example.com/mcp",
|
|
1265
|
+
authorizationServers: ["https://auth.example.com"],
|
|
1266
|
+
validateToken: async (token, resource) => {
|
|
1267
|
+
const decoded = await verifyJWT(token);
|
|
1268
|
+
if (!decoded) {
|
|
1269
|
+
return { valid: false, error: "invalid_token" };
|
|
1270
|
+
}
|
|
1271
|
+
return {
|
|
1272
|
+
valid: true,
|
|
1273
|
+
scopes: decoded.scope?.split(" ") || [],
|
|
1274
|
+
subject: decoded.sub,
|
|
1275
|
+
};
|
|
1276
|
+
},
|
|
1277
|
+
},
|
|
1278
|
+
});
|
|
1279
|
+
```
|
|
1280
|
+
|
|
1281
|
+
### OAuth Middleware Options
|
|
1282
|
+
|
|
1283
|
+
<PropertiesTable
|
|
1284
|
+
content={[
|
|
1285
|
+
{
|
|
1286
|
+
name: "oauth.resource",
|
|
1287
|
+
type: "string",
|
|
1288
|
+
description: "The canonical URL of your MCP server. This is returned in Protected Resource Metadata.",
|
|
1289
|
+
},
|
|
1290
|
+
{
|
|
1291
|
+
name: "oauth.authorizationServers",
|
|
1292
|
+
type: "string[]",
|
|
1293
|
+
description: "URLs of authorization servers that can issue tokens for this resource.",
|
|
1294
|
+
},
|
|
1295
|
+
{
|
|
1296
|
+
name: "oauth.scopesSupported",
|
|
1297
|
+
type: "string[]",
|
|
1298
|
+
isOptional: true,
|
|
1299
|
+
defaultValue: "['mcp:read', 'mcp:write']",
|
|
1300
|
+
description: "Scopes supported by this MCP server.",
|
|
1301
|
+
},
|
|
1302
|
+
{
|
|
1303
|
+
name: "oauth.resourceName",
|
|
1304
|
+
type: "string",
|
|
1305
|
+
isOptional: true,
|
|
1306
|
+
description: "Human-readable name for this resource server.",
|
|
1307
|
+
},
|
|
1308
|
+
{
|
|
1309
|
+
name: "oauth.validateToken",
|
|
1310
|
+
type: "(token: string, resource: string) => Promise<TokenValidationResult>",
|
|
1311
|
+
isOptional: true,
|
|
1312
|
+
description: "Function to validate access tokens. If not provided, tokens are accepted without validation (NOT recommended for production).",
|
|
1313
|
+
},
|
|
1314
|
+
{
|
|
1315
|
+
name: "mcpPath",
|
|
1316
|
+
type: "string",
|
|
1317
|
+
isOptional: true,
|
|
1318
|
+
defaultValue: "'/mcp'",
|
|
1319
|
+
description: "Path where the MCP endpoint is served. Only requests to this path require authentication.",
|
|
1320
|
+
},
|
|
1321
|
+
]}
|
|
1322
|
+
/>
|
|
1323
|
+
|
|
1182
1324
|
## Authentication Context
|
|
1183
1325
|
|
|
1184
|
-
Tools can access request metadata via `context.mcp.extra` when using HTTP-based transports
|
|
1326
|
+
Tools can access request metadata via `context.mcp.extra` when using HTTP-based transports. This allows you to pass authentication info, user context, or any custom data from your HTTP middleware to your MCP tools.
|
|
1327
|
+
|
|
1328
|
+
### How It Works
|
|
1329
|
+
|
|
1330
|
+
Whatever you set on `req.auth` in your HTTP middleware becomes available as `context.mcp.extra.authInfo` in your tools:
|
|
1331
|
+
|
|
1332
|
+
```
|
|
1333
|
+
req.auth = { ... } → context?.mcp?.extra?.authInfo.extra = { ... }
|
|
1334
|
+
```
|
|
1335
|
+
|
|
1336
|
+
### Setting Up Authentication Middleware
|
|
1337
|
+
|
|
1338
|
+
To pass data to your tools, populate `req.auth` on the Node.js request object in your HTTP server middleware before calling `server.startHTTP()`.
|
|
1339
|
+
|
|
1340
|
+
```typescript
|
|
1341
|
+
import express from "express";
|
|
1342
|
+
|
|
1343
|
+
const app = express();
|
|
1344
|
+
|
|
1345
|
+
// Auth middleware - set req.auth before the MCP handler
|
|
1346
|
+
app.use("/mcp", (req, res, next) => {
|
|
1347
|
+
const token = req.headers.authorization?.replace("Bearer ", "");
|
|
1348
|
+
const user = verifyToken(token);
|
|
1349
|
+
|
|
1350
|
+
// This entire object becomes context.mcp.extra.authInfo
|
|
1351
|
+
// @ts-ignore - req.auth is read by the MCP SDK
|
|
1352
|
+
req.auth = {
|
|
1353
|
+
token,
|
|
1354
|
+
userId: user.userId,
|
|
1355
|
+
email: user.email,
|
|
1356
|
+
};
|
|
1357
|
+
next();
|
|
1358
|
+
});
|
|
1359
|
+
|
|
1360
|
+
app.all("/mcp", async (req, res) => {
|
|
1361
|
+
const url = new URL(req.url, `http://${req.headers.host}`);
|
|
1362
|
+
await server.startHTTP({ url, httpPath: "/mcp", req, res });
|
|
1363
|
+
});
|
|
1364
|
+
```
|
|
1365
|
+
|
|
1366
|
+
### Accessing Auth Data in Tools
|
|
1367
|
+
|
|
1368
|
+
The `req.auth` object is available as `context.mcp.extra.authInfo` in your tool's execute function:
|
|
1185
1369
|
|
|
1186
1370
|
```typescript
|
|
1187
1371
|
execute: async (inputData, context) => {
|
|
1188
|
-
|
|
1189
|
-
|
|
1372
|
+
// Access the auth data you set in middleware
|
|
1373
|
+
const authInfo = context?.mcp?.extra?.authInfo;
|
|
1374
|
+
|
|
1375
|
+
if (!authInfo?.extra?.userId) {
|
|
1376
|
+
return { error: "Authentication required" };
|
|
1190
1377
|
}
|
|
1191
1378
|
|
|
1192
|
-
// Use the auth
|
|
1379
|
+
// Use the auth data
|
|
1380
|
+
console.log("User ID:", authInfo.extra.userId);
|
|
1381
|
+
console.log("Email:", authInfo.extra.email);
|
|
1382
|
+
|
|
1193
1383
|
const response = await fetch("/api/data", {
|
|
1194
|
-
headers: { Authorization: `Bearer ${
|
|
1195
|
-
signal: context
|
|
1384
|
+
headers: { Authorization: `Bearer ${authInfo.token}` },
|
|
1385
|
+
signal: context?.mcp?.extra?.signal,
|
|
1196
1386
|
});
|
|
1197
1387
|
|
|
1198
1388
|
return response.json();
|
|
1199
1389
|
};
|
|
1200
1390
|
```
|
|
1201
1391
|
|
|
1202
|
-
The `extra`
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1392
|
+
### The `extra` Object
|
|
1393
|
+
|
|
1394
|
+
The full `context.mcp.extra` object contains:
|
|
1395
|
+
|
|
1396
|
+
| Property | Description |
|
|
1397
|
+
|----------|-------------|
|
|
1398
|
+
| `authInfo` | Whatever you set on `req.auth` in your middleware |
|
|
1399
|
+
| `sessionId` | Session identifier for the MCP connection |
|
|
1400
|
+
| `signal` | AbortSignal for request cancellation |
|
|
1401
|
+
| `sendNotification` | MCP protocol function for sending notifications |
|
|
1402
|
+
| `sendRequest` | MCP protocol function for sending requests |
|
|
1403
|
+
|
|
1404
|
+
### Complete Example
|
|
1405
|
+
|
|
1406
|
+
Here's a complete example showing the data flow from middleware to tool:
|
|
1407
|
+
|
|
1408
|
+
```typescript
|
|
1409
|
+
import express from "express";
|
|
1410
|
+
import { MCPServer } from "@mastra/mcp";
|
|
1411
|
+
import { createTool } from "@mastra/core/tools";
|
|
1412
|
+
import { z } from "zod";
|
|
1413
|
+
|
|
1414
|
+
const verifyToken = (token: string) => {
|
|
1415
|
+
// TODO: Implement token verification
|
|
1416
|
+
return {
|
|
1417
|
+
userId: "123",
|
|
1418
|
+
email: "test@test.com",
|
|
1419
|
+
};
|
|
1420
|
+
};
|
|
1421
|
+
|
|
1422
|
+
// 1. Define your tool that uses auth context
|
|
1423
|
+
const getUserData = createTool({
|
|
1424
|
+
id: "get-user-data",
|
|
1425
|
+
description: "Fetches data for the authenticated user",
|
|
1426
|
+
inputSchema: z.object({}),
|
|
1427
|
+
execute: async (inputData, context) => {
|
|
1428
|
+
const authInfo = context?.mcp?.extra?.authInfo;
|
|
1429
|
+
|
|
1430
|
+
if (!authInfo?.extra?.userId) {
|
|
1431
|
+
return { error: "Authentication required" };
|
|
1432
|
+
}
|
|
1433
|
+
|
|
1434
|
+
// Access the data you set in middleware
|
|
1435
|
+
return {
|
|
1436
|
+
userId: authInfo.extra.userId,
|
|
1437
|
+
email: authInfo.extra.email,
|
|
1438
|
+
};
|
|
1439
|
+
},
|
|
1440
|
+
});
|
|
1441
|
+
|
|
1442
|
+
// 2. Create the MCP server with your tools
|
|
1443
|
+
const server = new MCPServer({
|
|
1444
|
+
id: "my-server",
|
|
1445
|
+
name: "My Server",
|
|
1446
|
+
version: "1.0.0",
|
|
1447
|
+
tools: { getUserData },
|
|
1448
|
+
});
|
|
1449
|
+
|
|
1450
|
+
// 3. Set up Express with auth middleware
|
|
1451
|
+
const app = express();
|
|
1452
|
+
|
|
1453
|
+
app.use("/mcp", (req, res, next) => {
|
|
1454
|
+
const token = req.headers.authorization?.replace("Bearer ", "");
|
|
1455
|
+
const user = verifyToken(token);
|
|
1456
|
+
|
|
1457
|
+
// This entire object becomes context.mcp.extra.authInfo
|
|
1458
|
+
// @ts-ignore - req.auth is read by the MCP SDK
|
|
1459
|
+
req.auth = {
|
|
1460
|
+
token,
|
|
1461
|
+
userId: user.userId,
|
|
1462
|
+
email: user.email,
|
|
1463
|
+
};
|
|
1464
|
+
next();
|
|
1465
|
+
});
|
|
1466
|
+
|
|
1467
|
+
app.all("/mcp", async (req, res) => {
|
|
1468
|
+
const url = new URL(req.url, `http://${req.headers.host}`);
|
|
1469
|
+
await server.startHTTP({ url, httpPath: "/mcp", req, res });
|
|
1470
|
+
});
|
|
1471
|
+
|
|
1472
|
+
app.listen(3000);
|
|
1473
|
+
```
|
|
1220
1474
|
|
|
1221
1475
|
## Related Information
|
|
1222
1476
|
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
---
|
|
2
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
|
+
packages:
|
|
5
|
+
- "@mastra/core"
|
|
6
|
+
- "@mastra/pg"
|
|
7
|
+
- "@mastra/rag"
|
|
4
8
|
---
|
|
5
9
|
|
|
6
10
|
import Tabs from "@theme/Tabs";
|
|
@@ -117,6 +121,13 @@ time.
|
|
|
117
121
|
"Provider-specific options for the embedding model (e.g., outputDimensionality). **Important**: Only works with AI SDK EmbeddingModelV2 models. For V1 models, configure options when creating the model itself.",
|
|
118
122
|
isOptional: true,
|
|
119
123
|
},
|
|
124
|
+
{
|
|
125
|
+
name: "vectorStore",
|
|
126
|
+
type: "MastraVector | VectorStoreResolver",
|
|
127
|
+
description:
|
|
128
|
+
"Direct vector store instance or a resolver function for dynamic selection. Use a function for multi-tenant applications where the vector store is selected based on request context. When provided, `vectorStoreName` becomes optional.",
|
|
129
|
+
isOptional: true,
|
|
130
|
+
},
|
|
120
131
|
]}
|
|
121
132
|
/>
|
|
122
133
|
|
|
@@ -326,7 +337,7 @@ This agent-driven approach:
|
|
|
326
337
|
|
|
327
338
|
For detailed filter syntax and store-specific capabilities, see the [Metadata Filters](../rag/metadata-filters) documentation.
|
|
328
339
|
|
|
329
|
-
For an example of how agent-driven filtering works, see the [Agent-Driven Metadata Filtering](/examples/
|
|
340
|
+
For an example of how agent-driven filtering works, see the [Agent-Driven Metadata Filtering](https://github.com/mastra-ai/mastra/tree/main/examples/basics/rag/filter-rag) example.
|
|
330
341
|
|
|
331
342
|
## Example with Reranking
|
|
332
343
|
|
|
@@ -567,14 +578,14 @@ const response = await agent.generate(
|
|
|
567
578
|
|
|
568
579
|
For more information on request context, please see:
|
|
569
580
|
|
|
570
|
-
- [Agent Request Context](/docs/v1/server
|
|
571
|
-
- [Request Context](/docs/v1/server
|
|
581
|
+
- [Agent Request Context](/docs/v1/server/request-context)
|
|
582
|
+
- [Request Context](/docs/v1/server/request-context#accessing-values-with-tools)
|
|
572
583
|
|
|
573
584
|
## Usage Without a Mastra Server
|
|
574
585
|
|
|
575
586
|
The tool can be used by itself to retrieve documents matching a query:
|
|
576
587
|
|
|
577
|
-
```typescript
|
|
588
|
+
```typescript title="src/index.ts"
|
|
578
589
|
import { RequestContext } from "@mastra/core/request-context";
|
|
579
590
|
import { createVectorQueryTool } from "@mastra/rag";
|
|
580
591
|
import { PgVector } from "@mastra/pg";
|
|
@@ -600,6 +611,59 @@ const queryResult = await vectorQueryTool.execute(
|
|
|
600
611
|
console.log(queryResult.sources);
|
|
601
612
|
```
|
|
602
613
|
|
|
614
|
+
## Dynamic Vector Store for Multi-Tenant Applications
|
|
615
|
+
|
|
616
|
+
For multi-tenant applications where each tenant has isolated data (e.g., separate PostgreSQL schemas), you can pass a resolver function instead of a static vector store instance. The function receives the request context and can return the appropriate vector store for the current tenant:
|
|
617
|
+
|
|
618
|
+
```typescript title="src/index.ts"
|
|
619
|
+
import { createVectorQueryTool, VectorStoreResolver } from "@mastra/rag";
|
|
620
|
+
import { PgVector } from "@mastra/pg";
|
|
621
|
+
|
|
622
|
+
// Cache for tenant-specific vector stores
|
|
623
|
+
const vectorStoreCache = new Map<string, PgVector>();
|
|
624
|
+
|
|
625
|
+
// Resolver function that returns the correct vector store based on tenant
|
|
626
|
+
const vectorStoreResolver: VectorStoreResolver = async ({ requestContext }) => {
|
|
627
|
+
const tenantId = requestContext?.get("tenantId");
|
|
628
|
+
|
|
629
|
+
if (!tenantId) {
|
|
630
|
+
throw new Error("tenantId is required in request context");
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
// Return cached instance or create new one
|
|
634
|
+
if (!vectorStoreCache.has(tenantId)) {
|
|
635
|
+
vectorStoreCache.set(tenantId, new PgVector({
|
|
636
|
+
id: `pg-vector-${tenantId}`,
|
|
637
|
+
connectionString: process.env.POSTGRES_CONNECTION_STRING!,
|
|
638
|
+
schemaName: `tenant_${tenantId}`, // Each tenant has their own schema
|
|
639
|
+
}));
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
return vectorStoreCache.get(tenantId)!;
|
|
643
|
+
};
|
|
644
|
+
|
|
645
|
+
const vectorQueryTool = createVectorQueryTool({
|
|
646
|
+
indexName: "embeddings",
|
|
647
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
648
|
+
vectorStore: vectorStoreResolver, // Dynamic resolution!
|
|
649
|
+
});
|
|
650
|
+
|
|
651
|
+
// Usage with tenant context
|
|
652
|
+
const requestContext = new RequestContext();
|
|
653
|
+
requestContext.set("tenantId", "acme-corp");
|
|
654
|
+
|
|
655
|
+
const result = await vectorQueryTool.execute(
|
|
656
|
+
{ queryText: "company policies", topK: 5 },
|
|
657
|
+
{ requestContext }
|
|
658
|
+
);
|
|
659
|
+
```
|
|
660
|
+
|
|
661
|
+
This pattern is similar to how `Agent.memory` supports dynamic configuration and enables:
|
|
662
|
+
|
|
663
|
+
- **Schema isolation**: Each tenant's data in separate PostgreSQL schemas
|
|
664
|
+
- **Database isolation**: Route to different database instances per tenant
|
|
665
|
+
- **Dynamic configuration**: Adjust vector store settings based on request context
|
|
666
|
+
|
|
603
667
|
## Tool Details
|
|
604
668
|
|
|
605
669
|
The tool is created with:
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
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
|
+
packages:
|
|
5
|
+
- "@mastra/astra"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
8
|
# Astra Vector Store
|
|
@@ -142,7 +144,7 @@ Returns an array of index names as strings.
|
|
|
142
144
|
|
|
143
145
|
Returns:
|
|
144
146
|
|
|
145
|
-
```typescript
|
|
147
|
+
```typescript
|
|
146
148
|
interface IndexStats {
|
|
147
149
|
dimension: number;
|
|
148
150
|
count: number;
|
|
@@ -219,7 +221,7 @@ interface IndexStats {
|
|
|
219
221
|
|
|
220
222
|
Query results are returned in this format:
|
|
221
223
|
|
|
222
|
-
```typescript
|
|
224
|
+
```typescript
|
|
223
225
|
interface QueryResult {
|
|
224
226
|
id: string;
|
|
225
227
|
score: number;
|
|
@@ -232,7 +234,7 @@ interface QueryResult {
|
|
|
232
234
|
|
|
233
235
|
The store throws typed errors that can be caught:
|
|
234
236
|
|
|
235
|
-
```typescript
|
|
237
|
+
```typescript
|
|
236
238
|
try {
|
|
237
239
|
await store.query({
|
|
238
240
|
indexName: "index_name",
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Reference: Chroma Vector Store | Vectors"
|
|
3
3
|
description: Documentation for the ChromaVector class in Mastra, which provides vector search using ChromaDB.
|
|
4
|
+
packages:
|
|
5
|
+
- "@mastra/chroma"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
8
|
# Chroma Vector Store
|
|
@@ -313,7 +315,7 @@ Returns an array of index names as strings.
|
|
|
313
315
|
|
|
314
316
|
Returns:
|
|
315
317
|
|
|
316
|
-
```typescript
|
|
318
|
+
```typescript
|
|
317
319
|
interface IndexStats {
|
|
318
320
|
dimension: number;
|
|
319
321
|
count: number;
|
|
@@ -475,7 +477,7 @@ await vectorStore.deleteVectors({
|
|
|
475
477
|
|
|
476
478
|
Query results are returned in this format:
|
|
477
479
|
|
|
478
|
-
```typescript
|
|
480
|
+
```typescript
|
|
479
481
|
interface QueryResult {
|
|
480
482
|
id: string;
|
|
481
483
|
score: number;
|
|
@@ -489,7 +491,7 @@ interface QueryResult {
|
|
|
489
491
|
|
|
490
492
|
The store throws typed errors that can be caught:
|
|
491
493
|
|
|
492
|
-
```typescript
|
|
494
|
+
```typescript
|
|
493
495
|
try {
|
|
494
496
|
await store.query({
|
|
495
497
|
indexName: "index_name",
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Reference: Convex Vector Store | Vectors"
|
|
3
3
|
description: Documentation for the ConvexVector class in Mastra, which provides vector search using Convex.
|
|
4
|
+
packages:
|
|
5
|
+
- "@mastra/convex"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
8
|
# Convex Vector Store
|
|
@@ -9,7 +11,7 @@ The ConvexVector class provides vector storage and similarity search using [Conv
|
|
|
9
11
|
|
|
10
12
|
## Installation
|
|
11
13
|
|
|
12
|
-
```bash
|
|
14
|
+
```bash
|
|
13
15
|
npm install @mastra/convex@beta
|
|
14
16
|
```
|
|
15
17
|
|
|
@@ -94,7 +96,7 @@ const vectorStore = new ConvexVector({
|
|
|
94
96
|
]}
|
|
95
97
|
/>
|
|
96
98
|
|
|
97
|
-
```typescript
|
|
99
|
+
```typescript
|
|
98
100
|
await vectorStore.createIndex({
|
|
99
101
|
indexName: "my_vectors",
|
|
100
102
|
dimension: 1536,
|
|
@@ -130,7 +132,7 @@ await vectorStore.createIndex({
|
|
|
130
132
|
]}
|
|
131
133
|
/>
|
|
132
134
|
|
|
133
|
-
```typescript
|
|
135
|
+
```typescript
|
|
134
136
|
await vectorStore.upsert({
|
|
135
137
|
indexName: "my_vectors",
|
|
136
138
|
vectors: [[0.1, 0.2, 0.3, ...]],
|
|
@@ -176,7 +178,7 @@ await vectorStore.upsert({
|
|
|
176
178
|
]}
|
|
177
179
|
/>
|
|
178
180
|
|
|
179
|
-
```typescript
|
|
181
|
+
```typescript
|
|
180
182
|
const results = await vectorStore.query({
|
|
181
183
|
indexName: "my_vectors",
|
|
182
184
|
queryVector: [0.1, 0.2, 0.3, ...],
|
|
@@ -189,7 +191,7 @@ const results = await vectorStore.query({
|
|
|
189
191
|
|
|
190
192
|
Returns an array of index names as strings.
|
|
191
193
|
|
|
192
|
-
```typescript
|
|
194
|
+
```typescript
|
|
193
195
|
const indexes = await vectorStore.listIndexes();
|
|
194
196
|
// ["my_vectors", "embeddings", ...]
|
|
195
197
|
```
|
|
@@ -208,7 +210,7 @@ const indexes = await vectorStore.listIndexes();
|
|
|
208
210
|
|
|
209
211
|
Returns:
|
|
210
212
|
|
|
211
|
-
```typescript
|
|
213
|
+
```typescript
|
|
212
214
|
interface IndexStats {
|
|
213
215
|
dimension: number;
|
|
214
216
|
count: number;
|
|
@@ -230,7 +232,7 @@ interface IndexStats {
|
|
|
230
232
|
|
|
231
233
|
Deletes the index and all its vectors.
|
|
232
234
|
|
|
233
|
-
```typescript
|
|
235
|
+
```typescript
|
|
234
236
|
await vectorStore.deleteIndex({ indexName: "my_vectors" });
|
|
235
237
|
```
|
|
236
238
|
|
|
@@ -265,7 +267,7 @@ Update a single vector by ID or by metadata filter. Either `id` or `filter` must
|
|
|
265
267
|
]}
|
|
266
268
|
/>
|
|
267
269
|
|
|
268
|
-
```typescript
|
|
270
|
+
```typescript
|
|
269
271
|
// Update by ID
|
|
270
272
|
await vectorStore.updateVector({
|
|
271
273
|
indexName: "my_vectors",
|
|
@@ -303,7 +305,7 @@ await vectorStore.updateVector({
|
|
|
303
305
|
]}
|
|
304
306
|
/>
|
|
305
307
|
|
|
306
|
-
```typescript
|
|
308
|
+
```typescript
|
|
307
309
|
await vectorStore.deleteVector({ indexName: "my_vectors", id: "vector123" });
|
|
308
310
|
```
|
|
309
311
|
|
|
@@ -333,7 +335,7 @@ Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` m
|
|
|
333
335
|
]}
|
|
334
336
|
/>
|
|
335
337
|
|
|
336
|
-
```typescript
|
|
338
|
+
```typescript
|
|
337
339
|
// Delete by IDs
|
|
338
340
|
await vectorStore.deleteVectors({
|
|
339
341
|
indexName: "my_vectors",
|
|
@@ -351,7 +353,7 @@ await vectorStore.deleteVectors({
|
|
|
351
353
|
|
|
352
354
|
Query results are returned in this format:
|
|
353
355
|
|
|
354
|
-
```typescript
|
|
356
|
+
```typescript
|
|
355
357
|
interface QueryResult {
|
|
356
358
|
id: string;
|
|
357
359
|
score: number;
|
|
@@ -364,7 +366,7 @@ interface QueryResult {
|
|
|
364
366
|
|
|
365
367
|
ConvexVector supports metadata filtering with various operators:
|
|
366
368
|
|
|
367
|
-
```typescript
|
|
369
|
+
```typescript
|
|
368
370
|
// Simple equality
|
|
369
371
|
const results = await vectorStore.query({
|
|
370
372
|
indexName: "my_vectors",
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Reference: Couchbase Vector Store | Vectors"
|
|
3
3
|
description: Documentation for the CouchbaseVector class in Mastra, which provides vector search using Couchbase Vector Search.
|
|
4
|
+
packages:
|
|
5
|
+
- "@mastra/couchbase"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
8
|
# Couchbase Vector Store
|
|
@@ -14,13 +16,13 @@ The `CouchbaseVector` class provides vector search using [Couchbase Vector Searc
|
|
|
14
16
|
|
|
15
17
|
## Installation
|
|
16
18
|
|
|
17
|
-
```bash
|
|
19
|
+
```bash
|
|
18
20
|
npm install @mastra/couchbase@beta
|
|
19
21
|
```
|
|
20
22
|
|
|
21
23
|
## Usage Example
|
|
22
24
|
|
|
23
|
-
```typescript
|
|
25
|
+
```typescript
|
|
24
26
|
import { CouchbaseVector } from "@mastra/couchbase";
|
|
25
27
|
|
|
26
28
|
const store = new CouchbaseVector({
|
|
@@ -209,7 +211,7 @@ Returns information about the index.
|
|
|
209
211
|
|
|
210
212
|
Returns:
|
|
211
213
|
|
|
212
|
-
```typescript
|
|
214
|
+
```typescript
|
|
213
215
|
interface IndexStats {
|
|
214
216
|
dimension: number;
|
|
215
217
|
count: number;
|
|
@@ -307,7 +309,7 @@ Closes the Couchbase client connection. Should be called when done using the sto
|
|
|
307
309
|
|
|
308
310
|
Query results are returned in this format:
|
|
309
311
|
|
|
310
|
-
```typescript
|
|
312
|
+
```typescript
|
|
311
313
|
interface QueryResult {
|
|
312
314
|
id: string;
|
|
313
315
|
score: number;
|
|
@@ -320,7 +322,7 @@ interface QueryResult {
|
|
|
320
322
|
|
|
321
323
|
The store throws typed errors that can be caught:
|
|
322
324
|
|
|
323
|
-
```typescript
|
|
325
|
+
```typescript
|
|
324
326
|
try {
|
|
325
327
|
await store.query({
|
|
326
328
|
indexName: "my_index",
|