@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
|
@@ -88,7 +88,7 @@ npm install ai
|
|
|
88
88
|
|
|
89
89
|
Here's an example of a tool defined using the Vercel AI SDK format:
|
|
90
90
|
|
|
91
|
-
```typescript
|
|
91
|
+
```typescript title="src/mastra/tools/vercelWeatherTool.ts" copy
|
|
92
92
|
import { tool } from "ai";
|
|
93
93
|
import { z } from "zod";
|
|
94
94
|
|
|
@@ -108,7 +108,7 @@ export const vercelWeatherTool = tool({
|
|
|
108
108
|
|
|
109
109
|
You can then add this tool to your Mastra agent just like any other tool:
|
|
110
110
|
|
|
111
|
-
```typescript
|
|
111
|
+
```typescript title="src/mastra/agents/mixedToolsAgent.ts"
|
|
112
112
|
import { Agent } from "@mastra/core/agent";
|
|
113
113
|
import { openai } from "@ai-sdk/openai";
|
|
114
114
|
import { vercelWeatherTool } from "../tools/vercelWeatherTool"; // Vercel AI SDK tool
|
|
@@ -3,7 +3,8 @@ title: "MCP Overview | Tools & MCP | Mastra Docs"
|
|
|
3
3
|
description: Learn about the Model Context Protocol (MCP), how to use third-party tools via MCPClient, connect to registries, and share your own tools using MCPServer.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
import Tabs from "@theme/Tabs";
|
|
7
|
+
import TabItem from "@theme/TabItem";
|
|
7
8
|
|
|
8
9
|
# MCP Overview
|
|
9
10
|
|
|
@@ -28,7 +29,7 @@ npm install @mastra/mcp@latest
|
|
|
28
29
|
|
|
29
30
|
The `MCPClient` connects Mastra primitives to external MCP servers, which can be local packages (invoked using `npx`) or remote HTTP(S) endpoints. Each server must be configured with either a `command` or a `url`, depending on how it's hosted.
|
|
30
31
|
|
|
31
|
-
```typescript
|
|
32
|
+
```typescript title="src/mastra/mcp/test-mcp-client.ts" showLineNumbers copy
|
|
32
33
|
import { MCPClient } from "@mastra/mcp";
|
|
33
34
|
|
|
34
35
|
export const testMcpClient = new MCPClient({
|
|
@@ -36,22 +37,24 @@ export const testMcpClient = new MCPClient({
|
|
|
36
37
|
servers: {
|
|
37
38
|
wikipedia: {
|
|
38
39
|
command: "npx",
|
|
39
|
-
args: ["-y", "wikipedia-mcp"]
|
|
40
|
+
args: ["-y", "wikipedia-mcp"],
|
|
40
41
|
},
|
|
41
42
|
weather: {
|
|
42
|
-
url: new URL(
|
|
43
|
+
url: new URL(
|
|
44
|
+
`https://server.smithery.ai/@smithery-ai/national-weather-service/mcp?api_key=${process.env.SMITHERY_API_KEY}`,
|
|
45
|
+
),
|
|
43
46
|
},
|
|
44
|
-
}
|
|
47
|
+
},
|
|
45
48
|
});
|
|
46
49
|
```
|
|
47
50
|
|
|
48
|
-
> See [MCPClient](
|
|
51
|
+
> See [MCPClient](/reference/tools/mcp-client) for a full list of configuration options.
|
|
49
52
|
|
|
50
53
|
## Using `MCPClient` with an agent
|
|
51
54
|
|
|
52
55
|
To use tools from an MCP server in an agent, import your `MCPClient` and call `.getTools()` in the `tools` parameter. This loads from the defined MCP servers, making them available to the agent.
|
|
53
56
|
|
|
54
|
-
```typescript {4,16}
|
|
57
|
+
```typescript {4,16} title="src/mastra/agents/test-agent.ts" showLineNumbers copy
|
|
55
58
|
import { openai } from "@ai-sdk/openai";
|
|
56
59
|
import { Agent } from "@mastra/core/agent";
|
|
57
60
|
|
|
@@ -67,16 +70,17 @@ export const testAgent = new Agent({
|
|
|
67
70
|
|
|
68
71
|
Answer questions using the information you find using the MCP Servers.`,
|
|
69
72
|
model: openai("gpt-4o-mini"),
|
|
70
|
-
tools: await testMcpClient.getTools()
|
|
73
|
+
tools: await testMcpClient.getTools(),
|
|
71
74
|
});
|
|
72
75
|
```
|
|
73
|
-
|
|
76
|
+
|
|
77
|
+
> See the [Agent Class](/reference/agents/agent) for a full list of configuration options.
|
|
74
78
|
|
|
75
79
|
## Configuring `MCPServer`
|
|
76
80
|
|
|
77
81
|
To expose agents, tools, and workflows from your Mastra application to external systems over HTTP(S) use the `MCPServer` class. This makes them accessible to any system or agent that supports the protocol.
|
|
78
82
|
|
|
79
|
-
```typescript
|
|
83
|
+
```typescript title="src/mastra/mcp/test-mcp-server.ts" showLineNumbers copy
|
|
80
84
|
import { MCPServer } from "@mastra/mcp";
|
|
81
85
|
|
|
82
86
|
import { testAgent } from "../agents/test-agent";
|
|
@@ -89,24 +93,24 @@ export const testMcpServer = new MCPServer({
|
|
|
89
93
|
version: "1.0.0",
|
|
90
94
|
agents: { testAgent },
|
|
91
95
|
tools: { testTool },
|
|
92
|
-
workflows: { testWorkflow }
|
|
96
|
+
workflows: { testWorkflow },
|
|
93
97
|
});
|
|
94
98
|
```
|
|
95
99
|
|
|
96
|
-
> See [MCPServer](
|
|
100
|
+
> See [MCPServer](/reference/tools/mcp-server) for a full list of configuration options.
|
|
97
101
|
|
|
98
102
|
## Registering an `MCPServer`
|
|
99
103
|
|
|
100
104
|
To make an MCP server available to other systems or agents that support the protocol, register it in the main `Mastra` instance using `mcpServers`.
|
|
101
105
|
|
|
102
|
-
```typescript
|
|
106
|
+
```typescript title="src/mastra/index.ts" showLineNumbers copy
|
|
103
107
|
import { Mastra } from "@mastra/core/mastra";
|
|
104
108
|
|
|
105
109
|
import { testMcpServer } from "./mcp/test-mcp-server";
|
|
106
110
|
|
|
107
111
|
export const mastra = new Mastra({
|
|
108
112
|
// ...
|
|
109
|
-
mcpServers: { testMcpServer }
|
|
113
|
+
mcpServers: { testMcpServer },
|
|
110
114
|
});
|
|
111
115
|
```
|
|
112
116
|
|
|
@@ -114,10 +118,10 @@ export const mastra = new Mastra({
|
|
|
114
118
|
|
|
115
119
|
`MCPClient` offers two approaches to retrieving tools from connected servers, suitable for different application architectures:
|
|
116
120
|
|
|
117
|
-
| Feature | Static Configuration (`await mcp.getTools()`)
|
|
118
|
-
| :---------------- |
|
|
119
|
-
| **Use Case** | Single-user, static config (e.g., CLI tool)
|
|
120
|
-
| **Configuration**
|
|
121
|
+
| Feature | Static Configuration (`await mcp.getTools()`) | Dynamic Configuration (`await mcp.getToolsets()`) |
|
|
122
|
+
| :---------------- | :-------------------------------------------- | :--------------------------------------------------- |
|
|
123
|
+
| **Use Case** | Single-user, static config (e.g., CLI tool) | Multi-user, dynamic config (e.g., SaaS app) |
|
|
124
|
+
| **Configuration** | Fixed at agent initialization | Per-request, dynamic |
|
|
121
125
|
| **Credentials** | Shared across all uses | Can vary per user/request |
|
|
122
126
|
| **Agent Setup** | Tools added in `Agent` constructor | Tools passed in `.generate()` or `.stream()` options |
|
|
123
127
|
|
|
@@ -125,9 +129,9 @@ export const mastra = new Mastra({
|
|
|
125
129
|
|
|
126
130
|
Use the `.getTools()` method to fetch tools from all configured MCP servers. This is suitable when configuration (such as API keys) is static and consistent across users or requests. Call it once and pass the result to the `tools` property when defining your agent.
|
|
127
131
|
|
|
128
|
-
> See [getTools()](
|
|
132
|
+
> See [getTools()](/reference/tools/mcp-client#gettools) for more information.
|
|
129
133
|
|
|
130
|
-
```typescript {8}
|
|
134
|
+
```typescript {8} title="src/mastra/agents/test-agent.ts" showLineNumbers copy
|
|
131
135
|
import { openai } from "@ai-sdk/openai";
|
|
132
136
|
import { Agent } from "@mastra/core/agent";
|
|
133
137
|
|
|
@@ -135,7 +139,7 @@ import { testMcpClient } from "../mcp/test-mcp-client";
|
|
|
135
139
|
|
|
136
140
|
export const testAgent = new Agent({
|
|
137
141
|
// ...
|
|
138
|
-
tools: await testMcpClient.getTools()
|
|
142
|
+
tools: await testMcpClient.getTools(),
|
|
139
143
|
});
|
|
140
144
|
```
|
|
141
145
|
|
|
@@ -154,45 +158,35 @@ async function handleRequest(userPrompt: string, userApiKey: string) {
|
|
|
154
158
|
url: new URL("http://localhost:8080/mcp"),
|
|
155
159
|
requestInit: {
|
|
156
160
|
headers: {
|
|
157
|
-
Authorization: `Bearer ${userApiKey}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
161
|
+
Authorization: `Bearer ${userApiKey}`,
|
|
162
|
+
},
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
},
|
|
162
166
|
});
|
|
163
167
|
|
|
164
168
|
const agent = mastra.getAgent("testAgent");
|
|
165
169
|
|
|
166
170
|
const response = await agent.generate(userPrompt, {
|
|
167
|
-
toolsets: await userMcp.getToolsets()
|
|
171
|
+
toolsets: await userMcp.getToolsets(),
|
|
168
172
|
});
|
|
169
173
|
|
|
170
174
|
await userMcp.disconnect();
|
|
171
175
|
|
|
172
176
|
return Response.json({
|
|
173
|
-
data: response.text
|
|
177
|
+
data: response.text,
|
|
174
178
|
});
|
|
175
179
|
}
|
|
176
180
|
```
|
|
177
181
|
|
|
178
|
-
> See [getToolsets()](
|
|
179
|
-
|
|
180
|
-
|
|
182
|
+
> See [getToolsets()](/reference/tools/mcp-client#gettoolsets) for more information.
|
|
181
183
|
|
|
182
184
|
## Connecting to an MCP registry
|
|
183
185
|
|
|
184
186
|
MCP servers can be discovered through registries. Here's how to connect to some popular ones using `MCPClient`:
|
|
185
187
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
LLM CONTEXT: This Tabs component shows how to connect to different MCP (Model Context Protocol) registries.
|
|
189
|
-
Each tab demonstrates the configuration for a specific MCP registry service (mcp.run, Composio.dev, Smithery.ai).
|
|
190
|
-
The tabs help users understand how to connect to various MCP server providers and their different authentication methods.
|
|
191
|
-
Each tab shows the specific URL patterns and configuration needed for that registry service.
|
|
192
|
-
*/}
|
|
193
|
-
|
|
194
|
-
<Tabs items={["Klavis AI", "mcp.run", "Composio.dev", "Smithery.ai", "Ampersand"]}>
|
|
195
|
-
<Tabs.Tab>
|
|
188
|
+
<Tabs>
|
|
189
|
+
<TabItem value="klavis" label="Klavis AI">
|
|
196
190
|
[Klavis AI](https://klavis.ai) provides hosted, enterprise-authenticated, high-quality MCP servers.
|
|
197
191
|
|
|
198
192
|
```typescript
|
|
@@ -214,8 +208,8 @@ Each tab shows the specific URL patterns and configuration needed for that regis
|
|
|
214
208
|
|
|
215
209
|
For more details on how to integrate Mastra with Klavis, check out their [documentation](https://docs.klavis.ai/documentation/ai-platform-integration/mastra).
|
|
216
210
|
|
|
217
|
-
</
|
|
218
|
-
<
|
|
211
|
+
</TabItem>
|
|
212
|
+
<TabItem value="mcp-run" label="mcp.run">
|
|
219
213
|
[mcp.run](https://www.mcp.run/) provides pre-authenticated, managed MCP servers. Tools are grouped into Profiles, each with a unique, signed URL.
|
|
220
214
|
|
|
221
215
|
```typescript
|
|
@@ -231,12 +225,12 @@ Each tab shows the specific URL patterns and configuration needed for that regis
|
|
|
231
225
|
```
|
|
232
226
|
|
|
233
227
|
> **Important:** Treat the mcp.run SSE URL like a password. Store it securely, for example, in an environment variable.
|
|
234
|
-
> ```bash
|
|
228
|
+
> ```bash title=".env"
|
|
235
229
|
> MCP_RUN_SSE_URL=https://www.mcp.run/api/mcp/sse?nonce=...
|
|
236
230
|
> ```
|
|
237
231
|
|
|
238
|
-
</
|
|
239
|
-
<
|
|
232
|
+
</TabItem>
|
|
233
|
+
<TabItem value="composio" label="Composio.dev">
|
|
240
234
|
[Composio.dev](https://composio.dev) offers a registry of [SSE-based MCP servers](https://mcp.composio.dev). You can use the SSE URL generated for tools like Cursor directly.
|
|
241
235
|
|
|
242
236
|
```typescript
|
|
@@ -258,8 +252,8 @@ Each tab shows the specific URL patterns and configuration needed for that regis
|
|
|
258
252
|
|
|
259
253
|
*Note: Composio URLs are typically tied to a single user account, making them best suited for personal automation rather than multi-tenant applications.*
|
|
260
254
|
|
|
261
|
-
</
|
|
262
|
-
<
|
|
255
|
+
</TabItem>
|
|
256
|
+
<TabItem value="smithery" label="Smithery.ai">
|
|
263
257
|
[Smithery.ai](https://smithery.ai) provides a registry accessible via their CLI.
|
|
264
258
|
|
|
265
259
|
```typescript
|
|
@@ -304,67 +298,63 @@ Each tab shows the specific URL patterns and configuration needed for that regis
|
|
|
304
298
|
});
|
|
305
299
|
```
|
|
306
300
|
|
|
307
|
-
</
|
|
308
|
-
|
|
301
|
+
</TabItem>
|
|
302
|
+
<TabItem value="ampersand" label="Ampersand">
|
|
309
303
|
|
|
310
|
-
|
|
304
|
+
[Ampersand](https://withampersand.com?utm_source=mastra-docs) offers an [MCP Server](https://docs.withampersand.com/mcp) that allows you to connect your agent to 150+ integrations with SaaS products like Salesforce, Hubspot, and Zendesk.
|
|
311
305
|
|
|
306
|
+
```typescript
|
|
307
|
+
// MCPClient with Ampersand MCP Server using SSE
|
|
308
|
+
export const mcp = new MCPClient({
|
|
309
|
+
servers: {
|
|
310
|
+
"@amp-labs/mcp-server": {
|
|
311
|
+
url: `https://mcp.withampersand.com/v1/sse?${new URLSearchParams({
|
|
312
|
+
apiKey: process.env.AMPERSAND_API_KEY,
|
|
313
|
+
project: process.env.AMPERSAND_PROJECT_ID,
|
|
314
|
+
integrationName: process.env.AMPERSAND_INTEGRATION_NAME,
|
|
315
|
+
groupRef: process.env.AMPERSAND_GROUP_REF,
|
|
316
|
+
})}`,
|
|
317
|
+
},
|
|
318
|
+
},
|
|
319
|
+
});
|
|
320
|
+
```
|
|
312
321
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
export const mcp = new MCPClient({
|
|
317
|
-
servers: {
|
|
318
|
-
"@amp-labs/mcp-server": {
|
|
319
|
-
"url": `https://mcp.withampersand.com/v1/sse?${new URLSearchParams({
|
|
320
|
-
apiKey: process.env.AMPERSAND_API_KEY,
|
|
321
|
-
project: process.env.AMPERSAND_PROJECT_ID,
|
|
322
|
-
integrationName: process.env.AMPERSAND_INTEGRATION_NAME,
|
|
323
|
-
groupRef: process.env.AMPERSAND_GROUP_REF
|
|
324
|
-
})}`
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
});
|
|
328
|
-
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
```typescript
|
|
332
|
-
// If you prefer to run the MCP server locally:
|
|
333
|
-
|
|
334
|
-
import { MCPClient } from "@mastra/mcp";
|
|
322
|
+
```typescript
|
|
323
|
+
// If you prefer to run the MCP server locally:
|
|
324
|
+
import { MCPClient } from "@mastra/mcp";
|
|
335
325
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
326
|
+
// MCPClient with Ampersand MCP Server using stdio transport
|
|
327
|
+
export const mcp = new MCPClient({
|
|
328
|
+
servers: {
|
|
329
|
+
"@amp-labs/mcp-server": {
|
|
330
|
+
command: "npx",
|
|
331
|
+
args: [
|
|
332
|
+
"-y",
|
|
333
|
+
"@amp-labs/mcp-server@latest",
|
|
334
|
+
"--transport",
|
|
335
|
+
"stdio",
|
|
336
|
+
"--project",
|
|
337
|
+
process.env.AMPERSAND_PROJECT_ID,
|
|
338
|
+
"--integrationName",
|
|
339
|
+
process.env.AMPERSAND_INTEGRATION_NAME,
|
|
340
|
+
"--groupRef",
|
|
341
|
+
process.env.AMPERSAND_GROUP_REF, // optional
|
|
342
|
+
],
|
|
343
|
+
env: {
|
|
344
|
+
AMPERSAND_API_KEY: process.env.AMPERSAND_API_KEY,
|
|
345
|
+
},
|
|
346
|
+
},
|
|
347
|
+
},
|
|
348
|
+
});
|
|
349
|
+
```
|
|
360
350
|
|
|
361
|
-
|
|
351
|
+
As an alternative to MCP, Ampersand's AI SDK also has an adapter for Mastra, so you can [directly import Ampersand tools](https://docs.withampersand.com/ai-sdk#use-with-mastra) for your agent to access.
|
|
362
352
|
|
|
363
|
-
</
|
|
353
|
+
</TabItem>
|
|
364
354
|
</Tabs>
|
|
365
355
|
|
|
366
356
|
## Related
|
|
367
357
|
|
|
368
|
-
- [Using Tools
|
|
369
|
-
- [MCPClient](
|
|
370
|
-
- [MCPServer](
|
|
358
|
+
- [Using Tools](/docs/agents/using-tools)
|
|
359
|
+
- [MCPClient](/reference/tools/mcp-client)
|
|
360
|
+
- [MCPServer](/reference/tools/mcp-server)
|
|
@@ -3,8 +3,6 @@ title: "Using Tools | Tools & MCP | Mastra Docs"
|
|
|
3
3
|
description: Understand what tools are in Mastra, how to add them to agents, and best practices for designing effective tools.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
import { Steps } from "nextra/components";
|
|
7
|
-
|
|
8
6
|
# Using Tools
|
|
9
7
|
|
|
10
8
|
Tools are functions that agents can execute to perform specific tasks or access external information. They extend an agent's capabilities beyond simple text generation, allowing interaction with APIs, databases, or other systems.
|
|
@@ -20,7 +18,7 @@ Each tool typically defines:
|
|
|
20
18
|
|
|
21
19
|
In Mastra, you create tools using the [`createTool`](/reference/tools/create-tool) function from the `@mastra/core/tools` package.
|
|
22
20
|
|
|
23
|
-
```typescript
|
|
21
|
+
```typescript title="src/mastra/tools/weatherInfo.ts" copy
|
|
24
22
|
import { createTool } from "@mastra/core/tools";
|
|
25
23
|
import { z } from "zod";
|
|
26
24
|
|
|
@@ -54,13 +52,13 @@ When creating tools, keep tool descriptions simple and focused on **what** the t
|
|
|
54
52
|
|
|
55
53
|
## Adding Tools to an Agent
|
|
56
54
|
|
|
57
|
-
To make tools available to an agent, you configure them in the agent's definition. Mentioning available tools and their general purpose in the agent's system prompt can also improve tool usage. For detailed steps and examples, see the guide on [Using Tools
|
|
55
|
+
To make tools available to an agent, you configure them in the agent's definition. Mentioning available tools and their general purpose in the agent's system prompt can also improve tool usage. For detailed steps and examples, see the guide on [Using Tools with Agents](/docs/agents/using-tools#adding-tools-to-an-agent).
|
|
58
56
|
|
|
59
57
|
## Using `RuntimeContext`
|
|
60
58
|
|
|
61
|
-
Use [RuntimeContext](
|
|
59
|
+
Use [RuntimeContext](/docs/server-db/runtime-context) to access request-specific values. This lets you conditionally adjust behavior based on the context of the request.
|
|
62
60
|
|
|
63
|
-
```typescript
|
|
61
|
+
```typescript title="src/mastra/tools/test-tool.ts" showLineNumbers
|
|
64
62
|
export type UserTier = {
|
|
65
63
|
"user-tier": "enterprise" | "pro";
|
|
66
64
|
};
|
|
@@ -69,7 +67,7 @@ const advancedTools = () => {
|
|
|
69
67
|
// ...
|
|
70
68
|
};
|
|
71
69
|
|
|
72
|
-
const baseTools =
|
|
70
|
+
const baseTools = () => {
|
|
73
71
|
// ...
|
|
74
72
|
};
|
|
75
73
|
|
|
@@ -78,16 +76,13 @@ export const testTool = createTool({
|
|
|
78
76
|
execute: async ({ runtimeContext }) => {
|
|
79
77
|
const userTier = runtimeContext.get("user-tier") as UserTier["user-tier"];
|
|
80
78
|
|
|
81
|
-
return userTier === "enterprise"
|
|
82
|
-
|
|
83
|
-
: baseTools;
|
|
84
|
-
}
|
|
79
|
+
return userTier === "enterprise" ? advancedTools : baseTools;
|
|
80
|
+
},
|
|
85
81
|
});
|
|
86
82
|
```
|
|
87
83
|
|
|
88
|
-
> See [Runtime Context](
|
|
84
|
+
> See [Runtime Context](/docs/server-db/runtime-context) for more information.
|
|
89
85
|
|
|
90
86
|
## Testing with Mastra Playground
|
|
91
87
|
|
|
92
|
-
Use the Mastra [Playground](
|
|
93
|
-
|
|
88
|
+
Use the Mastra [Playground](/docs/getting-started/studio) to test tools with different inputs, inspect execution results, and verify tool behavior.
|