@mastra/mcp-docs-server 1.0.0-beta.9 → 1.0.1
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 +3 -1
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +3 -1
- package/.docs/organized/changelogs/%40internal%2Fplayground.md +60 -0
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +15 -15
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +3 -1
- package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +287 -287
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +302 -302
- 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 +239 -239
- 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 +202 -0
- package/.docs/organized/changelogs/%40mastra%2Fconvex.md +448 -22
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +348 -348
- package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +60 -60
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +287 -287
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +106 -106
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +90 -90
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +86 -86
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +221 -221
- 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 +625 -229
- package/.docs/organized/changelogs/%40mastra%2Floggers.md +71 -71
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +245 -245
- package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +28 -28
- package/.docs/organized/changelogs/%40mastra%2Fmcp.md +281 -281
- 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 +781 -235
- package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +198 -198
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +282 -282
- 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 -237
- 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 +230 -230
- 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 +219 -219
- package/.docs/organized/changelogs/mastra.md +276 -276
- 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 +2 -2
- 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/quick-start.md +1 -5
- package/.docs/organized/code-examples/server-app-access.md +2 -2
- 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 +2 -2
- 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 +6 -35
- package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +23 -33
- 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/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 +77 -35
- 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 +4 -2
- package/.docs/raw/reference/client-js/memory.mdx +43 -1
- 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 +7 -3
- 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 +6 -4
- 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 +8 -4
- package/.docs/raw/reference/core/listScorers.mdx +2 -0
- package/.docs/raw/reference/core/listStoredAgents.mdx +7 -5
- 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 +27 -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 +27 -51
- package/.docs/raw/reference/server/fastify-adapter.mdx +130 -0
- package/.docs/raw/reference/server/hono-adapter.mdx +27 -51
- 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-db → server}/server-adapters.mdx +154 -33
- package/.docs/raw/streaming/events.mdx +16 -7
- package/.docs/raw/streaming/overview.mdx +30 -17
- package/.docs/raw/streaming/tool-streaming.mdx +8 -6
- 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 +260 -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/workflows/inngest-workflow.mdx +0 -363
|
@@ -0,0 +1,761 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Reference: Configuration"
|
|
3
|
+
description: "Reference documentation on Mastra's configuration options"
|
|
4
|
+
packages:
|
|
5
|
+
- "@mastra/core"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Configuration
|
|
9
|
+
|
|
10
|
+
The following reference covers all supported options in Mastra. You initialize and configure Mastra by instantiating the [`Mastra` class](/reference/v1/core/mastra-class).
|
|
11
|
+
|
|
12
|
+
```ts title="src/mastra/index.ts"
|
|
13
|
+
import { Mastra } from "@mastra/core";
|
|
14
|
+
|
|
15
|
+
export const mastra = new Mastra({
|
|
16
|
+
// Your options...
|
|
17
|
+
});
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Top-level options
|
|
21
|
+
|
|
22
|
+
### agents
|
|
23
|
+
|
|
24
|
+
**Type:** `Record<string, Agent>`
|
|
25
|
+
|
|
26
|
+
A record of agent instances keyed by their names. Agents are autonomous systems that can make decisions and take actions using AI models, tools, and memory.
|
|
27
|
+
|
|
28
|
+
Visit the [Agents documentation](/docs/v1/agents/overview) to learn more.
|
|
29
|
+
|
|
30
|
+
```typescript title="src/mastra/index.ts"
|
|
31
|
+
import { Mastra } from "@mastra/core";
|
|
32
|
+
import { Agent } from "@mastra/core/agent";
|
|
33
|
+
|
|
34
|
+
export const mastra = new Mastra({
|
|
35
|
+
agents: {
|
|
36
|
+
weatherAgent: new Agent({
|
|
37
|
+
id: "weather-agent",
|
|
38
|
+
name: "Weather Agent",
|
|
39
|
+
instructions: "You help with weather information",
|
|
40
|
+
model: "openai/gpt-4o",
|
|
41
|
+
}),
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### deployer
|
|
47
|
+
|
|
48
|
+
**Type:** `MastraDeployer`
|
|
49
|
+
|
|
50
|
+
Deployment provider for publishing applications to cloud platforms.
|
|
51
|
+
|
|
52
|
+
Visit the [Deployment documentation](/docs/v1/deployment/overview) to learn more.
|
|
53
|
+
|
|
54
|
+
```typescript title="src/mastra/index.ts"
|
|
55
|
+
import { Mastra } from "@mastra/core";
|
|
56
|
+
import { NetlifyDeployer } from "@mastra/deployer-netlify";
|
|
57
|
+
|
|
58
|
+
export const mastra = new Mastra({
|
|
59
|
+
deployer: new NetlifyDeployer({
|
|
60
|
+
scope: "your-team",
|
|
61
|
+
siteId: "your-site-id",
|
|
62
|
+
}),
|
|
63
|
+
});
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### events
|
|
67
|
+
|
|
68
|
+
**Type:** `Record<string, EventHandler | EventHandler[]>`
|
|
69
|
+
|
|
70
|
+
Event handlers for the internal pub/sub system. Maps event topics to handler functions that are called when events are published to those topics.
|
|
71
|
+
|
|
72
|
+
:::warning
|
|
73
|
+
This is used internally by Mastra's workflow engine. Most users will not need to configure this option.
|
|
74
|
+
:::
|
|
75
|
+
|
|
76
|
+
```typescript title="src/mastra/index.ts"
|
|
77
|
+
import { Mastra } from "@mastra/core";
|
|
78
|
+
|
|
79
|
+
export const mastra = new Mastra({
|
|
80
|
+
events: {
|
|
81
|
+
"my-topic": async (event) => {
|
|
82
|
+
console.log("Event received:", event);
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### gateways
|
|
89
|
+
|
|
90
|
+
**Type:** `Record<string, MastraModelGateway>`
|
|
91
|
+
|
|
92
|
+
Custom model router gateways for accessing LLM providers. Gateways handle provider-specific authentication, URL construction, and model resolution. Use this to add support for custom or self-hosted LLM providers.
|
|
93
|
+
|
|
94
|
+
Visit the [Custom Gateways documentation](/models/v1/gateways/custom-gateways) to learn more.
|
|
95
|
+
|
|
96
|
+
```typescript title="src/mastra/index.ts"
|
|
97
|
+
import { Mastra } from "@mastra/core";
|
|
98
|
+
import { MyPrivateGateway } from "./gateways";
|
|
99
|
+
|
|
100
|
+
export const mastra = new Mastra({
|
|
101
|
+
gateways: {
|
|
102
|
+
private: new MyPrivateGateway(),
|
|
103
|
+
},
|
|
104
|
+
});
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### idGenerator
|
|
108
|
+
|
|
109
|
+
**Type:** `() => string`
|
|
110
|
+
**Default:** `crypto.randomUUID()`
|
|
111
|
+
|
|
112
|
+
Custom ID generator function for creating unique identifiers.
|
|
113
|
+
|
|
114
|
+
:::warning
|
|
115
|
+
|
|
116
|
+
This is used internally by Mastra for creating IDs for workflow runs, agent conversations, and other resources. Most users will not need to configure this option.
|
|
117
|
+
|
|
118
|
+
:::
|
|
119
|
+
|
|
120
|
+
```typescript title="src/mastra/index.ts"
|
|
121
|
+
import { Mastra } from "@mastra/core";
|
|
122
|
+
import { nanoid } from "nanoid";
|
|
123
|
+
|
|
124
|
+
export const mastra = new Mastra({
|
|
125
|
+
idGenerator: () => nanoid(),
|
|
126
|
+
});
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### logger
|
|
130
|
+
|
|
131
|
+
**Type:** `IMastraLogger | false`
|
|
132
|
+
**Default:** `ConsoleLogger` with `INFO` level in development, `WARN` in production
|
|
133
|
+
|
|
134
|
+
Logger implementation for application logging and debugging. Set to `false` to disable logging entirely.
|
|
135
|
+
|
|
136
|
+
Visit the [Logging documentation](/docs/v1/observability/logging) to learn more.
|
|
137
|
+
|
|
138
|
+
```typescript title="src/mastra/index.ts"
|
|
139
|
+
import { Mastra } from "@mastra/core";
|
|
140
|
+
import { PinoLogger } from "@mastra/loggers";
|
|
141
|
+
|
|
142
|
+
export const mastra = new Mastra({
|
|
143
|
+
logger: new PinoLogger({ name: "MyApp", level: "debug" }),
|
|
144
|
+
});
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### mcpServers
|
|
148
|
+
|
|
149
|
+
**Type:** `Record<string, MCPServerBase>`
|
|
150
|
+
|
|
151
|
+
MCP (Model Context Protocol) servers that expose Mastra tools, agents, workflows, and resources to MCP-compatible clients. Use this to author your own MCP servers that can be consumed by any system that supports the protocol.
|
|
152
|
+
|
|
153
|
+
Visit the [MCP Overview](/docs/v1/tools-mcp/mcp-overview) to learn more.
|
|
154
|
+
|
|
155
|
+
```typescript title="src/mastra/index.ts"
|
|
156
|
+
import { Mastra } from "@mastra/core";
|
|
157
|
+
import { MCPServer } from "@mastra/mcp";
|
|
158
|
+
|
|
159
|
+
const mcpServer = new MCPServer({
|
|
160
|
+
id: "my-mcp-server",
|
|
161
|
+
name: "My MCP Server",
|
|
162
|
+
version: "1.0.0",
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
export const mastra = new Mastra({
|
|
166
|
+
mcpServers: {
|
|
167
|
+
myServer: mcpServer,
|
|
168
|
+
},
|
|
169
|
+
});
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### memory
|
|
173
|
+
|
|
174
|
+
**Type:** `Record<string, MastraMemory>`
|
|
175
|
+
|
|
176
|
+
A registry of memory instances that can be referenced by agents. Memory gives agents coherence across interactions by retaining relevant information from past conversations. Mastra supports three types of memory: message history for recent messages, working memory for persistent user-specific details, and semantic recall for retrieving older messages based on relevance.
|
|
177
|
+
|
|
178
|
+
Visit the [Memory documentation](/docs/v1/memory/overview) to learn more.
|
|
179
|
+
|
|
180
|
+
:::note
|
|
181
|
+
|
|
182
|
+
Most users configure memory directly on agents. This top-level configuration is for defining reusable memory instances that can be shared across multiple agents.
|
|
183
|
+
|
|
184
|
+
:::
|
|
185
|
+
|
|
186
|
+
```typescript title="src/mastra/index.ts"
|
|
187
|
+
import { Mastra } from "@mastra/core";
|
|
188
|
+
import { Memory } from "@mastra/memory";
|
|
189
|
+
import { LibSQLStore } from "@mastra/libsql";
|
|
190
|
+
|
|
191
|
+
export const mastra = new Mastra({
|
|
192
|
+
storage: new LibSQLStore({
|
|
193
|
+
id: "mastra-storage",
|
|
194
|
+
url: ":memory:",
|
|
195
|
+
}),
|
|
196
|
+
memory: {
|
|
197
|
+
chatMemory: new Memory({
|
|
198
|
+
options: {
|
|
199
|
+
lastMessages: 20,
|
|
200
|
+
},
|
|
201
|
+
}),
|
|
202
|
+
},
|
|
203
|
+
});
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### observability
|
|
207
|
+
|
|
208
|
+
**Type:** `ObservabilityEntrypoint`
|
|
209
|
+
|
|
210
|
+
Mastra provides observability features for AI applications. Monitor LLM operations, trace agent decisions, and debug complex workflows with tools that understand AI-specific patterns. Tracing captures model interactions, agent execution paths, tool calls, and workflow steps.
|
|
211
|
+
|
|
212
|
+
Visit the [Observability documentation](/docs/v1/observability/overview) to learn more.
|
|
213
|
+
|
|
214
|
+
```typescript title="src/mastra/index.ts"
|
|
215
|
+
import { Mastra } from "@mastra/core";
|
|
216
|
+
import { LibSQLStore } from "@mastra/libsql";
|
|
217
|
+
import { Observability, DefaultExporter } from "@mastra/observability";
|
|
218
|
+
|
|
219
|
+
export const mastra = new Mastra({
|
|
220
|
+
storage: new LibSQLStore({
|
|
221
|
+
id: "mastra-storage",
|
|
222
|
+
url: "file:./mastra.db",
|
|
223
|
+
}),
|
|
224
|
+
observability: new Observability({
|
|
225
|
+
configs: {
|
|
226
|
+
default: {
|
|
227
|
+
serviceName: "my-app",
|
|
228
|
+
exporters: [new DefaultExporter()],
|
|
229
|
+
},
|
|
230
|
+
},
|
|
231
|
+
}),
|
|
232
|
+
});
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### processors
|
|
236
|
+
|
|
237
|
+
**Type:** `Record<string, Processor>`
|
|
238
|
+
|
|
239
|
+
Input/output processors for transforming agent inputs and outputs. Processors run at specific points in the agent's execution pipeline, allowing you to modify inputs before they reach the language model or outputs before they're returned. Use processors to add guardrails, detect prompt injection, moderate content, or apply custom business logic.
|
|
240
|
+
|
|
241
|
+
Visit the [Processors documentation](/docs/v1/agents/processors) to learn more.
|
|
242
|
+
|
|
243
|
+
:::note
|
|
244
|
+
|
|
245
|
+
Most users configure processors directly on agents. This top-level configuration is for defining reusable processor instances that can be shared across multiple agents.
|
|
246
|
+
|
|
247
|
+
:::
|
|
248
|
+
|
|
249
|
+
```typescript title="src/mastra/index.ts"
|
|
250
|
+
import { Mastra } from "@mastra/core";
|
|
251
|
+
import { ModerationProcessor } from "@mastra/core/processors";
|
|
252
|
+
|
|
253
|
+
export const mastra = new Mastra({
|
|
254
|
+
processors: {
|
|
255
|
+
moderation: new ModerationProcessor({
|
|
256
|
+
model: "openai/gpt-4.1-nano",
|
|
257
|
+
categories: ["hate", "harassment", "violence"],
|
|
258
|
+
}),
|
|
259
|
+
},
|
|
260
|
+
});
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### pubsub
|
|
264
|
+
|
|
265
|
+
**Type:** `PubSub`
|
|
266
|
+
**Default:** `EventEmitterPubSub`
|
|
267
|
+
|
|
268
|
+
Pub/sub system for event-driven communication between components. Used internally by Mastra for workflow event processing and component communication.
|
|
269
|
+
|
|
270
|
+
:::warning
|
|
271
|
+
This is used internally by Mastra. Most users will not need to configure this option.
|
|
272
|
+
:::
|
|
273
|
+
|
|
274
|
+
```typescript title="src/mastra/index.ts"
|
|
275
|
+
import { Mastra } from "@mastra/core";
|
|
276
|
+
import { CustomPubSub } from "./pubsub";
|
|
277
|
+
|
|
278
|
+
export const mastra = new Mastra({
|
|
279
|
+
pubsub: new CustomPubSub(),
|
|
280
|
+
});
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
### scorers
|
|
284
|
+
|
|
285
|
+
**Type:** `Record<string, Scorer>`
|
|
286
|
+
|
|
287
|
+
Scorers assess the quality of agent responses and workflow outputs. They provide quantifiable metrics for measuring agent quality using model-graded, rule-based, and statistical methods. Use scorers to track performance, compare approaches, and identify areas for improvement.
|
|
288
|
+
|
|
289
|
+
Visit the [Scorers documentation](/docs/v1/evals/overview) to learn more.
|
|
290
|
+
|
|
291
|
+
:::note
|
|
292
|
+
|
|
293
|
+
Most users configure scorers directly on agents. This top-level configuration is for defining reusable scorer instances that can be shared across multiple agents.
|
|
294
|
+
|
|
295
|
+
:::
|
|
296
|
+
|
|
297
|
+
```typescript title="src/mastra/index.ts"
|
|
298
|
+
import { Mastra } from "@mastra/core";
|
|
299
|
+
import { createToxicityScorer } from "@mastra/evals/scorers/prebuilt";
|
|
300
|
+
|
|
301
|
+
export const mastra = new Mastra({
|
|
302
|
+
scorers: {
|
|
303
|
+
toxicity: createToxicityScorer({ model: "openai/gpt-4.1-nano" }),
|
|
304
|
+
},
|
|
305
|
+
});
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
### storage
|
|
309
|
+
|
|
310
|
+
**Type:** `MastraCompositeStore`
|
|
311
|
+
|
|
312
|
+
Storage provider for persisting application data. Used by memory, workflows, traces, and other components that require persistence. Mastra supports multiple database backends including PostgreSQL, MongoDB, libSQL, and more.
|
|
313
|
+
|
|
314
|
+
Visit the [Storage documentation](/docs/v1/memory/storage) to learn more.
|
|
315
|
+
|
|
316
|
+
```typescript title="src/mastra/index.ts"
|
|
317
|
+
import { Mastra } from "@mastra/core";
|
|
318
|
+
import { LibSQLStore } from "@mastra/libsql";
|
|
319
|
+
|
|
320
|
+
export const mastra = new Mastra({
|
|
321
|
+
storage: new LibSQLStore({
|
|
322
|
+
id: "mastra-storage",
|
|
323
|
+
url: "file:./mastra.db",
|
|
324
|
+
}),
|
|
325
|
+
});
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
### tools
|
|
329
|
+
|
|
330
|
+
**Type:** `Record<string, Tool>`
|
|
331
|
+
|
|
332
|
+
Tools are reusable functions that agents can use to interact with external systems. Each tool defines inputs, outputs, and execution logic.
|
|
333
|
+
|
|
334
|
+
Visit the [Tools documentation](/docs/v1/tools-mcp/overview) to learn more.
|
|
335
|
+
|
|
336
|
+
:::note
|
|
337
|
+
Most users configure tools directly on agents. This top-level configuration is for defining reusable tools that can be shared across multiple agents.
|
|
338
|
+
:::
|
|
339
|
+
|
|
340
|
+
```typescript title="src/mastra/index.ts"
|
|
341
|
+
import { Mastra } from "@mastra/core";
|
|
342
|
+
import { createTool } from "@mastra/core/tools";
|
|
343
|
+
import { z } from "zod";
|
|
344
|
+
|
|
345
|
+
const weatherTool = createTool({
|
|
346
|
+
id: "get-weather",
|
|
347
|
+
description: "Fetches weather for a city",
|
|
348
|
+
inputSchema: z.object({
|
|
349
|
+
city: z.string(),
|
|
350
|
+
}),
|
|
351
|
+
execute: async () => {
|
|
352
|
+
return { temperature: 20, conditions: "Sunny" };
|
|
353
|
+
},
|
|
354
|
+
});
|
|
355
|
+
|
|
356
|
+
export const mastra = new Mastra({
|
|
357
|
+
tools: {
|
|
358
|
+
weather: weatherTool,
|
|
359
|
+
},
|
|
360
|
+
});
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
### tts
|
|
364
|
+
|
|
365
|
+
**Type:** `Record<string, MastraVoice>`
|
|
366
|
+
|
|
367
|
+
Text-to-speech providers for voice synthesis capabilities. Register voice providers to enable agents to convert text responses into spoken audio.
|
|
368
|
+
|
|
369
|
+
Visit the [Voice documentation](/docs/v1/voice/overview) to learn more.
|
|
370
|
+
|
|
371
|
+
:::note
|
|
372
|
+
Most users configure voice directly on agents. This top-level configuration is for defining reusable voice providers that can be shared across multiple agents.
|
|
373
|
+
:::
|
|
374
|
+
|
|
375
|
+
```typescript title="src/mastra/index.ts"
|
|
376
|
+
import { Mastra } from "@mastra/core";
|
|
377
|
+
import { OpenAIVoice } from "@mastra/voice-openai";
|
|
378
|
+
|
|
379
|
+
export const mastra = new Mastra({
|
|
380
|
+
tts: {
|
|
381
|
+
openai: new OpenAIVoice(),
|
|
382
|
+
},
|
|
383
|
+
});
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
### vectors
|
|
387
|
+
|
|
388
|
+
**Type:** `Record<string, MastraVector>`
|
|
389
|
+
|
|
390
|
+
Vector stores for semantic search and embeddings. Used in RAG pipelines, similarity search, and other embedding-based features. Mastra supports multiple vector databases including Pinecone, PostgreSQL with pgvector, MongoDB, and more.
|
|
391
|
+
|
|
392
|
+
Visit the [RAG documentation](/docs/v1/rag/overview) to learn more.
|
|
393
|
+
|
|
394
|
+
:::note
|
|
395
|
+
Most users create vector stores directly when building RAG pipelines. This top-level configuration is for defining reusable vector store instances that can be shared across your application.
|
|
396
|
+
:::
|
|
397
|
+
|
|
398
|
+
```typescript title="src/mastra/index.ts"
|
|
399
|
+
import { Mastra } from "@mastra/core";
|
|
400
|
+
import { PineconeVector } from "@mastra/pinecone";
|
|
401
|
+
|
|
402
|
+
export const mastra = new Mastra({
|
|
403
|
+
vectors: {
|
|
404
|
+
pinecone: new PineconeVector({
|
|
405
|
+
id: 'pinecone-vector',
|
|
406
|
+
apiKey: process.env.PINECONE_API_KEY,
|
|
407
|
+
}),
|
|
408
|
+
},
|
|
409
|
+
});
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
### workflows
|
|
413
|
+
|
|
414
|
+
**Type:** `Record<string, Workflow>`
|
|
415
|
+
|
|
416
|
+
Workflows define step-based execution pipelines with type-safe inputs and outputs. Use workflows for tasks that involve multiple steps with a specific execution order, giving you control over how data flows between steps.
|
|
417
|
+
|
|
418
|
+
Visit the [Workflows documentation](/docs/v1/workflows/overview) to learn more.
|
|
419
|
+
|
|
420
|
+
```typescript title="src/mastra/index.ts"
|
|
421
|
+
import { Mastra } from "@mastra/core";
|
|
422
|
+
import { testWorkflow } from "./workflows/test-workflow";
|
|
423
|
+
|
|
424
|
+
export const mastra = new Mastra({
|
|
425
|
+
workflows: {
|
|
426
|
+
testWorkflow,
|
|
427
|
+
},
|
|
428
|
+
});
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
## Bundler options
|
|
432
|
+
|
|
433
|
+
### bundler.externals
|
|
434
|
+
|
|
435
|
+
**Type:** `boolean | string[]`
|
|
436
|
+
**Default:** `true`
|
|
437
|
+
|
|
438
|
+
When `mastra build` is run, Mastra bundles your project into the `.mastra/output` directory. This option controls which packages are excluded from the bundle (marked as "external") and installed separately through a package manager. This is useful when the internal Mastra bundler ([Rollup](https://rollupjs.org/configuration-options/#external)) has trouble bundling certain packages.
|
|
439
|
+
|
|
440
|
+
By default, `mastra build` sets this option to `true`. If you deploy your project to [Mastra Cloud](/docs/v1/mastra-cloud/overview), it also sets this option to `true`.
|
|
441
|
+
|
|
442
|
+
Here's an overview of what the different values mean:
|
|
443
|
+
|
|
444
|
+
- `true`: All dependencies listed in your project's `package.json` are marked as external
|
|
445
|
+
- `false`: No dependencies are marked as external; everything is bundled together
|
|
446
|
+
- `string[]`: An array of package names to mark as external, the rest will be bundled together
|
|
447
|
+
|
|
448
|
+
```typescript title="src/mastra/index.ts"
|
|
449
|
+
import { Mastra } from "@mastra/core";
|
|
450
|
+
|
|
451
|
+
export const mastra = new Mastra({
|
|
452
|
+
bundler: {
|
|
453
|
+
externals: ["some-package", "another-package"],
|
|
454
|
+
},
|
|
455
|
+
});
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
### bundler.sourcemap
|
|
459
|
+
|
|
460
|
+
**Type:** `boolean`
|
|
461
|
+
**Default:** `false`
|
|
462
|
+
|
|
463
|
+
Enables source map generation for the bundled output.
|
|
464
|
+
|
|
465
|
+
```typescript title="src/mastra/index.ts"
|
|
466
|
+
import { Mastra } from "@mastra/core";
|
|
467
|
+
|
|
468
|
+
export const mastra = new Mastra({
|
|
469
|
+
bundler: {
|
|
470
|
+
sourcemap: true,
|
|
471
|
+
},
|
|
472
|
+
});
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
### bundler.transpilePackages
|
|
476
|
+
|
|
477
|
+
**Type:** `string[]`
|
|
478
|
+
**Default:** `[]`
|
|
479
|
+
|
|
480
|
+
List of packages whose source code should be transpiled through esbuild during the build process. Use this for dependencies that contain TypeScript or other code that needs compilation before bundling.
|
|
481
|
+
|
|
482
|
+
You only need this option if you're importing uncompiled source code directly. If your packages are already compiled to CommonJS or ESM, they don't need to be listed here.
|
|
483
|
+
|
|
484
|
+
Mastra automatically detects workspace packages in monorepo setups and adds them to this list, so you typically only need to specify external packages that require transpilation.
|
|
485
|
+
|
|
486
|
+
```typescript title="src/mastra/index.ts"
|
|
487
|
+
import { Mastra } from "@mastra/core";
|
|
488
|
+
|
|
489
|
+
export const mastra = new Mastra({
|
|
490
|
+
bundler: {
|
|
491
|
+
transpilePackages: ["@my-org/shared-utils"],
|
|
492
|
+
},
|
|
493
|
+
});
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
## Server options
|
|
497
|
+
|
|
498
|
+
### server.apiRoutes
|
|
499
|
+
|
|
500
|
+
**Type:** `ApiRoute[]`
|
|
501
|
+
|
|
502
|
+
Mastra automatically exposes registered agents and workflows via its server. For additional behavior you can define your own HTTP routes.
|
|
503
|
+
|
|
504
|
+
Visit the [Custom API routes](/docs/v1/server/custom-api-routes) documentation to learn more.
|
|
505
|
+
|
|
506
|
+
```typescript title="src/mastra/index.ts"
|
|
507
|
+
import { Mastra } from "@mastra/core";
|
|
508
|
+
import { registerApiRoute } from "@mastra/core/server";
|
|
509
|
+
|
|
510
|
+
export const mastra = new Mastra({
|
|
511
|
+
server: {
|
|
512
|
+
apiRoutes: [
|
|
513
|
+
registerApiRoute("/my-custom-route", {
|
|
514
|
+
method: "GET",
|
|
515
|
+
handler: async (c) => {
|
|
516
|
+
return c.json({ message: "Custom route" });
|
|
517
|
+
},
|
|
518
|
+
}),
|
|
519
|
+
],
|
|
520
|
+
},
|
|
521
|
+
});
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
### server.auth
|
|
525
|
+
|
|
526
|
+
**Type:** `MastraAuthConfig | MastraAuthProvider`
|
|
527
|
+
|
|
528
|
+
Authentication configuration for the server. Mastra supports multiple authentication providers including JWT, Clerk, Supabase, Firebase, WorkOS, and Auth0.
|
|
529
|
+
|
|
530
|
+
Visit the [Authentication documentation](/docs/v1/server/auth) to learn more.
|
|
531
|
+
|
|
532
|
+
```typescript title="src/mastra/index.ts"
|
|
533
|
+
import { Mastra } from "@mastra/core";
|
|
534
|
+
import { MastraJwtAuth } from "@mastra/auth";
|
|
535
|
+
|
|
536
|
+
export const mastra = new Mastra({
|
|
537
|
+
server: {
|
|
538
|
+
auth: new MastraJwtAuth({
|
|
539
|
+
secret: process.env.MASTRA_JWT_SECRET,
|
|
540
|
+
}),
|
|
541
|
+
},
|
|
542
|
+
});
|
|
543
|
+
```
|
|
544
|
+
|
|
545
|
+
### server.bodySizeLimit
|
|
546
|
+
|
|
547
|
+
**Type:** `number`
|
|
548
|
+
**Default:** `4_718_592` (4.5 MB)
|
|
549
|
+
|
|
550
|
+
Maximum request body size in bytes. Increase this limit if your application needs to handle larger payloads.
|
|
551
|
+
|
|
552
|
+
```typescript title="src/mastra/index.ts"
|
|
553
|
+
import { Mastra } from "@mastra/core";
|
|
554
|
+
|
|
555
|
+
export const mastra = new Mastra({
|
|
556
|
+
server: {
|
|
557
|
+
bodySizeLimit: 10 * 1024 * 1024, // 10mb
|
|
558
|
+
},
|
|
559
|
+
});
|
|
560
|
+
```
|
|
561
|
+
|
|
562
|
+
### server.build
|
|
563
|
+
|
|
564
|
+
Build-time configuration for server features. These options control development tools like Swagger UI and request logging, which are enabled during local development but disabled in production by default.
|
|
565
|
+
|
|
566
|
+
| Property | Type | Default | Description |
|
|
567
|
+
|----------|------|---------|-------------|
|
|
568
|
+
| `swaggerUI` | `boolean` | `false` | Enable Swagger UI at `/swagger-ui` for interactive API exploration (requires `openAPIDocs` to be `true`) |
|
|
569
|
+
| `apiReqLogs` | `boolean` | `false` | Enable API request logging to the console |
|
|
570
|
+
| `openAPIDocs` | `boolean` | `false` | Enable OpenAPI specification at `/openapi.json` |
|
|
571
|
+
|
|
572
|
+
```typescript title="src/mastra/index.ts"
|
|
573
|
+
import { Mastra } from "@mastra/core";
|
|
574
|
+
|
|
575
|
+
export const mastra = new Mastra({
|
|
576
|
+
server: {
|
|
577
|
+
build: {
|
|
578
|
+
swaggerUI: true,
|
|
579
|
+
apiReqLogs: true,
|
|
580
|
+
openAPIDocs: true,
|
|
581
|
+
},
|
|
582
|
+
},
|
|
583
|
+
});
|
|
584
|
+
```
|
|
585
|
+
|
|
586
|
+
### server.cors
|
|
587
|
+
|
|
588
|
+
**Type:** `CorsOptions | false`
|
|
589
|
+
|
|
590
|
+
CORS (Cross-Origin Resource Sharing) configuration for the server. Set to `false` to disable CORS entirely.
|
|
591
|
+
|
|
592
|
+
| Property | Type | Default | Description |
|
|
593
|
+
|----------|------|---------|-------------|
|
|
594
|
+
| `origin` | `string \| string[]` | `'*'` | Origins for CORS requests |
|
|
595
|
+
| `allowMethods` | `string[]` | `['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS']` | HTTP methods |
|
|
596
|
+
| `allowHeaders` | `string[]` | `['Content-Type', 'Authorization', 'x-mastra-client-type']` | Request headers |
|
|
597
|
+
| `exposeHeaders` | `string[]` | `['Content-Length', 'X-Requested-With']` | Browser headers |
|
|
598
|
+
| `credentials` | `boolean` | `false` | Credentials (cookies, authorization headers) |
|
|
599
|
+
| `maxAge` | `number` | `3600` | Preflight request cache duration in seconds |
|
|
600
|
+
|
|
601
|
+
```typescript title="src/mastra/index.ts"
|
|
602
|
+
import { Mastra } from "@mastra/core";
|
|
603
|
+
|
|
604
|
+
export const mastra = new Mastra({
|
|
605
|
+
server: {
|
|
606
|
+
cors: {
|
|
607
|
+
origin: ["https://example.com"],
|
|
608
|
+
allowMethods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"],
|
|
609
|
+
allowHeaders: ["Content-Type", "Authorization"],
|
|
610
|
+
credentials: false,
|
|
611
|
+
},
|
|
612
|
+
},
|
|
613
|
+
});
|
|
614
|
+
```
|
|
615
|
+
|
|
616
|
+
### server.host
|
|
617
|
+
|
|
618
|
+
**Type:** `string`
|
|
619
|
+
**Default:** `localhost`
|
|
620
|
+
|
|
621
|
+
Host address the Mastra development server binds to.
|
|
622
|
+
|
|
623
|
+
```typescript title="src/mastra/index.ts"
|
|
624
|
+
import { Mastra } from "@mastra/core";
|
|
625
|
+
|
|
626
|
+
export const mastra = new Mastra({
|
|
627
|
+
server: {
|
|
628
|
+
host: "0.0.0.0",
|
|
629
|
+
},
|
|
630
|
+
});
|
|
631
|
+
```
|
|
632
|
+
|
|
633
|
+
### server.https
|
|
634
|
+
|
|
635
|
+
**Type:** `{ key: Buffer; cert: Buffer }`
|
|
636
|
+
|
|
637
|
+
HTTPS configuration for running the development server with TLS. Mastra supports local HTTPS development through the `mastra dev --https` flag, which automatically creates and manages certificates. For custom certificate management, provide your own key and certificate files:
|
|
638
|
+
|
|
639
|
+
```typescript title="src/mastra/index.ts"
|
|
640
|
+
import { Mastra } from "@mastra/core";
|
|
641
|
+
import fs from "node:fs";
|
|
642
|
+
|
|
643
|
+
export const mastra = new Mastra({
|
|
644
|
+
server: {
|
|
645
|
+
https: {
|
|
646
|
+
key: fs.readFileSync("path/to/key.pem"),
|
|
647
|
+
cert: fs.readFileSync("path/to/cert.pem"),
|
|
648
|
+
},
|
|
649
|
+
},
|
|
650
|
+
});
|
|
651
|
+
```
|
|
652
|
+
|
|
653
|
+
### server.middleware
|
|
654
|
+
|
|
655
|
+
**Type:** `Middleware | Middleware[]`
|
|
656
|
+
|
|
657
|
+
Custom middleware functions to intercept requests before or after route handlers. Middleware can be used for authentication, logging, injecting request-specific context, or adding headers. Each middleware receives the Hono `Context` and a `next` function. Return a `Response` to short-circuit the request, or call `next()` to continue processing.
|
|
658
|
+
|
|
659
|
+
Visit the [Middleware documentation](/docs/v1/server/middleware) to learn more.
|
|
660
|
+
|
|
661
|
+
```typescript title="src/mastra/index.ts"
|
|
662
|
+
import { Mastra } from "@mastra/core";
|
|
663
|
+
|
|
664
|
+
export const mastra = new Mastra({
|
|
665
|
+
server: {
|
|
666
|
+
middleware: [
|
|
667
|
+
{
|
|
668
|
+
handler: async (c, next) => {
|
|
669
|
+
const authHeader = c.req.header("Authorization");
|
|
670
|
+
if (!authHeader) {
|
|
671
|
+
return new Response("Unauthorized", { status: 401 });
|
|
672
|
+
}
|
|
673
|
+
await next();
|
|
674
|
+
},
|
|
675
|
+
path: "/api/*",
|
|
676
|
+
},
|
|
677
|
+
],
|
|
678
|
+
},
|
|
679
|
+
});
|
|
680
|
+
```
|
|
681
|
+
|
|
682
|
+
### server.onError
|
|
683
|
+
|
|
684
|
+
**Type:** `(err: Error, c: Context) => Response | Promise<Response>`
|
|
685
|
+
|
|
686
|
+
Custom error handler called when an unhandled error occurs. Use this to customize error responses, log errors to external services like Sentry, or implement custom error formatting.
|
|
687
|
+
|
|
688
|
+
```typescript title="src/mastra/index.ts"
|
|
689
|
+
import { Mastra } from "@mastra/core";
|
|
690
|
+
import * as Sentry from "@sentry/node";
|
|
691
|
+
|
|
692
|
+
export const mastra = new Mastra({
|
|
693
|
+
server: {
|
|
694
|
+
onError: (err, c) => {
|
|
695
|
+
Sentry.captureException(err);
|
|
696
|
+
|
|
697
|
+
return c.json({
|
|
698
|
+
error: err.message,
|
|
699
|
+
timestamp: new Date().toISOString(),
|
|
700
|
+
}, 500);
|
|
701
|
+
},
|
|
702
|
+
},
|
|
703
|
+
});
|
|
704
|
+
```
|
|
705
|
+
|
|
706
|
+
### server.port
|
|
707
|
+
|
|
708
|
+
**Type:** `number`
|
|
709
|
+
**Default:** `4111` (or `PORT` environment variable if set)
|
|
710
|
+
|
|
711
|
+
Port the Mastra development server binds to. If the `PORT` environment variable is set, it takes precedence over the default.
|
|
712
|
+
|
|
713
|
+
```typescript title="src/mastra/index.ts"
|
|
714
|
+
import { Mastra } from "@mastra/core";
|
|
715
|
+
|
|
716
|
+
export const mastra = new Mastra({
|
|
717
|
+
server: {
|
|
718
|
+
port: 8080,
|
|
719
|
+
},
|
|
720
|
+
});
|
|
721
|
+
```
|
|
722
|
+
|
|
723
|
+
### server.studioBase
|
|
724
|
+
|
|
725
|
+
**Type:** `string`
|
|
726
|
+
**Default:** `/`
|
|
727
|
+
|
|
728
|
+
Base path for hosting Mastra Studio. Use this to host the Studio on a sub-path of your existing application instead of the root.
|
|
729
|
+
|
|
730
|
+
This is useful when integrating with existing applications, using authentication tools like Cloudflare Zero Trust that benefit from shared domains, or managing multiple services under a single domain.
|
|
731
|
+
|
|
732
|
+
```typescript title="src/mastra/index.ts"
|
|
733
|
+
import { Mastra } from "@mastra/core";
|
|
734
|
+
|
|
735
|
+
export const mastra = new Mastra({
|
|
736
|
+
server: {
|
|
737
|
+
studioBase: "/my-mastra-studio",
|
|
738
|
+
},
|
|
739
|
+
});
|
|
740
|
+
```
|
|
741
|
+
|
|
742
|
+
**Example URLs:**
|
|
743
|
+
- Default: `http://localhost:4111/` (studio at root)
|
|
744
|
+
- With `studioBase`: `http://localhost:4111/my-mastra-studio/` (studio at sub-path)
|
|
745
|
+
|
|
746
|
+
### server.timeout
|
|
747
|
+
|
|
748
|
+
**Type:** `number`
|
|
749
|
+
**Default:** `180000` (3 minutes)
|
|
750
|
+
|
|
751
|
+
Request timeout in milliseconds. Requests that exceed this duration will be terminated.
|
|
752
|
+
|
|
753
|
+
```typescript title="src/mastra/index.ts"
|
|
754
|
+
import { Mastra } from "@mastra/core";
|
|
755
|
+
|
|
756
|
+
export const mastra = new Mastra({
|
|
757
|
+
server: {
|
|
758
|
+
timeout: 30000, // 30 seconds
|
|
759
|
+
},
|
|
760
|
+
});
|
|
761
|
+
```
|