@mastra/mcp-docs-server 1.0.0-beta.11 → 1.0.0-beta.14
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/%40mastra%2Fagent-builder.md +29 -29
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +51 -51
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +180 -180
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +39 -39
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +39 -39
- package/.docs/organized/changelogs/%40mastra%2Fconvex.md +68 -0
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +331 -331
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +31 -31
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +41 -41
- package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +39 -39
- package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +6 -0
- package/.docs/organized/changelogs/%40mastra%2Flance.md +39 -39
- package/.docs/organized/changelogs/%40mastra%2Flibsql.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +24 -24
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +24 -24
- package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +39 -39
- package/.docs/organized/changelogs/%40mastra%2Fmssql.md +39 -39
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +96 -96
- package/.docs/organized/changelogs/%40mastra%2Frag.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Freact.md +49 -2
- package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +6 -0
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +122 -122
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +39 -39
- package/.docs/organized/changelogs/create-mastra.md +31 -31
- package/.docs/organized/changelogs/mastra.md +51 -51
- package/.docs/organized/code-examples/agent-v6.md +151 -0
- package/.docs/organized/code-examples/ai-elements.md +1 -1
- package/.docs/organized/code-examples/quick-start.md +0 -4
- package/.docs/organized/code-examples/stock-price-tool.md +21 -2
- package/.docs/raw/agents/adding-voice.mdx +2 -3
- package/.docs/raw/agents/agent-approval.mdx +139 -6
- package/.docs/raw/agents/agent-memory.mdx +24 -32
- package/.docs/raw/agents/guardrails.mdx +61 -51
- package/.docs/raw/agents/networks.mdx +9 -13
- package/.docs/raw/agents/overview.mdx +40 -24
- package/.docs/raw/agents/processors.mdx +20 -19
- package/.docs/raw/agents/structured-output.mdx +11 -7
- package/.docs/raw/agents/using-tools.mdx +5 -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 +2 -2
- package/.docs/raw/course/03-agent-memory/04-creating-basic-memory-agent.md +1 -2
- package/.docs/raw/course/03-agent-memory/08-configuring-conversation-history.md +1 -2
- package/.docs/raw/course/03-agent-memory/16-configuring-semantic-recall.md +3 -4
- package/.docs/raw/course/03-agent-memory/21-configuring-working-memory.md +2 -3
- package/.docs/raw/course/03-agent-memory/22-custom-working-memory-templates.md +2 -3
- package/.docs/raw/course/03-agent-memory/25-combining-memory-features.md +1 -2
- package/.docs/raw/course/03-agent-memory/27-creating-learning-assistant.md +2 -3
- package/.docs/raw/course/04-workflows/11-creating-an-ai-agent.md +2 -3
- package/.docs/raw/deployment/cloud-providers.mdx +20 -0
- package/.docs/raw/deployment/{building-mastra.mdx → mastra-server.mdx} +5 -5
- package/.docs/raw/deployment/monorepo.mdx +23 -44
- package/.docs/raw/deployment/overview.mdx +32 -50
- package/.docs/raw/deployment/web-framework.mdx +15 -19
- package/.docs/raw/evals/custom-scorers.mdx +9 -6
- package/.docs/raw/evals/overview.mdx +3 -6
- package/.docs/raw/evals/running-in-ci.mdx +2 -2
- package/.docs/raw/getting-started/manual-install.mdx +20 -20
- package/.docs/raw/getting-started/mcp-docs-server.mdx +2 -2
- package/.docs/raw/getting-started/start.mdx +10 -1
- package/.docs/raw/getting-started/studio.mdx +1 -1
- package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +4 -4
- package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +1033 -79
- package/.docs/raw/guides/build-your-ui/assistant-ui.mdx +8 -8
- package/.docs/raw/guides/build-your-ui/copilotkit.mdx +11 -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 +12 -15
- package/.docs/raw/guides/deployment/index.mdx +32 -0
- package/.docs/raw/guides/deployment/inngest.mdx +386 -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 +170 -61
- package/.docs/raw/guides/getting-started/quickstart.mdx +4 -4
- 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 +17 -17
- package/.docs/raw/guides/guide/stock-agent.mdx +5 -5
- package/.docs/raw/guides/guide/web-search.mdx +8 -8
- package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +7 -7
- package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +2 -2
- package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +1 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +17 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +6 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +0 -2
- package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +21 -23
- package/.docs/raw/index.mdx +2 -2
- package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/dashboard.mdx +2 -6
- package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/observability.mdx +1 -5
- package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/overview.mdx +2 -6
- package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/setting-up.mdx +8 -7
- package/.docs/raw/mcp/overview.mdx +31 -13
- package/.docs/raw/mcp/publishing-mcp-server.mdx +2 -2
- package/.docs/raw/memory/memory-processors.mdx +9 -9
- package/.docs/raw/memory/message-history.mdx +69 -0
- package/.docs/raw/memory/overview.mdx +34 -76
- package/.docs/raw/memory/semantic-recall.mdx +58 -49
- package/.docs/raw/memory/storage.mdx +188 -0
- package/.docs/raw/memory/working-memory.mdx +7 -7
- package/.docs/raw/observability/logging.mdx +10 -11
- package/.docs/raw/observability/overview.mdx +0 -1
- package/.docs/raw/observability/tracing/bridges/otel.mdx +2 -2
- package/.docs/raw/observability/tracing/exporters/cloud.mdx +1 -1
- package/.docs/raw/observability/tracing/exporters/default.mdx +3 -3
- package/.docs/raw/observability/tracing/exporters/langfuse.mdx +1 -2
- package/.docs/raw/observability/tracing/overview.mdx +23 -25
- package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +3 -3
- package/.docs/raw/rag/chunking-and-embedding.mdx +18 -31
- package/.docs/raw/rag/graph-rag.mdx +220 -0
- package/.docs/raw/rag/overview.mdx +2 -3
- package/.docs/raw/rag/retrieval.mdx +34 -51
- package/.docs/raw/rag/vector-databases.mdx +29 -25
- package/.docs/raw/reference/agents/agent.mdx +3 -3
- package/.docs/raw/reference/agents/generate.mdx +1 -1
- package/.docs/raw/reference/agents/generateLegacy.mdx +2 -2
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +3 -3
- package/.docs/raw/reference/agents/getDefaultOptions.mdx +3 -3
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +3 -3
- package/.docs/raw/reference/agents/getDescription.mdx +1 -1
- package/.docs/raw/reference/agents/getInstructions.mdx +3 -3
- package/.docs/raw/reference/agents/getLLM.mdx +3 -3
- package/.docs/raw/reference/agents/getMemory.mdx +3 -3
- package/.docs/raw/reference/agents/getModel.mdx +3 -3
- package/.docs/raw/reference/agents/getTools.mdx +2 -2
- package/.docs/raw/reference/agents/getVoice.mdx +2 -2
- package/.docs/raw/reference/agents/listAgents.mdx +2 -2
- package/.docs/raw/reference/agents/listScorers.mdx +3 -3
- package/.docs/raw/reference/agents/listTools.mdx +2 -2
- package/.docs/raw/reference/agents/listWorkflows.mdx +2 -2
- package/.docs/raw/reference/agents/network.mdx +1 -1
- package/.docs/raw/reference/ai-sdk/chat-route.mdx +3 -3
- package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +2 -2
- package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +2 -2
- package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +2 -2
- package/.docs/raw/reference/ai-sdk/network-route.mdx +3 -3
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +6 -6
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-v4-messages.mdx +127 -0
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-v5-messages.mdx +107 -0
- package/.docs/raw/reference/ai-sdk/with-mastra.mdx +1 -1
- package/.docs/raw/reference/ai-sdk/workflow-route.mdx +3 -3
- package/.docs/raw/reference/auth/auth0.mdx +2 -3
- package/.docs/raw/reference/auth/clerk.mdx +2 -3
- package/.docs/raw/reference/auth/firebase.mdx +3 -5
- package/.docs/raw/reference/auth/jwt.mdx +2 -3
- package/.docs/raw/reference/auth/supabase.mdx +2 -3
- package/.docs/raw/reference/auth/workos.mdx +2 -3
- package/.docs/raw/reference/cli/create-mastra.mdx +10 -10
- package/.docs/raw/reference/cli/mastra.mdx +10 -10
- package/.docs/raw/reference/client-js/agents.mdx +1 -2
- package/.docs/raw/reference/client-js/mastra-client.mdx +2 -2
- package/.docs/raw/reference/client-js/workflows.mdx +20 -0
- package/.docs/raw/reference/core/getAgent.mdx +1 -1
- package/.docs/raw/reference/core/getAgentById.mdx +1 -1
- package/.docs/raw/reference/core/getDeployer.mdx +1 -1
- package/.docs/raw/reference/core/getLogger.mdx +1 -1
- package/.docs/raw/reference/core/getMCPServer.mdx +1 -1
- package/.docs/raw/reference/core/getMCPServerById.mdx +1 -1
- package/.docs/raw/reference/core/getMemory.mdx +2 -2
- package/.docs/raw/reference/core/getServer.mdx +3 -3
- package/.docs/raw/reference/core/getStorage.mdx +2 -2
- package/.docs/raw/reference/core/getStoredAgentById.mdx +3 -3
- package/.docs/raw/reference/core/getTelemetry.mdx +1 -1
- package/.docs/raw/reference/core/getVector.mdx +1 -1
- package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
- package/.docs/raw/reference/core/listAgents.mdx +1 -1
- package/.docs/raw/reference/core/listLogs.mdx +1 -1
- package/.docs/raw/reference/core/listLogsByRunId.mdx +1 -1
- package/.docs/raw/reference/core/listMCPServers.mdx +1 -1
- package/.docs/raw/reference/core/listMemory.mdx +2 -2
- package/.docs/raw/reference/core/listStoredAgents.mdx +4 -4
- package/.docs/raw/reference/core/listVectors.mdx +1 -1
- package/.docs/raw/reference/core/listWorkflows.mdx +1 -1
- package/.docs/raw/reference/core/setLogger.mdx +1 -1
- package/.docs/raw/reference/core/setStorage.mdx +2 -2
- package/.docs/raw/reference/core/setTelemetry.mdx +1 -1
- package/.docs/raw/reference/deployer/cloudflare.mdx +1 -2
- package/.docs/raw/reference/deployer/deployer.mdx +0 -1
- package/.docs/raw/reference/deployer/netlify.mdx +1 -1
- package/.docs/raw/reference/deployer/vercel.mdx +2 -4
- package/.docs/raw/reference/evals/answer-relevancy.mdx +1 -1
- package/.docs/raw/reference/evals/answer-similarity.mdx +1 -1
- package/.docs/raw/reference/evals/bias.mdx +1 -1
- package/.docs/raw/reference/evals/completeness.mdx +1 -1
- package/.docs/raw/reference/evals/content-similarity.mdx +1 -1
- package/.docs/raw/reference/evals/context-precision.mdx +1 -1
- package/.docs/raw/reference/evals/faithfulness.mdx +1 -1
- package/.docs/raw/reference/evals/hallucination.mdx +1 -1
- package/.docs/raw/reference/evals/keyword-coverage.mdx +1 -1
- package/.docs/raw/reference/evals/prompt-alignment.mdx +7 -7
- package/.docs/raw/reference/evals/textual-difference.mdx +1 -1
- package/.docs/raw/reference/evals/tone-consistency.mdx +1 -1
- package/.docs/raw/reference/evals/tool-call-accuracy.mdx +10 -10
- package/.docs/raw/reference/evals/toxicity.mdx +1 -1
- package/.docs/raw/reference/logging/pino-logger.mdx +7 -8
- package/.docs/raw/reference/memory/createThread.mdx +2 -2
- package/.docs/raw/reference/memory/deleteMessages.mdx +2 -2
- package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +2 -2
- package/.docs/raw/reference/memory/memory-class.mdx +3 -3
- package/.docs/raw/reference/memory/query.mdx +2 -2
- package/.docs/raw/reference/memory/recall.mdx +2 -2
- package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +1 -1
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +2 -2
- package/.docs/raw/reference/processors/language-detector.mdx +2 -2
- package/.docs/raw/reference/processors/message-history-processor.mdx +2 -2
- package/.docs/raw/reference/processors/moderation-processor.mdx +3 -3
- package/.docs/raw/reference/processors/pii-detector.mdx +3 -3
- package/.docs/raw/reference/processors/processor-interface.mdx +13 -13
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +2 -2
- package/.docs/raw/reference/processors/semantic-recall-processor.mdx +2 -2
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +2 -2
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +2 -2
- package/.docs/raw/reference/processors/tool-call-filter.mdx +3 -3
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +2 -2
- package/.docs/raw/reference/processors/working-memory-processor.mdx +3 -3
- package/.docs/raw/reference/rag/chunk.mdx +1 -1
- package/.docs/raw/reference/rag/database-config.mdx +1 -1
- package/.docs/raw/reference/rag/extract-params.mdx +2 -2
- package/.docs/raw/reference/rag/metadata-filters.mdx +7 -7
- package/.docs/raw/reference/server/create-route.mdx +14 -14
- package/.docs/raw/reference/server/express-adapter.mdx +10 -11
- package/.docs/raw/reference/server/hono-adapter.mdx +10 -11
- package/.docs/raw/reference/server/mastra-server.mdx +22 -22
- package/.docs/raw/reference/server/routes.mdx +28 -1
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +3 -3
- package/.docs/raw/reference/storage/cloudflare.mdx +2 -2
- package/.docs/raw/reference/storage/convex.mdx +6 -6
- package/.docs/raw/reference/storage/dynamodb.mdx +4 -4
- package/.docs/raw/reference/storage/lance.mdx +3 -3
- package/.docs/raw/reference/storage/libsql.mdx +69 -54
- package/.docs/raw/reference/storage/mongodb.mdx +80 -7
- package/.docs/raw/reference/storage/mssql.mdx +4 -4
- package/.docs/raw/{server-db/storage.mdx → reference/storage/overview.mdx} +13 -111
- package/.docs/raw/reference/storage/postgresql.mdx +78 -7
- package/.docs/raw/reference/storage/upstash.mdx +74 -2
- package/.docs/raw/reference/streaming/agents/stream.mdx +27 -5
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +2 -2
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +1 -1
- package/.docs/raw/reference/streaming/workflows/resumeStream.mdx +1 -1
- package/.docs/raw/reference/streaming/workflows/stream.mdx +35 -22
- package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +4 -4
- package/.docs/raw/reference/templates/overview.mdx +1 -2
- package/.docs/raw/reference/tools/create-tool.mdx +24 -5
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +3 -3
- package/.docs/raw/reference/tools/vector-query-tool.mdx +4 -4
- package/.docs/raw/reference/vectors/astra.mdx +3 -3
- package/.docs/raw/reference/vectors/chroma.mdx +3 -3
- package/.docs/raw/reference/vectors/convex.mdx +12 -12
- package/.docs/raw/reference/vectors/couchbase.mdx +5 -5
- package/.docs/raw/reference/vectors/duckdb.mdx +10 -10
- package/.docs/raw/reference/vectors/elasticsearch.mdx +4 -4
- package/.docs/raw/reference/vectors/lance.mdx +4 -4
- package/.docs/raw/reference/vectors/libsql.mdx +61 -11
- package/.docs/raw/reference/vectors/mongodb.mdx +58 -5
- package/.docs/raw/reference/vectors/pg.mdx +53 -6
- package/.docs/raw/reference/vectors/pinecone.mdx +3 -3
- package/.docs/raw/reference/vectors/qdrant.mdx +3 -3
- package/.docs/raw/reference/vectors/s3vectors.mdx +6 -6
- package/.docs/raw/reference/vectors/turbopuffer.mdx +4 -4
- package/.docs/raw/reference/vectors/upstash.mdx +55 -6
- package/.docs/raw/reference/vectors/vectorize.mdx +3 -3
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +2 -2
- package/.docs/raw/reference/workflows/run-methods/restart.mdx +1 -3
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +2 -2
- package/.docs/raw/reference/workflows/run-methods/start.mdx +2 -2
- package/.docs/raw/reference/workflows/run-methods/startAsync.mdx +143 -0
- package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +5 -5
- package/.docs/raw/reference/workflows/run.mdx +1 -1
- package/.docs/raw/reference/workflows/step.mdx +3 -3
- package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +37 -2
- package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +6 -6
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +7 -7
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow.mdx +17 -3
- package/.docs/raw/{auth → server/auth}/auth0.mdx +20 -14
- package/.docs/raw/{auth → server/auth}/clerk.mdx +16 -9
- package/.docs/raw/{auth → server/auth}/firebase.mdx +21 -15
- package/.docs/raw/{auth → server/auth}/index.mdx +6 -6
- package/.docs/raw/{auth → server/auth}/jwt.mdx +14 -7
- package/.docs/raw/{auth → server/auth}/supabase.mdx +16 -9
- package/.docs/raw/{auth → server/auth}/workos.mdx +19 -13
- package/.docs/raw/{server-db → server}/custom-adapters.mdx +13 -13
- package/.docs/raw/{server-db → server}/custom-api-routes.mdx +3 -5
- package/.docs/raw/{server-db → server}/mastra-client.mdx +26 -15
- package/.docs/raw/{server-db → server}/mastra-server.mdx +8 -8
- package/.docs/raw/{server-db → server}/middleware.mdx +9 -9
- package/.docs/raw/{server-db → server}/request-context.mdx +33 -32
- package/.docs/raw/{server-db → server}/server-adapters.mdx +12 -12
- package/.docs/raw/streaming/events.mdx +14 -7
- package/.docs/raw/streaming/overview.mdx +21 -10
- package/.docs/raw/streaming/tool-streaming.mdx +6 -6
- package/.docs/raw/streaming/workflow-streaming.mdx +6 -8
- package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
- package/.docs/raw/tools-mcp/mcp-overview.mdx +31 -12
- package/.docs/raw/tools-mcp/overview.mdx +10 -11
- package/.docs/raw/voice/overview.mdx +1 -1
- package/.docs/raw/workflows/agents-and-tools.mdx +28 -19
- package/.docs/raw/workflows/control-flow.mdx +27 -40
- package/.docs/raw/workflows/error-handling.mdx +172 -18
- package/.docs/raw/workflows/human-in-the-loop.mdx +6 -7
- package/.docs/raw/workflows/inngest-workflow.mdx +8 -9
- package/.docs/raw/workflows/input-data-mapping.mdx +7 -7
- package/.docs/raw/workflows/overview.mdx +34 -23
- package/.docs/raw/workflows/snapshots.mdx +14 -44
- package/.docs/raw/workflows/suspend-and-resume.mdx +7 -7
- package/.docs/raw/workflows/time-travel.mdx +16 -16
- package/.docs/raw/workflows/workflow-state.mdx +5 -8
- package/CHANGELOG.md +23 -0
- package/dist/logger.d.ts +3 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/stdio.js +53 -0
- package/package.json +4 -4
- package/.docs/organized/changelogs/%40internal%2Fai-sdk-v4.md +0 -1
- package/.docs/raw/deployment/cloud-providers/index.mdx +0 -55
- 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
|
@@ -3,6 +3,9 @@ title: "Next.js | Frameworks"
|
|
|
3
3
|
description: "Get started with Mastra and Next.js"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
import Tabs from "@theme/Tabs";
|
|
7
|
+
import TabItem from "@theme/TabItem";
|
|
8
|
+
|
|
6
9
|
# Integrate Mastra in your Next.js project
|
|
7
10
|
|
|
8
11
|
In this guide, you'll build a tool-calling AI agent using Mastra, then connect it to Next.js by importing and calling the agent directly from your routes.
|
|
@@ -16,7 +19,8 @@ You'll use [AI SDK UI](https://ai-sdk.dev/docs/ai-sdk-ui/overview) and [AI Eleme
|
|
|
16
19
|
|
|
17
20
|
## Before you begin
|
|
18
21
|
|
|
19
|
-
|
|
22
|
+
- You'll need an API key from a supported [model provider](/models/v1). If you don't have a preference, use [OpenAI](/models/v1/providers/openai).
|
|
23
|
+
- Install Node.js `v22.13.0` or later
|
|
20
24
|
|
|
21
25
|
## Create a new Next.js app (optional)
|
|
22
26
|
|
|
@@ -24,31 +28,80 @@ If you already have a Next.js app, skip to the next step.
|
|
|
24
28
|
|
|
25
29
|
Run the following command to [create a new Next.js app](https://nextjs.org/docs/app/getting-started/installation):
|
|
26
30
|
|
|
31
|
+
<Tabs groupId="pm">
|
|
32
|
+
<TabItem value="npm" label="npm">
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npx create-next-app@latest my-nextjs-agent --yes --ts --eslint --tailwind --src-dir --app --turbopack --no-react-compiler --no-import-alias
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
</TabItem>
|
|
39
|
+
<TabItem value="pnpm" label="pnpm">
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
pnpm create next-app@latest my-nextjs-agent --yes --ts --eslint --tailwind --src-dir --app --turbopack --no-react-compiler --no-import-alias
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
</TabItem>
|
|
46
|
+
<TabItem value="yarn" label="yarn">
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
yarn create next-app@latest my-nextjs-agent --yes --ts --eslint --tailwind --src-dir --app --turbopack --no-react-compiler --no-import-alias
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
</TabItem>
|
|
53
|
+
<TabItem value="bun" label="bun">
|
|
54
|
+
|
|
27
55
|
```bash
|
|
28
|
-
|
|
29
|
-
my-nextjs-agent \
|
|
30
|
-
--yes \
|
|
31
|
-
--ts \
|
|
32
|
-
--eslint \
|
|
33
|
-
--tailwind \
|
|
34
|
-
--src-dir \
|
|
35
|
-
--app \
|
|
36
|
-
--turbopack \
|
|
37
|
-
--no-react-compiler \
|
|
38
|
-
--no-import-alias
|
|
56
|
+
bun create next-app@latest my-nextjs-agent --yes --ts --eslint --tailwind --src-dir --app --turbopack --no-react-compiler --no-import-alias
|
|
39
57
|
```
|
|
40
58
|
|
|
59
|
+
</TabItem>
|
|
60
|
+
</Tabs>
|
|
61
|
+
|
|
41
62
|
This creates a project called `my-nextjs-agent`, but you can replace it with any name you want.
|
|
42
63
|
|
|
43
64
|
## Initialize Mastra
|
|
44
|
-
|
|
65
|
+
|
|
66
|
+
`cd` into your Next.js project and run [`mastra init`](/reference/v1/cli/mastra#mastra-init).
|
|
45
67
|
|
|
46
68
|
When prompted, choose a provider (e.g. OpenAI) and enter your key:
|
|
47
69
|
|
|
70
|
+
<Tabs groupId="pm">
|
|
71
|
+
<TabItem value="npm" label="npm">
|
|
72
|
+
|
|
48
73
|
```bash
|
|
49
74
|
cd my-nextjs-agent
|
|
50
75
|
npx --force mastra@beta init
|
|
51
76
|
```
|
|
77
|
+
|
|
78
|
+
</TabItem>
|
|
79
|
+
<TabItem value="pnpm" label="pnpm">
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
cd my-nextjs-agent
|
|
83
|
+
pnpm dlx mastra@beta init
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
</TabItem>
|
|
87
|
+
<TabItem value="yarn" label="yarn">
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
cd my-nextjs-agent
|
|
91
|
+
yarn dlx mastra@beta init
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
</TabItem>
|
|
95
|
+
<TabItem value="bun" label="bun">
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
cd my-nextjs-agent
|
|
99
|
+
bunx mastra@beta init
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
</TabItem>
|
|
103
|
+
</Tabs>
|
|
104
|
+
|
|
52
105
|
This creates a `src/mastra` folder with an example weather agent and the following files:
|
|
53
106
|
|
|
54
107
|
- `index.ts` - Mastra config, including memory
|
|
@@ -57,69 +110,127 @@ This creates a `src/mastra` folder with an example weather agent and the followi
|
|
|
57
110
|
|
|
58
111
|
You'll call `weather-agent.ts` from your Next.js routes in the next steps.
|
|
59
112
|
|
|
113
|
+
## Install AI SDK UI & AI Elements
|
|
114
|
+
|
|
115
|
+
Install AI SDK UI along with the Mastra adapter:
|
|
60
116
|
|
|
61
|
-
|
|
117
|
+
<Tabs groupId="pm">
|
|
118
|
+
<TabItem value="npm" label="npm">
|
|
62
119
|
|
|
63
|
-
|
|
120
|
+
```bash
|
|
121
|
+
npm install @mastra/ai-sdk@beta @ai-sdk/react ai
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
</TabItem>
|
|
125
|
+
<TabItem value="pnpm" label="pnpm">
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
pnpm add @mastra/ai-sdk@beta @ai-sdk/react ai
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
</TabItem>
|
|
132
|
+
<TabItem value="yarn" label="yarn">
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
yarn add @mastra/ai-sdk@beta @ai-sdk/react ai
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
</TabItem>
|
|
139
|
+
<TabItem value="bun" label="bun">
|
|
64
140
|
|
|
65
141
|
```bash
|
|
66
|
-
|
|
67
|
-
@mastra/ai-sdk \
|
|
68
|
-
@ai-sdk/react \
|
|
69
|
-
ai
|
|
142
|
+
bun add @mastra/ai-sdk@beta @ai-sdk/react ai
|
|
70
143
|
```
|
|
71
144
|
|
|
145
|
+
</TabItem>
|
|
146
|
+
</Tabs>
|
|
147
|
+
|
|
72
148
|
Next, initialize AI Elements. When prompted, choose the default options:
|
|
73
149
|
|
|
150
|
+
<Tabs groupId="pm">
|
|
151
|
+
<TabItem value="npm" label="npm">
|
|
152
|
+
|
|
74
153
|
```bash
|
|
75
154
|
npx ai-elements@latest
|
|
76
155
|
```
|
|
77
156
|
|
|
78
|
-
|
|
157
|
+
</TabItem>
|
|
158
|
+
<TabItem value="pnpm" label="pnpm">
|
|
79
159
|
|
|
160
|
+
```bash
|
|
161
|
+
pnpm dlx ai-elements@latest
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
</TabItem>
|
|
165
|
+
<TabItem value="yarn" label="yarn">
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
yarn dlx ai-elements@latest
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
</TabItem>
|
|
172
|
+
<TabItem value="bun" label="bun">
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
bunx ai-elements@latest
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
</TabItem>
|
|
179
|
+
</Tabs>
|
|
180
|
+
|
|
181
|
+
This downloads the entire AI Elements UI component library into a `@/components/ai-elements` folder.
|
|
80
182
|
|
|
81
183
|
## Create a chat route
|
|
82
184
|
|
|
83
185
|
Create `src/app/api/chat/route.ts`:
|
|
84
186
|
|
|
85
187
|
```ts title="src/app/api/chat/route.ts"
|
|
86
|
-
import {
|
|
87
|
-
import {
|
|
88
|
-
import {
|
|
89
|
-
import {
|
|
90
|
-
import {
|
|
188
|
+
import { handleChatStream } from '@mastra/ai-sdk';
|
|
189
|
+
import { toAISdkV5Messages } from '@mastra/ai-sdk/ui'
|
|
190
|
+
import { createUIMessageStreamResponse } from 'ai';
|
|
191
|
+
import { mastra } from '@/mastra';
|
|
192
|
+
import { NextResponse } from 'next/server';
|
|
91
193
|
|
|
92
|
-
const
|
|
194
|
+
const THREAD_ID = 'example-user-id';
|
|
195
|
+
const RESOURCE_ID = 'weather-chat';
|
|
93
196
|
|
|
94
197
|
export async function POST(req: Request) {
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
198
|
+
const params = await req.json();
|
|
199
|
+
const stream = await handleChatStream({
|
|
200
|
+
mastra,
|
|
201
|
+
agentId: 'weather-agent',
|
|
202
|
+
params: {
|
|
203
|
+
...params,
|
|
204
|
+
memory: {
|
|
205
|
+
...params.memory,
|
|
206
|
+
thread: THREAD_ID,
|
|
207
|
+
resource: RESOURCE_ID,
|
|
208
|
+
}
|
|
101
209
|
},
|
|
102
210
|
});
|
|
103
|
-
|
|
104
|
-
return createUIMessageStreamResponse({
|
|
105
|
-
stream: toAISdkStream(stream, { from: "agent" }),
|
|
106
|
-
})
|
|
211
|
+
return createUIMessageStreamResponse({ stream });
|
|
107
212
|
}
|
|
108
213
|
|
|
109
214
|
export async function GET() {
|
|
110
|
-
const memory = await
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
215
|
+
const memory = await mastra.getAgentById('weather-agent').getMemory()
|
|
216
|
+
let response = null
|
|
217
|
+
|
|
218
|
+
try {
|
|
219
|
+
response = await memory?.recall({
|
|
220
|
+
threadId: THREAD_ID,
|
|
221
|
+
resourceId: RESOURCE_ID,
|
|
222
|
+
})
|
|
223
|
+
} catch {
|
|
224
|
+
console.log('No previous messages found.')
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
const uiMessages = toAISdkV5Messages(response?.messages || []);
|
|
228
|
+
|
|
229
|
+
return NextResponse.json(uiMessages)
|
|
119
230
|
}
|
|
120
231
|
```
|
|
121
232
|
|
|
122
|
-
The POST route accepts a prompt and streams the agent's response back in AI SDK format, while the GET route fetches message history from memory so the UI can be hydrated when the client reloads.
|
|
233
|
+
The `POST` route accepts a prompt and streams the agent's response back in AI SDK format, while the `GET` route fetches message history from memory so the UI can be hydrated when the client reloads.
|
|
123
234
|
|
|
124
235
|
## Create a chat page
|
|
125
236
|
|
|
@@ -130,7 +241,7 @@ Create `src/app/chat/page.tsx`:
|
|
|
130
241
|
|
|
131
242
|
import '@/app/globals.css';
|
|
132
243
|
import { useEffect, useState } from 'react';
|
|
133
|
-
import { DefaultChatTransport } from 'ai';
|
|
244
|
+
import { DefaultChatTransport, ToolUIPart } from 'ai';
|
|
134
245
|
import { useChat } from '@ai-sdk/react';
|
|
135
246
|
|
|
136
247
|
import {
|
|
@@ -186,9 +297,9 @@ function Chat() {
|
|
|
186
297
|
<div className="flex flex-col h-full">
|
|
187
298
|
<Conversation className="h-full">
|
|
188
299
|
<ConversationContent>
|
|
189
|
-
{messages.map((message
|
|
300
|
+
{messages.map((message) => (
|
|
190
301
|
<div key={message.id}>
|
|
191
|
-
{message.parts?.map((part
|
|
302
|
+
{message.parts?.map((part, i) => {
|
|
192
303
|
if (part.type === 'text') {
|
|
193
304
|
return (
|
|
194
305
|
<Message
|
|
@@ -205,15 +316,15 @@ function Chat() {
|
|
|
205
316
|
return (
|
|
206
317
|
<Tool key={`${message.id}-${i}`}>
|
|
207
318
|
<ToolHeader
|
|
208
|
-
type={part.type}
|
|
209
|
-
state={part.state || 'output-available'}
|
|
319
|
+
type={(part as ToolUIPart).type}
|
|
320
|
+
state={(part as ToolUIPart).state || 'output-available'}
|
|
210
321
|
className="cursor-pointer"
|
|
211
322
|
/>
|
|
212
323
|
<ToolContent>
|
|
213
|
-
<ToolInput input={part
|
|
324
|
+
<ToolInput input={(part as ToolUIPart).input || {}} />
|
|
214
325
|
<ToolOutput
|
|
215
|
-
output={part
|
|
216
|
-
errorText={part
|
|
326
|
+
output={(part as ToolUIPart).output}
|
|
327
|
+
errorText={(part as ToolUIPart).errorText}
|
|
217
328
|
/>
|
|
218
329
|
</ToolContent>
|
|
219
330
|
</Tool>
|
|
@@ -231,7 +342,7 @@ function Chat() {
|
|
|
231
342
|
<PromptInput onSubmit={handleSubmit} className="mt-20">
|
|
232
343
|
<PromptInputBody>
|
|
233
344
|
<PromptInputTextarea
|
|
234
|
-
onChange={(e
|
|
345
|
+
onChange={(e) => setInput(e.target.value)}
|
|
235
346
|
className="md:leading-10"
|
|
236
347
|
value={input}
|
|
237
348
|
placeholder="Type your message..."
|
|
@@ -251,12 +362,10 @@ This component connects [`useChat()`](https://ai-sdk.dev/docs/reference/ai-sdk-u
|
|
|
251
362
|
|
|
252
363
|
It renders the response text using the [`<MessageResponse>`](https://ai-sdk.dev/elements/components/message#messageresponse-) component, and shows any tool invocations with the [`<Tool>`](https://ai-sdk.dev/elements/components/tool) component.
|
|
253
364
|
|
|
254
|
-
|
|
255
365
|
## Test your agent
|
|
256
|
-
1. Run your Next.js app with `npm run dev`
|
|
257
366
|
|
|
367
|
+
1. Run your Next.js app with `npm run dev`
|
|
258
368
|
2. Open the chat at http://localhost:3000/chat
|
|
259
|
-
|
|
260
369
|
3. Try asking about the weather. If your API key is set up correctly, you'll get a response
|
|
261
370
|
|
|
262
371
|
## Next steps
|
|
@@ -269,8 +378,8 @@ From here, you can extend the project with your own tools and logic:
|
|
|
269
378
|
- Give your agent its own [tools](/docs/v1/agents/using-tools)
|
|
270
379
|
- Add human-like [memory](/docs/v1/agents/agent-memory) to your agent
|
|
271
380
|
|
|
272
|
-
When you're ready, read more about how Mastra integrates with AI SDK and Next.js, and how to deploy your agent anywhere, including Vercel:
|
|
381
|
+
When you're ready, read more about how Mastra integrates with AI SDK UI and Next.js, and how to deploy your agent anywhere, including Vercel:
|
|
273
382
|
|
|
274
|
-
- Integrate Mastra with [AI SDK](/guides/v1/build-your-ui/ai-sdk-ui)
|
|
275
|
-
- Deploy your agent to [Vercel](/
|
|
383
|
+
- Integrate Mastra with [AI SDK UI](/guides/v1/build-your-ui/ai-sdk-ui)
|
|
384
|
+
- Deploy your agent to [Vercel](/guides/v1/deployment/vercel-deployer)
|
|
276
385
|
- Deploy your agent [anywhere](/docs/v1/deployment/overview)
|
|
@@ -28,28 +28,28 @@ When prompted, choose a provider (e.g. OpenAI) and enter your key:
|
|
|
28
28
|
<Tabs>
|
|
29
29
|
<TabItem value="npm" label="npm">
|
|
30
30
|
|
|
31
|
-
```bash
|
|
31
|
+
```bash
|
|
32
32
|
npm create mastra@beta
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
</TabItem>
|
|
36
36
|
<TabItem value="pnpm" label="pnpm">
|
|
37
37
|
|
|
38
|
-
```bash
|
|
38
|
+
```bash
|
|
39
39
|
pnpm create mastra@beta
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
</TabItem>
|
|
43
43
|
<TabItem value="yarn" label="yarn">
|
|
44
44
|
|
|
45
|
-
```bash
|
|
45
|
+
```bash
|
|
46
46
|
yarn create mastra@beta
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
</TabItem>
|
|
50
50
|
<TabItem value="bun" label="bun">
|
|
51
51
|
|
|
52
|
-
```bash
|
|
52
|
+
```bash
|
|
53
53
|
bun create mastra@beta
|
|
54
54
|
```
|
|
55
55
|
|