@mastra/mcp-docs-server 0.13.37 → 0.13.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +2 -0
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +2 -0
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +8 -8
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +2 -0
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +23 -23
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +69 -69
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +25 -25
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +15 -15
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +27 -27
- package/.docs/organized/changelogs/%40mastra%2Freact.md +15 -15
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +23 -23
- package/.docs/organized/changelogs/create-mastra.md +5 -5
- package/.docs/organized/changelogs/mastra.md +17 -17
- package/.docs/raw/agents/adding-voice.mdx +20 -9
- package/.docs/raw/agents/agent-memory.mdx +55 -39
- package/.docs/raw/agents/guardrails.mdx +68 -61
- package/.docs/raw/agents/networks.mdx +50 -46
- package/.docs/raw/agents/overview.mdx +125 -88
- package/.docs/raw/agents/using-tools.mdx +14 -15
- package/.docs/raw/auth/auth0.mdx +28 -27
- package/.docs/raw/auth/clerk.mdx +22 -20
- package/.docs/raw/auth/firebase.mdx +42 -39
- package/.docs/raw/auth/index.mdx +1 -1
- package/.docs/raw/auth/jwt.mdx +18 -16
- package/.docs/raw/auth/supabase.mdx +20 -18
- package/.docs/raw/auth/workos.mdx +32 -26
- package/.docs/raw/community/contributing-templates.mdx +7 -7
- package/.docs/raw/community/discord.mdx +2 -2
- package/.docs/raw/community/licensing.mdx +1 -1
- package/.docs/raw/course/03-agent-memory/26-updating-mastra-export-comprehensive.md +0 -32
- package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +41 -22
- package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +48 -29
- package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +52 -24
- package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +86 -55
- package/.docs/raw/deployment/cloud-providers/index.mdx +16 -13
- package/.docs/raw/deployment/monorepo.mdx +32 -42
- package/.docs/raw/deployment/overview.mdx +15 -15
- package/.docs/raw/deployment/server-deployment.mdx +18 -23
- package/.docs/raw/deployment/serverless-platforms/cloudflare-deployer.mdx +16 -17
- package/.docs/raw/deployment/serverless-platforms/index.mdx +15 -12
- package/.docs/raw/deployment/serverless-platforms/netlify-deployer.mdx +14 -23
- package/.docs/raw/deployment/serverless-platforms/vercel-deployer.mdx +16 -23
- package/.docs/raw/deployment/web-framework.mdx +14 -14
- package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +138 -145
- package/.docs/raw/frameworks/agentic-uis/assistant-ui.mdx +54 -43
- package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +51 -36
- package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +161 -120
- package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +59 -48
- package/.docs/raw/frameworks/servers/express.mdx +45 -44
- package/.docs/raw/frameworks/web-frameworks/astro.mdx +245 -162
- package/.docs/raw/frameworks/web-frameworks/next-js.mdx +112 -69
- package/.docs/raw/frameworks/web-frameworks/sveltekit.mdx +189 -164
- package/.docs/raw/frameworks/web-frameworks/vite-react.mdx +94 -81
- package/.docs/raw/getting-started/installation.mdx +164 -133
- package/.docs/raw/getting-started/mcp-docs-server.mdx +36 -39
- package/.docs/raw/getting-started/project-structure.mdx +34 -42
- package/.docs/raw/getting-started/studio.mdx +40 -58
- package/.docs/raw/getting-started/templates.mdx +22 -27
- package/.docs/raw/index.mdx +9 -9
- package/.docs/raw/mastra-cloud/dashboard.mdx +10 -10
- package/.docs/raw/mastra-cloud/observability.mdx +7 -8
- package/.docs/raw/mastra-cloud/overview.mdx +16 -22
- package/.docs/raw/mastra-cloud/setting-up.mdx +33 -20
- package/.docs/raw/memory/conversation-history.mdx +2 -2
- package/.docs/raw/memory/overview.mdx +21 -23
- package/.docs/raw/memory/semantic-recall.mdx +14 -13
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +27 -28
- package/.docs/raw/memory/storage/memory-with-pg.mdx +26 -26
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +26 -27
- package/.docs/raw/memory/threads-and-resources.mdx +23 -20
- package/.docs/raw/memory/working-memory.mdx +27 -38
- package/.docs/raw/observability/ai-tracing/exporters/arize.mdx +30 -29
- package/.docs/raw/observability/ai-tracing/exporters/braintrust.mdx +8 -9
- package/.docs/raw/observability/ai-tracing/exporters/cloud.mdx +17 -16
- package/.docs/raw/observability/ai-tracing/exporters/default.mdx +31 -32
- package/.docs/raw/observability/ai-tracing/exporters/langfuse.mdx +18 -17
- package/.docs/raw/observability/ai-tracing/exporters/langsmith.mdx +14 -14
- package/.docs/raw/observability/ai-tracing/exporters/otel.mdx +56 -46
- package/.docs/raw/observability/ai-tracing/overview.mdx +145 -122
- package/.docs/raw/observability/ai-tracing/processors/sensitive-data-filter.mdx +57 -36
- package/.docs/raw/observability/logging.mdx +14 -17
- package/.docs/raw/observability/nextjs-tracing.mdx +5 -5
- package/.docs/raw/observability/otel-tracing.mdx +17 -18
- package/.docs/raw/observability/overview.mdx +14 -10
- package/.docs/raw/rag/chunking-and-embedding.mdx +10 -8
- package/.docs/raw/rag/overview.mdx +5 -5
- package/.docs/raw/rag/retrieval.mdx +125 -107
- package/.docs/raw/rag/vector-databases.mdx +232 -223
- package/.docs/raw/reference/agents/agent.mdx +54 -41
- package/.docs/raw/reference/agents/generate.mdx +367 -261
- package/.docs/raw/reference/agents/generateLegacy.mdx +260 -178
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +7 -5
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +7 -5
- package/.docs/raw/reference/agents/getDescription.mdx +3 -2
- package/.docs/raw/reference/agents/getInstructions.mdx +7 -5
- package/.docs/raw/reference/agents/getLLM.mdx +11 -7
- package/.docs/raw/reference/agents/getMemory.mdx +7 -5
- package/.docs/raw/reference/agents/getModel.mdx +7 -5
- package/.docs/raw/reference/agents/getScorers.mdx +7 -5
- package/.docs/raw/reference/agents/getTools.mdx +7 -5
- package/.docs/raw/reference/agents/getVoice.mdx +7 -5
- package/.docs/raw/reference/agents/getWorkflows.mdx +7 -5
- package/.docs/raw/reference/agents/listAgents.mdx +6 -4
- package/.docs/raw/reference/agents/network.mdx +171 -116
- package/.docs/raw/reference/auth/auth0.mdx +18 -14
- package/.docs/raw/reference/auth/clerk.mdx +15 -12
- package/.docs/raw/reference/auth/firebase.mdx +23 -16
- package/.docs/raw/reference/auth/jwt.mdx +7 -6
- package/.docs/raw/reference/auth/supabase.mdx +13 -10
- package/.docs/raw/reference/auth/workos.mdx +17 -13
- package/.docs/raw/reference/cli/create-mastra.mdx +61 -44
- package/.docs/raw/reference/cli/mastra.mdx +11 -11
- package/.docs/raw/reference/client-js/agents.mdx +40 -43
- package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
- package/.docs/raw/reference/client-js/logs.mdx +1 -1
- package/.docs/raw/reference/client-js/mastra-client.mdx +21 -13
- package/.docs/raw/reference/client-js/memory.mdx +6 -2
- package/.docs/raw/reference/client-js/observability.mdx +10 -9
- package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
- package/.docs/raw/reference/client-js/tools.mdx +1 -1
- package/.docs/raw/reference/client-js/vectors.mdx +1 -1
- package/.docs/raw/reference/client-js/workflows-legacy.mdx +1 -1
- package/.docs/raw/reference/client-js/workflows.mdx +7 -7
- package/.docs/raw/reference/core/getAgent.mdx +6 -5
- package/.docs/raw/reference/core/getAgentById.mdx +5 -4
- package/.docs/raw/reference/core/getAgents.mdx +3 -3
- package/.docs/raw/reference/core/getDeployer.mdx +4 -3
- package/.docs/raw/reference/core/getLogger.mdx +4 -3
- package/.docs/raw/reference/core/getLogs.mdx +10 -6
- package/.docs/raw/reference/core/getLogsByRunId.mdx +8 -5
- package/.docs/raw/reference/core/getMCPServer.mdx +8 -5
- package/.docs/raw/reference/core/getMCPServers.mdx +4 -3
- package/.docs/raw/reference/core/getMemory.mdx +4 -3
- package/.docs/raw/reference/core/getScorer.mdx +15 -12
- package/.docs/raw/reference/core/getScorerByName.mdx +12 -9
- package/.docs/raw/reference/core/getScorers.mdx +3 -2
- package/.docs/raw/reference/core/getServer.mdx +4 -3
- package/.docs/raw/reference/core/getStorage.mdx +4 -3
- package/.docs/raw/reference/core/getTelemetry.mdx +4 -3
- package/.docs/raw/reference/core/getVector.mdx +6 -4
- package/.docs/raw/reference/core/getVectors.mdx +4 -3
- package/.docs/raw/reference/core/getWorkflow.mdx +7 -4
- package/.docs/raw/reference/core/getWorkflows.mdx +5 -3
- package/.docs/raw/reference/core/mastra-class.mdx +16 -16
- package/.docs/raw/reference/core/setLogger.mdx +6 -4
- package/.docs/raw/reference/core/setStorage.mdx +4 -4
- package/.docs/raw/reference/core/setTelemetry.mdx +4 -3
- package/.docs/raw/reference/deployer/cloudflare.mdx +11 -7
- package/.docs/raw/reference/deployer/deployer.mdx +2 -1
- package/.docs/raw/reference/deployer/netlify.mdx +4 -4
- package/.docs/raw/reference/deployer/vercel.mdx +6 -6
- package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -5
- package/.docs/raw/reference/evals/bias.mdx +4 -5
- package/.docs/raw/reference/evals/completeness.mdx +4 -5
- package/.docs/raw/reference/evals/content-similarity.mdx +4 -5
- package/.docs/raw/reference/evals/context-position.mdx +4 -5
- package/.docs/raw/reference/evals/context-precision.mdx +4 -5
- package/.docs/raw/reference/evals/context-relevancy.mdx +4 -5
- package/.docs/raw/reference/evals/contextual-recall.mdx +4 -5
- package/.docs/raw/reference/evals/faithfulness.mdx +4 -5
- package/.docs/raw/reference/evals/hallucination.mdx +4 -6
- package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -5
- package/.docs/raw/reference/evals/prompt-alignment.mdx +4 -6
- package/.docs/raw/reference/evals/summarization.mdx +4 -6
- package/.docs/raw/reference/evals/textual-difference.mdx +4 -5
- package/.docs/raw/reference/evals/tone-consistency.mdx +4 -7
- package/.docs/raw/reference/evals/toxicity.mdx +4 -5
- package/.docs/raw/reference/index.mdx +3 -3
- package/.docs/raw/reference/legacyWorkflows/after.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/afterEvent.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/commit.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/createRun.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/else.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/events.mdx +7 -7
- package/.docs/raw/reference/legacyWorkflows/execute.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/if.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/resume.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/resumeWithEvent.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/snapshots.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/start.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/step-class.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/step-condition.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/step-function.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/step-options.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/step-retries.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/suspend.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/then.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/until.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/watch.mdx +3 -3
- package/.docs/raw/reference/legacyWorkflows/while.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/workflow.mdx +7 -7
- package/.docs/raw/reference/memory/createThread.mdx +10 -10
- package/.docs/raw/reference/memory/deleteMessages.mdx +7 -5
- package/.docs/raw/reference/memory/getThreadById.mdx +6 -5
- package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +11 -10
- package/.docs/raw/reference/memory/getThreadsByResourceIdPaginated.mdx +10 -9
- package/.docs/raw/reference/memory/{Memory.mdx → memory-class.mdx} +53 -46
- package/.docs/raw/reference/memory/query.mdx +39 -25
- package/.docs/raw/reference/observability/ai-tracing/ai-tracing.mdx +9 -5
- package/.docs/raw/reference/observability/ai-tracing/configuration.mdx +26 -22
- package/.docs/raw/reference/observability/ai-tracing/exporters/arize.mdx +16 -12
- package/.docs/raw/reference/observability/ai-tracing/exporters/braintrust.mdx +14 -14
- package/.docs/raw/reference/observability/ai-tracing/exporters/cloud-exporter.mdx +16 -11
- package/.docs/raw/reference/observability/ai-tracing/exporters/console-exporter.mdx +10 -6
- package/.docs/raw/reference/observability/ai-tracing/exporters/default-exporter.mdx +23 -15
- package/.docs/raw/reference/observability/ai-tracing/exporters/langfuse.mdx +6 -6
- package/.docs/raw/reference/observability/ai-tracing/exporters/langsmith.mdx +13 -13
- package/.docs/raw/reference/observability/ai-tracing/exporters/otel.mdx +44 -36
- package/.docs/raw/reference/observability/ai-tracing/interfaces.mdx +115 -106
- package/.docs/raw/reference/observability/ai-tracing/processors/sensitive-data-filter.mdx +37 -32
- package/.docs/raw/reference/observability/ai-tracing/span.mdx +29 -26
- package/.docs/raw/reference/observability/logging/pino-logger.mdx +13 -15
- package/.docs/raw/reference/observability/otel-tracing/otel-config.mdx +2 -2
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-ax.mdx +3 -3
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-phoenix.mdx +2 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/dash0.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/index.mdx +12 -14
- package/.docs/raw/reference/observability/otel-tracing/providers/keywordsai.mdx +3 -3
- package/.docs/raw/reference/observability/otel-tracing/providers/laminar.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/langfuse.mdx +4 -4
- package/.docs/raw/reference/observability/otel-tracing/providers/langsmith.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/langwatch.mdx +2 -2
- package/.docs/raw/reference/observability/otel-tracing/providers/new-relic.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/signoz.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/traceloop.mdx +1 -1
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +13 -10
- package/.docs/raw/reference/processors/language-detector.mdx +27 -17
- package/.docs/raw/reference/processors/moderation-processor.mdx +26 -17
- package/.docs/raw/reference/processors/pii-detector.mdx +28 -18
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +25 -17
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +26 -17
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +22 -15
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +13 -12
- package/.docs/raw/reference/rag/chunk.mdx +41 -23
- package/.docs/raw/reference/rag/database-config.mdx +56 -38
- package/.docs/raw/reference/rag/document.mdx +1 -1
- package/.docs/raw/reference/rag/embeddings.mdx +1 -1
- package/.docs/raw/reference/rag/extract-params.mdx +1 -1
- package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
- package/.docs/raw/reference/rag/metadata-filters.mdx +23 -26
- package/.docs/raw/reference/rag/rerank.mdx +1 -1
- package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -2
- package/.docs/raw/reference/scorers/answer-relevancy.mdx +35 -17
- package/.docs/raw/reference/scorers/answer-similarity.mdx +84 -68
- package/.docs/raw/reference/scorers/bias.mdx +22 -19
- package/.docs/raw/reference/scorers/completeness.mdx +21 -16
- package/.docs/raw/reference/scorers/content-similarity.mdx +12 -10
- package/.docs/raw/reference/scorers/context-precision.mdx +73 -64
- package/.docs/raw/reference/scorers/context-relevance.mdx +142 -126
- package/.docs/raw/reference/scorers/create-scorer.mdx +93 -61
- package/.docs/raw/reference/scorers/faithfulness.mdx +21 -13
- package/.docs/raw/reference/scorers/hallucination.mdx +17 -12
- package/.docs/raw/reference/scorers/keyword-coverage.mdx +32 -27
- package/.docs/raw/reference/scorers/mastra-scorer.mdx +39 -33
- package/.docs/raw/reference/scorers/noise-sensitivity.mdx +203 -152
- package/.docs/raw/reference/scorers/prompt-alignment.mdx +186 -132
- package/.docs/raw/reference/scorers/run-experiment.mdx +40 -31
- package/.docs/raw/reference/scorers/textual-difference.mdx +25 -26
- package/.docs/raw/reference/scorers/tone-consistency.mdx +29 -26
- package/.docs/raw/reference/scorers/tool-call-accuracy.mdx +180 -176
- package/.docs/raw/reference/scorers/toxicity.mdx +35 -31
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +1 -1
- package/.docs/raw/reference/storage/cloudflare.mdx +1 -1
- package/.docs/raw/reference/storage/dynamodb.mdx +1 -1
- package/.docs/raw/reference/storage/lance.mdx +1 -1
- package/.docs/raw/reference/storage/libsql.mdx +2 -2
- package/.docs/raw/reference/storage/mongodb.mdx +4 -5
- package/.docs/raw/reference/storage/mssql.mdx +5 -4
- package/.docs/raw/reference/storage/postgresql.mdx +35 -33
- package/.docs/raw/reference/storage/upstash.mdx +6 -5
- package/.docs/raw/reference/streaming/ChunkType.mdx +788 -314
- package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +265 -109
- package/.docs/raw/reference/streaming/agents/stream.mdx +375 -266
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +233 -162
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +4 -4
- package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +5 -5
- package/.docs/raw/reference/streaming/workflows/resumeStreamVNext.mdx +24 -20
- package/.docs/raw/reference/streaming/workflows/stream.mdx +35 -26
- package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +36 -27
- package/.docs/raw/reference/templates/overview.mdx +16 -39
- package/.docs/raw/reference/tools/client.mdx +1 -1
- package/.docs/raw/reference/tools/create-tool.mdx +45 -35
- package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -2
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +12 -12
- package/.docs/raw/reference/tools/mcp-client.mdx +70 -64
- package/.docs/raw/reference/tools/mcp-server.mdx +91 -78
- package/.docs/raw/reference/tools/vector-query-tool.mdx +48 -38
- package/.docs/raw/reference/vectors/astra.mdx +1 -1
- package/.docs/raw/reference/vectors/chroma.mdx +25 -19
- package/.docs/raw/reference/vectors/couchbase.mdx +4 -4
- package/.docs/raw/reference/vectors/lance.mdx +5 -6
- package/.docs/raw/reference/vectors/libsql.mdx +1 -1
- package/.docs/raw/reference/vectors/mongodb.mdx +1 -1
- package/.docs/raw/reference/vectors/opensearch.mdx +1 -1
- package/.docs/raw/reference/vectors/pg.mdx +8 -4
- package/.docs/raw/reference/vectors/pinecone.mdx +1 -1
- package/.docs/raw/reference/vectors/qdrant.mdx +1 -1
- package/.docs/raw/reference/vectors/s3vectors.mdx +35 -27
- package/.docs/raw/reference/vectors/turbopuffer.mdx +1 -1
- package/.docs/raw/reference/vectors/upstash.mdx +33 -25
- package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
- package/.docs/raw/reference/voice/azure.mdx +1 -1
- package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
- package/.docs/raw/reference/voice/composite-voice.mdx +1 -1
- package/.docs/raw/reference/voice/deepgram.mdx +1 -1
- package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
- package/.docs/raw/reference/voice/google-gemini-live.mdx +6 -4
- package/.docs/raw/reference/voice/google.mdx +1 -1
- package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
- package/.docs/raw/reference/voice/murf.mdx +1 -1
- package/.docs/raw/reference/voice/openai-realtime.mdx +1 -1
- package/.docs/raw/reference/voice/openai.mdx +1 -1
- package/.docs/raw/reference/voice/playai.mdx +1 -1
- package/.docs/raw/reference/voice/sarvam.mdx +1 -1
- package/.docs/raw/reference/voice/speechify.mdx +1 -1
- package/.docs/raw/reference/voice/voice.addInstructions.mdx +1 -1
- package/.docs/raw/reference/voice/voice.addTools.mdx +1 -1
- package/.docs/raw/reference/voice/voice.answer.mdx +1 -1
- package/.docs/raw/reference/voice/voice.close.mdx +1 -1
- package/.docs/raw/reference/voice/voice.connect.mdx +1 -1
- package/.docs/raw/reference/voice/voice.events.mdx +1 -1
- package/.docs/raw/reference/voice/voice.getSpeakers.mdx +23 -30
- package/.docs/raw/reference/voice/voice.listen.mdx +1 -1
- package/.docs/raw/reference/voice/voice.off.mdx +1 -1
- package/.docs/raw/reference/voice/voice.on.mdx +1 -1
- package/.docs/raw/reference/voice/voice.send.mdx +1 -1
- package/.docs/raw/reference/voice/voice.speak.mdx +1 -1
- package/.docs/raw/reference/voice/voice.updateConfig.mdx +1 -1
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +4 -3
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +49 -34
- package/.docs/raw/reference/workflows/run-methods/start.mdx +43 -31
- package/.docs/raw/reference/workflows/run-methods/watch.mdx +7 -8
- package/.docs/raw/reference/workflows/run.mdx +7 -10
- package/.docs/raw/reference/workflows/step.mdx +15 -12
- package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +7 -7
- package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +5 -5
- package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +3 -3
- package/.docs/raw/reference/workflows/workflow.mdx +13 -10
- package/.docs/raw/scorers/custom-scorers.mdx +58 -48
- package/.docs/raw/scorers/evals-old-api/custom-eval.mdx +6 -8
- package/.docs/raw/scorers/evals-old-api/overview.mdx +8 -8
- package/.docs/raw/scorers/evals-old-api/running-in-ci.mdx +9 -9
- package/.docs/raw/scorers/evals-old-api/textual-evals.mdx +5 -5
- package/.docs/raw/scorers/off-the-shelf-scorers.mdx +3 -1
- package/.docs/raw/scorers/overview.mdx +20 -19
- package/.docs/raw/server-db/custom-api-routes.mdx +8 -8
- package/.docs/raw/server-db/mastra-client.mdx +56 -54
- package/.docs/raw/server-db/middleware.mdx +11 -7
- package/.docs/raw/server-db/production-server.mdx +5 -7
- package/.docs/raw/server-db/runtime-context.mdx +41 -38
- package/.docs/raw/server-db/storage.mdx +82 -87
- package/.docs/raw/streaming/events.mdx +24 -16
- package/.docs/raw/streaming/overview.mdx +17 -18
- package/.docs/raw/streaming/tool-streaming.mdx +9 -10
- package/.docs/raw/streaming/workflow-streaming.mdx +14 -12
- package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
- package/.docs/raw/tools-mcp/mcp-overview.mdx +92 -102
- package/.docs/raw/tools-mcp/overview.mdx +9 -14
- package/.docs/raw/voice/overview.mdx +273 -250
- package/.docs/raw/voice/speech-to-speech.mdx +14 -12
- package/.docs/raw/voice/speech-to-text.mdx +2 -2
- package/.docs/raw/voice/text-to-speech.mdx +2 -2
- package/.docs/raw/workflows/agents-and-tools.mdx +29 -28
- package/.docs/raw/workflows/control-flow.mdx +24 -24
- package/.docs/raw/workflows/error-handling.mdx +15 -17
- package/.docs/raw/workflows/human-in-the-loop.mdx +39 -39
- package/.docs/raw/workflows/inngest-workflow.mdx +33 -29
- package/.docs/raw/workflows/input-data-mapping.mdx +9 -9
- package/.docs/raw/workflows/overview.mdx +60 -60
- package/.docs/raw/workflows/snapshots.mdx +54 -36
- package/.docs/raw/workflows/suspend-and-resume.mdx +52 -57
- package/.docs/raw/workflows-legacy/control-flow.mdx +15 -17
- package/.docs/raw/workflows-legacy/dynamic-workflows.mdx +3 -1
- package/.docs/raw/workflows-legacy/error-handling.mdx +8 -6
- package/.docs/raw/workflows-legacy/nested-workflows.mdx +6 -0
- package/.docs/raw/workflows-legacy/overview.mdx +28 -26
- package/.docs/raw/workflows-legacy/runtime-variables.mdx +4 -2
- package/.docs/raw/workflows-legacy/steps.mdx +5 -3
- package/.docs/raw/workflows-legacy/suspend-and-resume.mdx +10 -8
- package/.docs/raw/workflows-legacy/variables.mdx +10 -8
- package/CHANGELOG.md +14 -0
- package/package.json +5 -5
- package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -148
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Custom API Routes"
|
|
2
|
+
title: "Custom API Routes | Server & DB | Mastra Docs"
|
|
3
3
|
description: "Expose additional HTTP endpoints from your Mastra server."
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -9,7 +9,7 @@ By default Mastra automatically exposes registered agents and workflows via the
|
|
|
9
9
|
|
|
10
10
|
Routes are provided with a helper `registerApiRoute` from `@mastra/core/server`. Routes can live in the same file as the `Mastra` instance but separating them helps keep configuration concise.
|
|
11
11
|
|
|
12
|
-
```typescript
|
|
12
|
+
```typescript title="src/mastra/index.ts" copy showLineNumbers
|
|
13
13
|
import { Mastra } from "@mastra/core/mastra";
|
|
14
14
|
import { registerApiRoute } from "@mastra/core/server";
|
|
15
15
|
|
|
@@ -41,7 +41,7 @@ Each route's handler receives the Hono `Context`. Within the handler you can acc
|
|
|
41
41
|
|
|
42
42
|
To add route-specific middleware pass a `middleware` array when calling `registerApiRoute`.
|
|
43
43
|
|
|
44
|
-
```typescript
|
|
44
|
+
```typescript title="src/mastra/index.ts" copy showLineNumbers
|
|
45
45
|
import { Mastra } from "@mastra/core/mastra";
|
|
46
46
|
import { registerApiRoute } from "@mastra/core/server";
|
|
47
47
|
|
|
@@ -55,13 +55,13 @@ export const mastra = new Mastra({
|
|
|
55
55
|
async (c, next) => {
|
|
56
56
|
console.log(`${c.req.method} ${c.req.url}`);
|
|
57
57
|
await next();
|
|
58
|
-
}
|
|
58
|
+
},
|
|
59
59
|
],
|
|
60
60
|
handler: async (c) => {
|
|
61
61
|
return c.json({ message: "Custom route with middleware" });
|
|
62
|
-
}
|
|
63
|
-
})
|
|
64
|
-
]
|
|
65
|
-
}
|
|
62
|
+
},
|
|
63
|
+
}),
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
66
|
});
|
|
67
67
|
```
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Mastra Client SDK | Mastra Docs"
|
|
2
|
+
title: "Mastra Client SDK | Server & DB | Mastra Docs"
|
|
3
3
|
description: "Learn how to set up and use the Mastra Client SDK"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
import Tabs from "@theme/Tabs";
|
|
7
|
+
import TabItem from "@theme/TabItem";
|
|
7
8
|
|
|
8
9
|
# Mastra Client SDK
|
|
9
10
|
|
|
10
|
-
The Mastra Client SDK provides a simple and type-safe interface for interacting with your [Mastra Server](/docs/
|
|
11
|
+
The Mastra Client SDK provides a simple and type-safe interface for interacting with your [Mastra Server](/docs/server-db/production-server) from your client environment.
|
|
11
12
|
|
|
12
13
|
## Prerequisites
|
|
13
14
|
|
|
@@ -25,46 +26,46 @@ The Mastra Client SDK is designed for browser environments and uses the native `
|
|
|
25
26
|
|
|
26
27
|
To use the Mastra Client SDK, install the required dependencies:
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
This Tabs component shows installation commands for the Mastra Client SDK using different package managers.
|
|
31
|
-
Each tab displays the installation command for that specific package manager (npm, yarn, pnpm).
|
|
32
|
-
This helps users install the client SDK with their preferred package manager.
|
|
33
|
-
All commands install the same @mastra/client-js package but use different package manager syntax.
|
|
34
|
-
*/}
|
|
29
|
+
<Tabs>
|
|
30
|
+
<TabItem value="npm" label="npm">
|
|
35
31
|
|
|
36
|
-
<Tabs items={["npm", "yarn", "pnpm", "bun"]}>
|
|
37
|
-
<Tabs.Tab>
|
|
38
32
|
```bash copy
|
|
39
33
|
npm install @mastra/client-js@latest
|
|
40
34
|
```
|
|
41
|
-
|
|
42
|
-
|
|
35
|
+
|
|
36
|
+
</TabItem>
|
|
37
|
+
<TabItem value="pnpm" label="pnpm">
|
|
38
|
+
|
|
43
39
|
```bash copy
|
|
44
|
-
|
|
40
|
+
pnpm add @mastra/client-js@latest
|
|
45
41
|
```
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
|
|
43
|
+
</TabItem>
|
|
44
|
+
<TabItem value="yarn" label="yarn">
|
|
45
|
+
|
|
48
46
|
```bash copy
|
|
49
|
-
|
|
47
|
+
yarn add @mastra/client-js@latest
|
|
50
48
|
```
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
|
|
50
|
+
</TabItem>
|
|
51
|
+
<TabItem value="bun" label="bun">
|
|
52
|
+
|
|
53
53
|
```bash copy
|
|
54
54
|
bun add @mastra/client-js@latest
|
|
55
55
|
```
|
|
56
|
-
|
|
56
|
+
|
|
57
|
+
</TabItem>
|
|
57
58
|
</Tabs>
|
|
58
59
|
|
|
59
60
|
### Initialize the `MastraClient`
|
|
60
61
|
|
|
61
62
|
Once initialized with a `baseUrl`, `MastraClient` exposes a type-safe interface for calling agents, tools, and workflows.
|
|
62
63
|
|
|
63
|
-
```typescript
|
|
64
|
+
```typescript title="lib/mastra-client.ts" showLineNumbers copy
|
|
64
65
|
import { MastraClient } from "@mastra/client-js";
|
|
65
66
|
|
|
66
67
|
export const mastraClient = new MastraClient({
|
|
67
|
-
baseUrl: process.env.MASTRA_API_URL || "http://localhost:4111"
|
|
68
|
+
baseUrl: process.env.MASTRA_API_URL || "http://localhost:4111",
|
|
68
69
|
});
|
|
69
70
|
```
|
|
70
71
|
|
|
@@ -72,13 +73,13 @@ export const mastraClient = new MastraClient({
|
|
|
72
73
|
|
|
73
74
|
The Mastra Client SDK exposes all resources served by the Mastra Server
|
|
74
75
|
|
|
75
|
-
- **[Agents](/reference/client-js/agents
|
|
76
|
-
- **[Memory](/reference/client-js/memory
|
|
77
|
-
- **[Tools](/reference/client-js/tools
|
|
78
|
-
- **[Workflows](/reference/client-js/workflows
|
|
79
|
-
- **[Vectors](/reference/client-js/vectors
|
|
80
|
-
- **[Logs](/reference/client-js/logs
|
|
81
|
-
- **[Telemetry](/reference/client-js/telemetry
|
|
76
|
+
- **[Agents](/reference/client-js/agents)**: Generate responses and stream conversations.
|
|
77
|
+
- **[Memory](/reference/client-js/memory)**: Manage conversation threads and message history.
|
|
78
|
+
- **[Tools](/reference/client-js/tools)**: Executed and managed tools.
|
|
79
|
+
- **[Workflows](/reference/client-js/workflows)**: Trigger workflows and track their execution.
|
|
80
|
+
- **[Vectors](/reference/client-js/vectors)**: Use vector embeddings for semantic search.
|
|
81
|
+
- **[Logs](/reference/client-js/logs)**: View logs and debug system behavior.
|
|
82
|
+
- **[Telemetry](/reference/client-js/telemetry)**: Monitor app performance and trace activity.
|
|
82
83
|
|
|
83
84
|
## Generating responses
|
|
84
85
|
|
|
@@ -95,9 +96,9 @@ const testAgent = async () => {
|
|
|
95
96
|
messages: [
|
|
96
97
|
{
|
|
97
98
|
role: "user",
|
|
98
|
-
content: "Hello"
|
|
99
|
-
}
|
|
100
|
-
]
|
|
99
|
+
content: "Hello",
|
|
100
|
+
},
|
|
101
|
+
],
|
|
101
102
|
});
|
|
102
103
|
|
|
103
104
|
console.log(response.text);
|
|
@@ -107,7 +108,7 @@ const testAgent = async () => {
|
|
|
107
108
|
};
|
|
108
109
|
```
|
|
109
110
|
|
|
110
|
-
> See [.generate()](
|
|
111
|
+
> See [.generate()](/reference/client-js/agents#generate-response) for more information.
|
|
111
112
|
|
|
112
113
|
## Streaming responses
|
|
113
114
|
|
|
@@ -124,15 +125,15 @@ const testAgent = async () => {
|
|
|
124
125
|
messages: [
|
|
125
126
|
{
|
|
126
127
|
role: "user",
|
|
127
|
-
content: "Hello"
|
|
128
|
-
}
|
|
129
|
-
]
|
|
128
|
+
content: "Hello",
|
|
129
|
+
},
|
|
130
|
+
],
|
|
130
131
|
});
|
|
131
132
|
|
|
132
133
|
stream.processDataStream({
|
|
133
134
|
onTextPart: (text) => {
|
|
134
135
|
console.log(text);
|
|
135
|
-
}
|
|
136
|
+
},
|
|
136
137
|
});
|
|
137
138
|
} catch (error) {
|
|
138
139
|
return "Error occurred while generating response";
|
|
@@ -140,13 +141,13 @@ const testAgent = async () => {
|
|
|
140
141
|
};
|
|
141
142
|
```
|
|
142
143
|
|
|
143
|
-
> See [.stream()](
|
|
144
|
+
> See [.stream()](/reference/client-js/agents#stream-response) for more information.
|
|
144
145
|
|
|
145
146
|
## Configuration options
|
|
146
147
|
|
|
147
148
|
`MastraClient` accepts optional parameters like `retries`, `backoffMs`, and `headers` to control request behavior. These parameters are useful for controlling retry behavior and including diagnostic metadata.
|
|
148
149
|
|
|
149
|
-
```typescript
|
|
150
|
+
```typescript title="lib/mastra-client.ts" showLineNumbers copy
|
|
150
151
|
import { MastraClient } from "@mastra/client-js";
|
|
151
152
|
|
|
152
153
|
export const mastraClient = new MastraClient({
|
|
@@ -160,7 +161,7 @@ export const mastraClient = new MastraClient({
|
|
|
160
161
|
});
|
|
161
162
|
```
|
|
162
163
|
|
|
163
|
-
|
|
164
|
+
> See [MastraClient](/reference/client-js/mastra-client) for more configuration options.
|
|
164
165
|
|
|
165
166
|
## Adding request cancelling
|
|
166
167
|
|
|
@@ -168,14 +169,14 @@ export const mastraClient = new MastraClient({
|
|
|
168
169
|
|
|
169
170
|
Pass an `AbortSignal` to the client constructor to enable cancellation across all requests.
|
|
170
171
|
|
|
171
|
-
```typescript {3,7}
|
|
172
|
+
```typescript {3,7} title="lib/mastra-client.ts" showLineNumbers copy
|
|
172
173
|
import { MastraClient } from "@mastra/client-js";
|
|
173
174
|
|
|
174
175
|
export const controller = new AbortController();
|
|
175
176
|
|
|
176
177
|
export const mastraClient = new MastraClient({
|
|
177
178
|
baseUrl: process.env.MASTRA_API_URL || "http://localhost:4111",
|
|
178
|
-
abortSignal: controller.signal
|
|
179
|
+
abortSignal: controller.signal,
|
|
179
180
|
});
|
|
180
181
|
```
|
|
181
182
|
|
|
@@ -198,8 +199,8 @@ Define tools directly in client-side applications using the `createTool()` funct
|
|
|
198
199
|
This lets agents trigger browser-side functionality such as DOM manipulation, local storage access, or other Web APIs, enabling tool execution in the user's environment rather than on the server.
|
|
199
200
|
|
|
200
201
|
```typescript {27} showLineNumbers copy
|
|
201
|
-
import { createTool } from
|
|
202
|
-
import { z } from
|
|
202
|
+
import { createTool } from "@mastra/client-js";
|
|
203
|
+
import { z } from "zod";
|
|
203
204
|
|
|
204
205
|
const handleClientTool = async () => {
|
|
205
206
|
try {
|
|
@@ -209,22 +210,22 @@ const handleClientTool = async () => {
|
|
|
209
210
|
id: "color-change-tool",
|
|
210
211
|
description: "Changes the HTML background color",
|
|
211
212
|
inputSchema: z.object({
|
|
212
|
-
color: z.string()
|
|
213
|
+
color: z.string(),
|
|
213
214
|
}),
|
|
214
215
|
outputSchema: z.object({
|
|
215
|
-
success: z.boolean()
|
|
216
|
+
success: z.boolean(),
|
|
216
217
|
}),
|
|
217
218
|
execute: async ({ context }) => {
|
|
218
|
-
const { color } = context
|
|
219
|
+
const { color } = context;
|
|
219
220
|
|
|
220
221
|
document.body.style.backgroundColor = color;
|
|
221
222
|
return { success: true };
|
|
222
|
-
}
|
|
223
|
+
},
|
|
223
224
|
});
|
|
224
225
|
|
|
225
226
|
const response = await agent.generate({
|
|
226
227
|
messages: "Change the background to blue",
|
|
227
|
-
clientTools: { colorChangeTool }
|
|
228
|
+
clientTools: { colorChangeTool },
|
|
228
229
|
});
|
|
229
230
|
|
|
230
231
|
console.log(response);
|
|
@@ -233,11 +234,12 @@ const handleClientTool = async () => {
|
|
|
233
234
|
}
|
|
234
235
|
};
|
|
235
236
|
```
|
|
237
|
+
|
|
236
238
|
### Client tool's agent
|
|
237
239
|
|
|
238
|
-
This is a standard Mastra [agent](../agents/overview#
|
|
240
|
+
This is a standard Mastra [agent](../agents/overview#setting-up-agents) configured to return hex color codes, intended to work with the browser-based client tool defined above.
|
|
239
241
|
|
|
240
|
-
```typescript
|
|
242
|
+
```typescript title="src/mastra/agents/color-agent" showLineNumbers copy
|
|
241
243
|
import { openai } from "@ai-sdk/openai";
|
|
242
244
|
import { Agent } from "@mastra/core/agent";
|
|
243
245
|
|
|
@@ -246,7 +248,7 @@ export const colorAgent = new Agent({
|
|
|
246
248
|
instructions: `You are a helpful CSS assistant.
|
|
247
249
|
You can change the background color of web pages.
|
|
248
250
|
Respond with a hex reference for the color requested by the user`,
|
|
249
|
-
model: openai("gpt-4o-mini")
|
|
251
|
+
model: openai("gpt-4o-mini"),
|
|
250
252
|
});
|
|
251
253
|
```
|
|
252
254
|
|
|
@@ -259,7 +261,7 @@ export async function action() {
|
|
|
259
261
|
const agent = mastraClient.getAgent("testAgent");
|
|
260
262
|
|
|
261
263
|
const stream = await agent.stream({
|
|
262
|
-
messages: [{ role: "user", content: "Hello" }]
|
|
264
|
+
messages: [{ role: "user", content: "Hello" }],
|
|
263
265
|
});
|
|
264
266
|
|
|
265
267
|
return new Response(stream.body);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Middleware"
|
|
2
|
+
title: "Middleware | Server & DB | Mastra Docs"
|
|
3
3
|
description: "Apply custom middleware functions to intercept requests."
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -138,6 +138,7 @@ be inspected by middleware to tailor behaviour:
|
|
|
138
138
|
},
|
|
139
139
|
}
|
|
140
140
|
```
|
|
141
|
+
|
|
141
142
|
- `x-mastra-cloud`: request originates from Mastra Cloud
|
|
142
143
|
- `x-mastra-client-type`: identifies the client SDK, e.g. `js` or `python`
|
|
143
144
|
- `x-mastra-dev-playground`: request triggered from a local playground
|
|
@@ -146,7 +147,7 @@ be inspected by middleware to tailor behaviour:
|
|
|
146
147
|
|
|
147
148
|
You can populate `runtimeContext` dynamically in server middleware by extracting information from the request. In this example, the `temperature-unit` is set based on the Cloudflare `CF-IPCountry` header to ensure responses match the user's locale.
|
|
148
149
|
|
|
149
|
-
```typescript
|
|
150
|
+
```typescript title="src/mastra/index.ts" showLineNumbers copy
|
|
150
151
|
import { Mastra } from "@mastra/core/mastra";
|
|
151
152
|
import { RuntimeContext } from "@mastra/core/runtime-context";
|
|
152
153
|
import { testWeatherAgent } from "./agents/test-weather-agent";
|
|
@@ -159,15 +160,18 @@ export const mastra = new Mastra({
|
|
|
159
160
|
const country = context.req.header("CF-IPCountry");
|
|
160
161
|
const runtimeContext = context.get("runtimeContext");
|
|
161
162
|
|
|
162
|
-
runtimeContext.set(
|
|
163
|
+
runtimeContext.set(
|
|
164
|
+
"temperature-unit",
|
|
165
|
+
country === "US" ? "fahrenheit" : "celsius",
|
|
166
|
+
);
|
|
163
167
|
|
|
164
168
|
await next();
|
|
165
|
-
}
|
|
166
|
-
]
|
|
167
|
-
}
|
|
169
|
+
},
|
|
170
|
+
],
|
|
171
|
+
},
|
|
168
172
|
});
|
|
169
173
|
```
|
|
170
174
|
|
|
171
175
|
# Related
|
|
172
176
|
|
|
173
|
-
- [Runtime Context](./runtime-context
|
|
177
|
+
- [Runtime Context](./runtime-context)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Create
|
|
2
|
+
title: "Create a Mastra Production Server | Server & DB | Mastra Docs"
|
|
3
3
|
description: "Learn how to configure and deploy a production-ready Mastra server with custom settings for APIs, CORS, and more"
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -29,7 +29,7 @@ adding additional server behaviour.
|
|
|
29
29
|
|
|
30
30
|
You can configure server `port` and `timeout` in the Mastra instance.
|
|
31
31
|
|
|
32
|
-
```typescript
|
|
32
|
+
```typescript title="src/mastra/index.ts" copy showLineNumbers
|
|
33
33
|
import { Mastra } from "@mastra/core/mastra";
|
|
34
34
|
|
|
35
35
|
export const mastra = new Mastra({
|
|
@@ -49,7 +49,7 @@ invoked for any HTTP method that matches the path.
|
|
|
49
49
|
|
|
50
50
|
Mastra requires `module` and `moduleResolution` values that support modern Node.js versions. Older settings like `CommonJS` or `node` are incompatible with Mastra’s packages and will cause resolution errors.
|
|
51
51
|
|
|
52
|
-
```json {4-5}
|
|
52
|
+
```json {4-5} title="tsconfig.json" copy
|
|
53
53
|
{
|
|
54
54
|
"compilerOptions": {
|
|
55
55
|
"target": "ES2022",
|
|
@@ -62,9 +62,7 @@ Mastra requires `module` and `moduleResolution` values that support modern Node.
|
|
|
62
62
|
"noEmit": true,
|
|
63
63
|
"outDir": "dist"
|
|
64
64
|
},
|
|
65
|
-
"include": [
|
|
66
|
-
"src/**/*"
|
|
67
|
-
]
|
|
65
|
+
"include": ["src/**/*"]
|
|
68
66
|
}
|
|
69
67
|
```
|
|
70
68
|
|
|
@@ -74,7 +72,7 @@ Mastra requires `module` and `moduleResolution` values that support modern Node.
|
|
|
74
72
|
|
|
75
73
|
Mastra allows you to configure CORS (Cross-Origin Resource Sharing) settings for your server.
|
|
76
74
|
|
|
77
|
-
```typescript
|
|
75
|
+
```typescript title="src/mastra/index.ts" copy showLineNumbers
|
|
78
76
|
import { Mastra } from "@mastra/core/mastra";
|
|
79
77
|
|
|
80
78
|
export const mastra = new Mastra({
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Runtime Context |
|
|
2
|
+
title: "Runtime Context | Server & DB | Mastra Docs"
|
|
3
3
|
description: Learn how to use Mastra's RuntimeContext to provide dynamic, request-specific configuration to agents.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
import { Callout } from "nextra/components";
|
|
7
|
-
|
|
8
6
|
# Runtime Context
|
|
9
7
|
|
|
10
8
|
Agents, tools, and workflows can all accept `RuntimeContext` as a parameter, making request-specific values available to the underlying primitives.
|
|
@@ -13,11 +11,13 @@ Agents, tools, and workflows can all accept `RuntimeContext` as a parameter, mak
|
|
|
13
11
|
|
|
14
12
|
Use `RuntimeContext` when a primitive’s behavior should change based on runtime conditions. For example, you might switch models or storage backends based on user attributes, or adjust instructions and tool selection based on language.
|
|
15
13
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
:::note
|
|
15
|
+
|
|
16
|
+
**Note:** `RuntimeContext` is primarily used for passing data into specific
|
|
17
|
+
requests. It's distinct from agent memory, which handles conversation
|
|
18
|
+
history and state persistence across multiple calls.
|
|
19
|
+
|
|
20
|
+
:::
|
|
21
21
|
|
|
22
22
|
## Setting values
|
|
23
23
|
|
|
@@ -40,33 +40,33 @@ runtimeContext.set("user-tier", "enterprise");
|
|
|
40
40
|
|
|
41
41
|
const agent = mastra.getAgent("weatherAgent");
|
|
42
42
|
await agent.generate("What's the weather in London?", {
|
|
43
|
-
runtimeContext
|
|
44
|
-
})
|
|
43
|
+
runtimeContext,
|
|
44
|
+
});
|
|
45
45
|
|
|
46
46
|
const routingAgent = mastra.getAgent("routingAgent");
|
|
47
47
|
routingAgent.network("What's the weather in London?", {
|
|
48
|
-
runtimeContext
|
|
48
|
+
runtimeContext,
|
|
49
49
|
});
|
|
50
50
|
|
|
51
51
|
const run = await mastra.getWorkflow("weatherWorkflow").createRunAsync();
|
|
52
52
|
await run.start({
|
|
53
53
|
inputData: {
|
|
54
|
-
location: "London"
|
|
54
|
+
location: "London",
|
|
55
55
|
},
|
|
56
|
-
runtimeContext
|
|
56
|
+
runtimeContext,
|
|
57
57
|
});
|
|
58
58
|
await run.resume({
|
|
59
59
|
resumeData: {
|
|
60
|
-
city: "New York"
|
|
60
|
+
city: "New York",
|
|
61
61
|
},
|
|
62
|
-
runtimeContext
|
|
62
|
+
runtimeContext,
|
|
63
63
|
});
|
|
64
64
|
|
|
65
65
|
await weatherTool.execute({
|
|
66
66
|
context: {
|
|
67
|
-
location: "London"
|
|
67
|
+
location: "London",
|
|
68
68
|
},
|
|
69
|
-
runtimeContext
|
|
69
|
+
runtimeContext,
|
|
70
70
|
});
|
|
71
71
|
```
|
|
72
72
|
|
|
@@ -74,7 +74,7 @@ await weatherTool.execute({
|
|
|
74
74
|
|
|
75
75
|
You can populate `runtimeContext` dynamically in server middleware by extracting information from the request. In this example, the `temperature-unit` is set based on the Cloudflare `CF-IPCountry` header to ensure responses match the user's locale.
|
|
76
76
|
|
|
77
|
-
```typescript
|
|
77
|
+
```typescript title="src/mastra/index.ts" showLineNumbers copy
|
|
78
78
|
import { Mastra } from "@mastra/core/mastra";
|
|
79
79
|
import { RuntimeContext } from "@mastra/core/runtime-context";
|
|
80
80
|
import { testWeatherAgent } from "./agents/test-weather-agent";
|
|
@@ -87,22 +87,25 @@ export const mastra = new Mastra({
|
|
|
87
87
|
const country = context.req.header("CF-IPCountry");
|
|
88
88
|
const runtimeContext = context.get("runtimeContext");
|
|
89
89
|
|
|
90
|
-
runtimeContext.set(
|
|
90
|
+
runtimeContext.set(
|
|
91
|
+
"temperature-unit",
|
|
92
|
+
country === "US" ? "fahrenheit" : "celsius",
|
|
93
|
+
);
|
|
91
94
|
|
|
92
95
|
await next();
|
|
93
|
-
}
|
|
94
|
-
]
|
|
95
|
-
}
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
},
|
|
96
99
|
});
|
|
97
100
|
```
|
|
98
101
|
|
|
99
|
-
> See [Middleware](
|
|
102
|
+
> See [Middleware](/docs/server-db/middleware) for how to use server middleware.
|
|
100
103
|
|
|
101
104
|
## Accessing values with agents
|
|
102
105
|
|
|
103
106
|
You can access the `runtimeContext` argument from any supported configuration options in agents. These functions can be sync or `async`. Use the `.get()` method to read values from `runtimeContext`.
|
|
104
107
|
|
|
105
|
-
```typescript {7-8,15,18,21}
|
|
108
|
+
```typescript {7-8,15,18,21} title="src/mastra/agents/weather-agent.ts" showLineNumbers
|
|
106
109
|
export type UserTier = {
|
|
107
110
|
"user-tier": "enterprise" | "pro";
|
|
108
111
|
};
|
|
@@ -131,13 +134,13 @@ export const weatherAgent = new Agent({
|
|
|
131
134
|
|
|
132
135
|
You can also use `runtimeContext` with other options like `agents`, `workflows`, `scorers`, `inputProcessors`, and `outputProcessors`.
|
|
133
136
|
|
|
134
|
-
> See [Agent](
|
|
137
|
+
> See [Agent](/reference/agents/agent) for a full list of configuration options.
|
|
135
138
|
|
|
136
139
|
## Accessing values from workflow steps
|
|
137
140
|
|
|
138
141
|
You can access the `runtimeContext` argument from a workflow step's `execute` function. This function can be sync or async. Use the `.get()` method to read values from `runtimeContext`.
|
|
139
142
|
|
|
140
|
-
```typescript {7-8}
|
|
143
|
+
```typescript {7-8} title="src/mastra/workflows/weather-workflow.ts" showLineNumbers copy
|
|
141
144
|
export type UserTier = {
|
|
142
145
|
"user-tier": "enterprise" | "pro";
|
|
143
146
|
};
|
|
@@ -151,17 +154,17 @@ const stepOne = createStep({
|
|
|
151
154
|
// ...
|
|
152
155
|
}
|
|
153
156
|
// ...
|
|
154
|
-
}
|
|
157
|
+
},
|
|
155
158
|
});
|
|
156
159
|
```
|
|
157
160
|
|
|
158
|
-
> See [createStep()](
|
|
161
|
+
> See [createStep()](/reference/workflows/step) for a full list of configuration options.
|
|
159
162
|
|
|
160
163
|
## Accessing values with tools
|
|
161
164
|
|
|
162
|
-
You can access the `runtimeContext` argument from a tool’s `execute` function. This function is `async`.
|
|
165
|
+
You can access the `runtimeContext` argument from a tool’s `execute` function. This function is `async`. Use the `.get()` method to read values from `runtimeContext`.
|
|
163
166
|
|
|
164
|
-
```typescript {7-8}
|
|
167
|
+
```typescript {7-8} title="src/mastra/tools/weather-tool.ts" showLineNumbers
|
|
165
168
|
export type UserTier = {
|
|
166
169
|
"user-tier": "enterprise" | "pro";
|
|
167
170
|
};
|
|
@@ -174,17 +177,17 @@ export const weatherTool = createTool({
|
|
|
174
177
|
if (userTier === "enterprise") {
|
|
175
178
|
// ...
|
|
176
179
|
}
|
|
177
|
-
|
|
178
|
-
}
|
|
180
|
+
// ...
|
|
181
|
+
},
|
|
179
182
|
});
|
|
180
183
|
```
|
|
181
184
|
|
|
182
|
-
> See [createTool()](
|
|
185
|
+
> See [createTool()](/reference/tools/create-tool) for a full list of configuration options.
|
|
183
186
|
|
|
184
187
|
## Related
|
|
185
188
|
|
|
186
|
-
- [Runtime Context Example](
|
|
187
|
-
- [Agent Runtime Context](
|
|
188
|
-
- [Workflow Runtime Context](../workflows/overview
|
|
189
|
-
- [Tool Runtime Context](../tools-mcp/overview
|
|
190
|
-
- [Server Middleware Runtime Context](
|
|
189
|
+
- [Runtime Context Example](/examples/agents/runtime-context)
|
|
190
|
+
- [Agent Runtime Context](/docs/agents/overview#using-runtimecontext)
|
|
191
|
+
- [Workflow Runtime Context](../workflows/overview#using-runtimecontext)
|
|
192
|
+
- [Tool Runtime Context](../tools-mcp/overview#using-runtimecontext)
|
|
193
|
+
- [Server Middleware Runtime Context](/docs/server-db/middleware)
|