@mastra/mcp-docs-server 1.1.7 → 1.1.8
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/docs/agents/agent-approval.md +61 -31
- package/.docs/docs/agents/supervisor-agents.md +1 -1
- package/.docs/docs/getting-started/manual-install.md +1 -1
- package/.docs/docs/index.md +68 -24
- package/.docs/docs/mastra-cloud/setup.md +1 -1
- package/.docs/docs/memory/observational-memory.md +9 -0
- package/.docs/docs/memory/semantic-recall.md +17 -1
- package/.docs/docs/workspace/skills.md +7 -5
- package/.docs/guides/deployment/aws-lambda.md +76 -165
- package/.docs/guides/deployment/azure-app-services.md +38 -61
- package/.docs/guides/deployment/cloudflare.md +1 -1
- package/.docs/guides/deployment/netlify.md +1 -1
- package/.docs/guides/deployment/vercel.md +1 -1
- package/.docs/models/gateways/netlify.md +5 -1
- package/.docs/models/index.md +1 -1
- package/.docs/models/providers/anthropic.md +9 -9
- package/.docs/models/providers/deepseek.md +1 -1
- package/.docs/models/providers/google.md +11 -11
- package/.docs/models/providers/openai.md +19 -19
- package/.docs/models/providers/opencode.md +33 -33
- package/.docs/models/providers/xai.md +3 -3
- package/.docs/reference/agents/agent.md +20 -20
- package/.docs/reference/agents/generate.md +200 -66
- package/.docs/reference/agents/generateLegacy.md +77 -35
- package/.docs/reference/agents/getDefaultGenerateOptions.md +4 -6
- package/.docs/reference/agents/getDefaultOptions.md +4 -6
- package/.docs/reference/agents/getDefaultStreamOptions.md +4 -6
- package/.docs/reference/agents/getDescription.md +1 -1
- package/.docs/reference/agents/getInstructions.md +4 -6
- package/.docs/reference/agents/getLLM.md +6 -8
- package/.docs/reference/agents/getMemory.md +4 -6
- package/.docs/reference/agents/getModel.md +4 -6
- package/.docs/reference/agents/getTools.md +5 -7
- package/.docs/reference/agents/getVoice.md +4 -6
- package/.docs/reference/agents/listAgents.md +4 -6
- package/.docs/reference/agents/listScorers.md +4 -6
- package/.docs/reference/agents/listTools.md +4 -6
- package/.docs/reference/agents/listWorkflows.md +4 -6
- package/.docs/reference/agents/network.md +69 -23
- package/.docs/reference/ai-sdk/chat-route.md +7 -7
- package/.docs/reference/ai-sdk/handle-chat-stream.md +12 -12
- package/.docs/reference/ai-sdk/handle-network-stream.md +4 -4
- package/.docs/reference/ai-sdk/handle-workflow-stream.md +11 -11
- package/.docs/reference/ai-sdk/network-route.md +3 -3
- package/.docs/reference/ai-sdk/to-ai-sdk-stream.md +9 -9
- package/.docs/reference/ai-sdk/to-ai-sdk-v4-messages.md +9 -9
- package/.docs/reference/ai-sdk/to-ai-sdk-v5-messages.md +5 -5
- package/.docs/reference/ai-sdk/with-mastra.md +12 -12
- package/.docs/reference/ai-sdk/workflow-route.md +3 -3
- package/.docs/reference/auth/auth0.md +6 -6
- package/.docs/reference/auth/better-auth.md +5 -5
- package/.docs/reference/auth/clerk.md +5 -5
- package/.docs/reference/auth/firebase.md +7 -7
- package/.docs/reference/auth/jwt.md +1 -1
- package/.docs/reference/auth/supabase.md +4 -4
- package/.docs/reference/auth/workos.md +6 -6
- package/.docs/reference/cli/create-mastra.md +14 -14
- package/.docs/reference/client-js/mastra-client.md +23 -23
- package/.docs/reference/client-js/workflows.md +3 -3
- package/.docs/reference/core/addGateway.md +2 -2
- package/.docs/reference/core/getAgent.md +2 -2
- package/.docs/reference/core/getAgentById.md +2 -2
- package/.docs/reference/core/getDeployer.md +1 -1
- package/.docs/reference/core/getGateway.md +2 -2
- package/.docs/reference/core/getGatewayById.md +2 -2
- package/.docs/reference/core/getLogger.md +1 -1
- package/.docs/reference/core/getMCPServer.md +2 -2
- package/.docs/reference/core/getMCPServerById.md +3 -3
- package/.docs/reference/core/getMemory.md +2 -2
- package/.docs/reference/core/getScorer.md +2 -2
- package/.docs/reference/core/getScorerById.md +2 -2
- package/.docs/reference/core/getServer.md +1 -1
- package/.docs/reference/core/getStorage.md +1 -1
- package/.docs/reference/core/getStoredAgentById.md +18 -20
- package/.docs/reference/core/getTelemetry.md +1 -1
- package/.docs/reference/core/getVector.md +2 -2
- package/.docs/reference/core/getWorkflow.md +3 -3
- package/.docs/reference/core/listAgents.md +1 -1
- package/.docs/reference/core/listGateways.md +1 -1
- package/.docs/reference/core/listLogs.md +9 -11
- package/.docs/reference/core/listLogsByRunId.md +9 -9
- package/.docs/reference/core/listMCPServers.md +1 -1
- package/.docs/reference/core/listMemory.md +1 -1
- package/.docs/reference/core/listScorers.md +1 -1
- package/.docs/reference/core/listStoredAgents.md +9 -11
- package/.docs/reference/core/listVectors.md +1 -1
- package/.docs/reference/core/listWorkflows.md +2 -2
- package/.docs/reference/core/mastra-class.md +17 -17
- package/.docs/reference/core/mastra-model-gateway.md +15 -15
- package/.docs/reference/core/setLogger.md +2 -4
- package/.docs/reference/core/setStorage.md +1 -1
- package/.docs/reference/datasets/addItem.md +20 -4
- package/.docs/reference/datasets/addItems.md +8 -2
- package/.docs/reference/datasets/compareExperiments.md +15 -3
- package/.docs/reference/datasets/create.md +6 -6
- package/.docs/reference/datasets/dataset.md +1 -1
- package/.docs/reference/datasets/delete.md +2 -2
- package/.docs/reference/datasets/deleteExperiment.md +2 -2
- package/.docs/reference/datasets/deleteItem.md +2 -2
- package/.docs/reference/datasets/deleteItems.md +2 -2
- package/.docs/reference/datasets/get.md +2 -2
- package/.docs/reference/datasets/getDetails.md +9 -9
- package/.docs/reference/datasets/getExperiment.md +2 -2
- package/.docs/reference/datasets/getItem.md +3 -3
- package/.docs/reference/datasets/getItemHistory.md +22 -2
- package/.docs/reference/datasets/list.md +7 -3
- package/.docs/reference/datasets/listExperimentResults.md +34 -4
- package/.docs/reference/datasets/listExperiments.md +41 -3
- package/.docs/reference/datasets/listItems.md +18 -6
- package/.docs/reference/datasets/listVersions.md +23 -3
- package/.docs/reference/datasets/startExperiment.md +62 -12
- package/.docs/reference/datasets/startExperimentAsync.md +5 -1
- package/.docs/reference/datasets/update.md +6 -6
- package/.docs/reference/datasets/updateItem.md +5 -5
- package/.docs/reference/deployer.md +8 -8
- package/.docs/reference/evals/answer-relevancy.md +11 -11
- package/.docs/reference/evals/answer-similarity.md +17 -19
- package/.docs/reference/evals/bias.md +10 -10
- package/.docs/reference/evals/completeness.md +3 -3
- package/.docs/reference/evals/content-similarity.md +6 -6
- package/.docs/reference/evals/context-precision.md +4 -4
- package/.docs/reference/evals/context-relevance.md +4 -4
- package/.docs/reference/evals/create-scorer.md +47 -49
- package/.docs/reference/evals/faithfulness.md +11 -11
- package/.docs/reference/evals/hallucination.md +17 -21
- package/.docs/reference/evals/keyword-coverage.md +4 -4
- package/.docs/reference/evals/mastra-scorer.md +14 -14
- package/.docs/reference/evals/noise-sensitivity.md +4 -4
- package/.docs/reference/evals/prompt-alignment.md +4 -4
- package/.docs/reference/evals/run-evals.md +16 -16
- package/.docs/reference/evals/scorer-utils.md +3 -3
- package/.docs/reference/evals/textual-difference.md +3 -3
- package/.docs/reference/evals/tone-consistency.md +3 -3
- package/.docs/reference/evals/tool-call-accuracy.md +5 -5
- package/.docs/reference/evals/toxicity.md +8 -8
- package/.docs/reference/harness/harness-class.md +34 -42
- package/.docs/reference/logging/pino-logger.md +5 -5
- package/.docs/reference/memory/clone-utilities.md +5 -5
- package/.docs/reference/memory/cloneThread.md +17 -21
- package/.docs/reference/memory/createThread.md +10 -10
- package/.docs/reference/memory/deleteMessages.md +2 -2
- package/.docs/reference/memory/getThreadById.md +2 -2
- package/.docs/reference/memory/listThreads.md +5 -5
- package/.docs/reference/memory/memory-class.md +12 -14
- package/.docs/reference/memory/observational-memory.md +102 -94
- package/.docs/reference/memory/recall.md +14 -16
- package/.docs/reference/observability/tracing/configuration.md +27 -10
- package/.docs/reference/observability/tracing/exporters/console-exporter.md +4 -7
- package/.docs/reference/processors/batch-parts-processor.md +8 -10
- package/.docs/reference/processors/language-detector.md +14 -16
- package/.docs/reference/processors/message-history-processor.md +7 -9
- package/.docs/reference/processors/moderation-processor.md +13 -15
- package/.docs/reference/processors/pii-detector.md +14 -16
- package/.docs/reference/processors/processor-interface.md +62 -62
- package/.docs/reference/processors/prompt-injection-detector.md +11 -13
- package/.docs/reference/processors/semantic-recall-processor.md +14 -16
- package/.docs/reference/processors/system-prompt-scrubber.md +12 -14
- package/.docs/reference/processors/token-limiter-processor.md +11 -13
- package/.docs/reference/processors/tool-call-filter.md +5 -7
- package/.docs/reference/processors/tool-search-processor.md +9 -11
- package/.docs/reference/processors/unicode-normalizer.md +8 -10
- package/.docs/reference/processors/working-memory-processor.md +14 -18
- package/.docs/reference/rag/chunk.md +38 -38
- package/.docs/reference/rag/database-config.md +11 -7
- package/.docs/reference/rag/document.md +2 -2
- package/.docs/reference/rag/embeddings.md +12 -12
- package/.docs/reference/rag/extract-params.md +23 -23
- package/.docs/reference/rag/graph-rag.md +12 -12
- package/.docs/reference/rag/rerank.md +25 -17
- package/.docs/reference/rag/rerankWithScorer.md +25 -17
- package/.docs/reference/server/create-route.md +14 -14
- package/.docs/reference/server/express-adapter.md +10 -10
- package/.docs/reference/server/fastify-adapter.md +10 -10
- package/.docs/reference/server/hono-adapter.md +10 -10
- package/.docs/reference/server/koa-adapter.md +10 -10
- package/.docs/reference/server/mastra-server.md +10 -10
- package/.docs/reference/server/register-api-route.md +13 -13
- package/.docs/reference/storage/cloudflare-d1.md +5 -5
- package/.docs/reference/storage/cloudflare.md +6 -6
- package/.docs/reference/storage/composite.md +9 -9
- package/.docs/reference/storage/convex.md +3 -3
- package/.docs/reference/storage/dynamodb.md +9 -9
- package/.docs/reference/storage/lance.md +3 -3
- package/.docs/reference/storage/libsql.md +2 -2
- package/.docs/reference/storage/mongodb.md +5 -5
- package/.docs/reference/storage/mssql.md +2 -2
- package/.docs/reference/storage/postgresql.md +25 -25
- package/.docs/reference/storage/upstash.md +3 -3
- package/.docs/reference/streaming/ChunkType.md +251 -59
- package/.docs/reference/streaming/agents/MastraModelOutput.md +86 -16
- package/.docs/reference/streaming/agents/stream.md +155 -43
- package/.docs/reference/streaming/agents/streamLegacy.md +79 -39
- package/.docs/reference/streaming/workflows/resumeStream.md +18 -8
- package/.docs/reference/streaming/workflows/stream.md +21 -9
- package/.docs/reference/streaming/workflows/timeTravelStream.md +4 -4
- package/.docs/reference/tools/create-tool.md +25 -21
- package/.docs/reference/tools/document-chunker-tool.md +7 -7
- package/.docs/reference/tools/graph-rag-tool.md +16 -18
- package/.docs/reference/tools/mcp-client.md +38 -27
- package/.docs/reference/tools/mcp-server.md +45 -45
- package/.docs/reference/tools/vector-query-tool.md +34 -22
- package/.docs/reference/vectors/astra.md +22 -22
- package/.docs/reference/vectors/chroma.md +44 -44
- package/.docs/reference/vectors/convex.md +26 -26
- package/.docs/reference/vectors/couchbase.md +30 -30
- package/.docs/reference/vectors/duckdb.md +29 -29
- package/.docs/reference/vectors/elasticsearch.md +27 -27
- package/.docs/reference/vectors/lance.md +46 -38
- package/.docs/reference/vectors/libsql.md +31 -31
- package/.docs/reference/vectors/mongodb.md +32 -32
- package/.docs/reference/vectors/opensearch.md +27 -27
- package/.docs/reference/vectors/pg.md +60 -44
- package/.docs/reference/vectors/pinecone.md +38 -38
- package/.docs/reference/vectors/qdrant.md +36 -36
- package/.docs/reference/vectors/s3vectors.md +24 -24
- package/.docs/reference/vectors/turbopuffer.md +29 -29
- package/.docs/reference/vectors/upstash.md +25 -25
- package/.docs/reference/vectors/vectorize.md +27 -27
- package/.docs/reference/voice/azure.md +19 -15
- package/.docs/reference/voice/cloudflare.md +10 -12
- package/.docs/reference/voice/composite-voice.md +10 -10
- package/.docs/reference/voice/deepgram.md +20 -14
- package/.docs/reference/voice/elevenlabs.md +20 -22
- package/.docs/reference/voice/google-gemini-live.md +42 -44
- package/.docs/reference/voice/google.md +25 -21
- package/.docs/reference/voice/mastra-voice.md +20 -20
- package/.docs/reference/voice/murf.md +24 -28
- package/.docs/reference/voice/openai-realtime.md +26 -26
- package/.docs/reference/voice/openai.md +14 -12
- package/.docs/reference/voice/playai.md +13 -15
- package/.docs/reference/voice/sarvam.md +21 -25
- package/.docs/reference/voice/speechify.md +11 -13
- package/.docs/reference/voice/voice.addInstructions.md +1 -1
- package/.docs/reference/voice/voice.addTools.md +1 -1
- package/.docs/reference/voice/voice.answer.md +1 -1
- package/.docs/reference/voice/voice.connect.md +3 -3
- package/.docs/reference/voice/voice.events.md +11 -11
- package/.docs/reference/voice/voice.getSpeakers.md +30 -30
- package/.docs/reference/voice/voice.listen.md +9 -9
- package/.docs/reference/voice/voice.off.md +2 -2
- package/.docs/reference/voice/voice.on.md +2 -2
- package/.docs/reference/voice/voice.send.md +1 -1
- package/.docs/reference/voice/voice.speak.md +11 -11
- package/.docs/reference/voice/voice.updateConfig.md +3 -3
- package/.docs/reference/workflows/run-methods/cancel.md +2 -2
- package/.docs/reference/workflows/run-methods/restart.md +17 -5
- package/.docs/reference/workflows/run-methods/resume.md +23 -9
- package/.docs/reference/workflows/run-methods/start.md +22 -8
- package/.docs/reference/workflows/run-methods/startAsync.md +12 -6
- package/.docs/reference/workflows/run-methods/timeTravel.md +29 -13
- package/.docs/reference/workflows/run.md +12 -12
- package/.docs/reference/workflows/step.md +24 -26
- package/.docs/reference/workflows/workflow-methods/branch.md +2 -2
- package/.docs/reference/workflows/workflow-methods/commit.md +1 -1
- package/.docs/reference/workflows/workflow-methods/create-run.md +4 -4
- package/.docs/reference/workflows/workflow-methods/dountil.md +3 -3
- package/.docs/reference/workflows/workflow-methods/dowhile.md +3 -3
- package/.docs/reference/workflows/workflow-methods/foreach.md +9 -9
- package/.docs/reference/workflows/workflow-methods/map.md +2 -2
- package/.docs/reference/workflows/workflow-methods/parallel.md +2 -2
- package/.docs/reference/workflows/workflow-methods/sleep.md +2 -2
- package/.docs/reference/workflows/workflow-methods/sleepUntil.md +2 -2
- package/.docs/reference/workflows/workflow-methods/then.md +2 -2
- package/.docs/reference/workflows/workflow.md +40 -50
- package/.docs/reference/workspace/daytona-sandbox.md +33 -33
- package/.docs/reference/workspace/e2b-sandbox.md +20 -20
- package/.docs/reference/workspace/filesystem.md +22 -22
- package/.docs/reference/workspace/gcs-filesystem.md +15 -15
- package/.docs/reference/workspace/local-filesystem.md +35 -35
- package/.docs/reference/workspace/local-sandbox.md +26 -26
- package/.docs/reference/workspace/s3-filesystem.md +18 -18
- package/.docs/reference/workspace/sandbox.md +8 -8
- package/.docs/reference/workspace/workspace-class.md +30 -34
- package/CHANGELOG.md +16 -0
- package/package.json +6 -6
- package/.docs/docs/getting-started/start.md +0 -28
|
@@ -51,37 +51,37 @@ const server = new MCPServer({
|
|
|
51
51
|
|
|
52
52
|
The constructor accepts an `MCPServerConfig` object with the following properties:
|
|
53
53
|
|
|
54
|
-
**id
|
|
54
|
+
**id** (`string`): Unique identifier for the server. This ID is preserved when the server is registered with Mastra and can be used to retrieve the server via getMCPServerById().
|
|
55
55
|
|
|
56
|
-
**name
|
|
56
|
+
**name** (`string`): A descriptive name for your server (e.g., 'My Weather and Agent Server').
|
|
57
57
|
|
|
58
|
-
**version
|
|
58
|
+
**version** (`string`): The semantic version of your server (e.g., '1.0.0').
|
|
59
59
|
|
|
60
|
-
**tools
|
|
60
|
+
**tools** (`ToolsInput`): An object where keys are tool names and values are Mastra tool definitions (created with \`createTool\` or Vercel AI SDK). These tools will be directly exposed.
|
|
61
61
|
|
|
62
|
-
**agents
|
|
62
|
+
**agents** (`Record<string, Agent>`): An object where keys are agent identifiers and values are Mastra Agent instances. Each agent will be automatically converted into a tool named \`ask\_\<agentIdentifier>\`. The agent \*\*must\*\* have a non-empty \`description\` string property defined in its constructor configuration. This description will be used in the tool's description. If an agent's description is missing or empty, an error will be thrown during MCPServer initialization.
|
|
63
63
|
|
|
64
|
-
**workflows
|
|
64
|
+
**workflows** (`Record<string, Workflow>`): An object where keys are workflow identifiers and values are Mastra Workflow instances. Each workflow is converted into a tool named \`run\_\<workflowKey>\`. The workflow's \`inputSchema\` becomes the tool's input schema. The workflow \*\*must\*\* have a non-empty \`description\` string property, which is used for the tool's description. If a workflow's description is missing or empty, an error will be thrown. The tool executes the workflow by calling \`workflow\.createRun()\` followed by \`run.start({ inputData: \<tool\_input> })\`. If a tool name derived from an agent or workflow (e.g., \`ask\_myAgent\` or \`run\_myWorkflow\`) collides with an explicitly defined tool name or another derived name, the explicitly defined tool takes precedence, and a warning is logged. Agents/workflows leading to subsequent collisions are skipped.
|
|
65
65
|
|
|
66
|
-
**description
|
|
66
|
+
**description** (`string`): Optional description of what the MCP server does.
|
|
67
67
|
|
|
68
|
-
**instructions
|
|
68
|
+
**instructions** (`string`): Optional instructions describing how to use the server and its features.
|
|
69
69
|
|
|
70
|
-
**repository
|
|
70
|
+
**repository** (`Repository`): Optional repository information for the server's source code.
|
|
71
71
|
|
|
72
|
-
**releaseDate
|
|
72
|
+
**releaseDate** (`string`): Optional release date of this server version (ISO 8601 string). Defaults to the time of instantiation if not provided.
|
|
73
73
|
|
|
74
|
-
**isLatest
|
|
74
|
+
**isLatest** (`boolean`): Optional flag indicating if this is the latest version. Defaults to true if not provided.
|
|
75
75
|
|
|
76
|
-
**packageCanonical
|
|
76
|
+
**packageCanonical** (`'npm' | 'docker' | 'pypi' | 'crates' | string`): Optional canonical packaging format if the server is distributed as a package (e.g., 'npm', 'docker').
|
|
77
77
|
|
|
78
|
-
**packages
|
|
78
|
+
**packages** (`PackageInfo[]`): Optional list of installable packages for this server.
|
|
79
79
|
|
|
80
|
-
**remotes
|
|
80
|
+
**remotes** (`RemoteInfo[]`): Optional list of remote access points for this server.
|
|
81
81
|
|
|
82
|
-
**resources
|
|
82
|
+
**resources** (`MCPServerResources`): An object defining how the server should handle MCP resources. See Resource Handling section for details.
|
|
83
83
|
|
|
84
|
-
**prompts
|
|
84
|
+
**prompts** (`MCPServerPrompts`): An object defining how the server should handle MCP prompts. See Prompt Handling section for details.
|
|
85
85
|
|
|
86
86
|
## Exposing Agents as Tools
|
|
87
87
|
|
|
@@ -228,15 +228,15 @@ httpServer.listen(PORT, () => {
|
|
|
228
228
|
|
|
229
229
|
Here are the details for the values needed by the `startSSE` method:
|
|
230
230
|
|
|
231
|
-
**url
|
|
231
|
+
**url** (`URL`): The web address the user is requesting.
|
|
232
232
|
|
|
233
|
-
**ssePath
|
|
233
|
+
**ssePath** (`string`): The specific part of the URL where clients will connect for SSE (e.g., '/sse').
|
|
234
234
|
|
|
235
|
-
**messagePath
|
|
235
|
+
**messagePath** (`string`): The specific part of the URL where clients will send messages (e.g., '/message').
|
|
236
236
|
|
|
237
|
-
**req
|
|
237
|
+
**req** (`any`): The incoming request object from your web server.
|
|
238
238
|
|
|
239
|
-
**res
|
|
239
|
+
**res** (`any`): The response object from your web server, used to send data back.
|
|
240
240
|
|
|
241
241
|
### startHonoSSE()
|
|
242
242
|
|
|
@@ -280,15 +280,15 @@ httpServer.listen(PORT, () => {
|
|
|
280
280
|
|
|
281
281
|
Here are the details for the values needed by the `startHonoSSE` method:
|
|
282
282
|
|
|
283
|
-
**url
|
|
283
|
+
**url** (`URL`): The web address the user is requesting.
|
|
284
284
|
|
|
285
|
-
**ssePath
|
|
285
|
+
**ssePath** (`string`): The specific part of the URL where clients will connect for SSE (e.g., '/hono-sse').
|
|
286
286
|
|
|
287
|
-
**messagePath
|
|
287
|
+
**messagePath** (`string`): The specific part of the URL where clients will send messages (e.g., '/message').
|
|
288
288
|
|
|
289
|
-
**req
|
|
289
|
+
**req** (`any`): The incoming request object from your web server.
|
|
290
290
|
|
|
291
|
-
**res
|
|
291
|
+
**res** (`any`): The response object from your web server, used to send data back.
|
|
292
292
|
|
|
293
293
|
### startHTTP()
|
|
294
294
|
|
|
@@ -402,27 +402,27 @@ serve(async req => {
|
|
|
402
402
|
|
|
403
403
|
Here are the details for the values needed by the `startHTTP` method:
|
|
404
404
|
|
|
405
|
-
**url
|
|
405
|
+
**url** (`URL`): The web address the user is requesting.
|
|
406
406
|
|
|
407
|
-
**httpPath
|
|
407
|
+
**httpPath** (`string`): The specific part of the URL where the MCP server will handle HTTP requests (e.g., '/mcp').
|
|
408
408
|
|
|
409
|
-
**req
|
|
409
|
+
**req** (`http.IncomingMessage`): The incoming request object from your web server.
|
|
410
410
|
|
|
411
|
-
**res
|
|
411
|
+
**res** (`http.ServerResponse`): The response object from your web server, used to send data back.
|
|
412
412
|
|
|
413
|
-
**options
|
|
413
|
+
**options** (`StreamableHTTPServerTransportOptions`): Optional configuration for the HTTP transport. See the options table below for more details.
|
|
414
414
|
|
|
415
415
|
The `StreamableHTTPServerTransportOptions` object allows you to customize the behavior of the HTTP transport. Here are the available options:
|
|
416
416
|
|
|
417
|
-
**serverless
|
|
417
|
+
**serverless** (`boolean`): If \`true\`, runs in stateless mode without session management. Each request is handled independently with a fresh server instance. Essential for serverless environments (Cloudflare Workers, Supabase Edge Functions, Vercel Edge, etc.) where sessions cannot persist between invocations. Defaults to \`false\`.
|
|
418
418
|
|
|
419
|
-
**sessionIdGenerator
|
|
419
|
+
**sessionIdGenerator** (`(() => string) | undefined`): A function that generates a unique session ID. This should be a cryptographically secure, globally unique string. Return \`undefined\` to disable session management.
|
|
420
420
|
|
|
421
|
-
**onsessioninitialized
|
|
421
|
+
**onsessioninitialized** (`(sessionId: string) => void`): A callback that is invoked when a new session is initialized. This is useful for tracking active MCP sessions.
|
|
422
422
|
|
|
423
|
-
**enableJsonResponse
|
|
423
|
+
**enableJsonResponse** (`boolean`): If \`true\`, the server will return plain JSON responses instead of using Server-Sent Events (SSE) for streaming. Defaults to \`false\`.
|
|
424
424
|
|
|
425
|
-
**eventStore
|
|
425
|
+
**eventStore** (`EventStore`): An event store for message resumability. Providing this enables clients to reconnect and resume message streams.
|
|
426
426
|
|
|
427
427
|
### close()
|
|
428
428
|
|
|
@@ -516,11 +516,11 @@ async executeTool(
|
|
|
516
516
|
): Promise<any>
|
|
517
517
|
```
|
|
518
518
|
|
|
519
|
-
**toolId
|
|
519
|
+
**toolId** (`string`): The ID/name of the tool to execute.
|
|
520
520
|
|
|
521
|
-
**args
|
|
521
|
+
**args** (`any`): The arguments to pass to the tool's execute function.
|
|
522
522
|
|
|
523
|
-
**executionContext
|
|
523
|
+
**executionContext** (`object`): Optional context for the tool execution, like messages or a toolCallId.
|
|
524
524
|
|
|
525
525
|
## Resource Handling
|
|
526
526
|
|
|
@@ -1073,17 +1073,17 @@ const customMiddleware = createOAuthMiddleware({
|
|
|
1073
1073
|
|
|
1074
1074
|
### OAuth Middleware Options
|
|
1075
1075
|
|
|
1076
|
-
**oauth.resource
|
|
1076
|
+
**oauth.resource** (`string`): The canonical URL of your MCP server. This is returned in Protected Resource Metadata.
|
|
1077
1077
|
|
|
1078
|
-
**oauth.authorizationServers
|
|
1078
|
+
**oauth.authorizationServers** (`string[]`): URLs of authorization servers that can issue tokens for this resource.
|
|
1079
1079
|
|
|
1080
|
-
**oauth.scopesSupported
|
|
1080
|
+
**oauth.scopesSupported** (`string[]`): Scopes supported by this MCP server. (Default: `['mcp:read', 'mcp:write']`)
|
|
1081
1081
|
|
|
1082
|
-
**oauth.resourceName
|
|
1082
|
+
**oauth.resourceName** (`string`): Human-readable name for this resource server.
|
|
1083
1083
|
|
|
1084
|
-
**oauth.validateToken
|
|
1084
|
+
**oauth.validateToken** (`(token: string, resource: string) => Promise<TokenValidationResult>`): Function to validate access tokens. If not provided, tokens are accepted without validation (NOT recommended for production).
|
|
1085
1085
|
|
|
1086
|
-
**mcpPath
|
|
1086
|
+
**mcpPath** (`string`): Path where the MCP endpoint is served. Only requests to this path require authentication. (Default: `'/mcp'`)
|
|
1087
1087
|
|
|
1088
1088
|
## Authentication Context
|
|
1089
1089
|
|
|
@@ -19,53 +19,65 @@ const queryTool = createVectorQueryTool({
|
|
|
19
19
|
|
|
20
20
|
> **Note:** **Parameter Requirements:** Most fields can be set at creation as defaults. Some fields can be overridden at runtime via the request context or input. If a required field is missing from both creation and runtime, an error will be thrown. Note that `model`, `id`, and `description` can only be set at creation time.
|
|
21
21
|
|
|
22
|
-
**id
|
|
22
|
+
**id** (`string`): Custom ID for the tool. By default: 'VectorQuery {vectorStoreName} {indexName} Tool'. (Set at creation only.)
|
|
23
23
|
|
|
24
|
-
**description
|
|
24
|
+
**description** (`string`): Custom description for the tool. By default: 'Access the knowledge base to find information needed to answer user questions' (Set at creation only.)
|
|
25
25
|
|
|
26
|
-
**model
|
|
26
|
+
**model** (`EmbeddingModel`): Embedding model to use for vector search. (Set at creation only.)
|
|
27
27
|
|
|
28
|
-
**vectorStoreName
|
|
28
|
+
**vectorStoreName** (`string`): Name of the vector store to query. (Can be set at creation or overridden at runtime.)
|
|
29
29
|
|
|
30
|
-
**indexName
|
|
30
|
+
**indexName** (`string`): Name of the index within the vector store. (Can be set at creation or overridden at runtime.)
|
|
31
31
|
|
|
32
|
-
**enableFilter
|
|
32
|
+
**enableFilter** (`boolean`): Enable filtering of results based on metadata. (Set at creation only, but will be automatically enabled if a filter is provided in the request context.) (Default: `false`)
|
|
33
33
|
|
|
34
|
-
**includeVectors
|
|
34
|
+
**includeVectors** (`boolean`): Include the embedding vectors in the results. (Can be set at creation or overridden at runtime.) (Default: `false`)
|
|
35
35
|
|
|
36
|
-
**includeSources
|
|
36
|
+
**includeSources** (`boolean`): Include the full retrieval objects in the results. (Can be set at creation or overridden at runtime.) (Default: `true`)
|
|
37
37
|
|
|
38
|
-
**reranker
|
|
38
|
+
**reranker** (`RerankConfig`): Options for reranking results. (Can be set at creation or overridden at runtime.)
|
|
39
39
|
|
|
40
|
-
**
|
|
40
|
+
**reranker.model** (`MastraLanguageModel`): Language model to use for reranking
|
|
41
41
|
|
|
42
|
-
**
|
|
42
|
+
**reranker.options** (`RerankerOptions`): Options for the reranking process
|
|
43
43
|
|
|
44
|
-
**
|
|
44
|
+
**reranker.options.weights** (`WeightConfig`): Weights for scoring components (semantic: 0.4, vector: 0.4, position: 0.2)
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
**reranker.options.topK** (`number`): Number of top results to return
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
**databaseConfig** (`DatabaseConfig`): Database-specific configuration options for optimizing queries. (Can be set at creation or overridden at runtime.)
|
|
49
49
|
|
|
50
|
-
**pinecone
|
|
50
|
+
**databaseConfig.pinecone** (`PineconeConfig`): Configuration specific to Pinecone vector store
|
|
51
51
|
|
|
52
|
-
**
|
|
52
|
+
**databaseConfig.pinecone.namespace** (`string`): Pinecone namespace for organizing vectors
|
|
53
53
|
|
|
54
|
-
**
|
|
54
|
+
**databaseConfig.pinecone.sparseVector** (`{ indices: number[]; values: number[]; }`): Sparse vector for hybrid search
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
**databaseConfig.pgvector** (`PgVectorConfig`): Configuration specific to PostgreSQL with pgvector extension
|
|
57
57
|
|
|
58
|
-
**
|
|
58
|
+
**databaseConfig.pgvector.minScore** (`number`): Minimum similarity score threshold for results
|
|
59
59
|
|
|
60
|
-
**
|
|
60
|
+
**databaseConfig.pgvector.ef** (`number`): HNSW search parameter - controls accuracy vs speed tradeoff
|
|
61
|
+
|
|
62
|
+
**databaseConfig.pgvector.probes** (`number`): IVFFlat probe parameter - number of cells to visit during search
|
|
63
|
+
|
|
64
|
+
**databaseConfig.chroma** (`ChromaConfig`): Configuration specific to Chroma vector store
|
|
65
|
+
|
|
66
|
+
**databaseConfig.chroma.where** (`Record<string, any>`): Metadata filtering conditions
|
|
67
|
+
|
|
68
|
+
**databaseConfig.chroma.whereDocument** (`Record<string, any>`): Document content filtering conditions
|
|
69
|
+
|
|
70
|
+
**providerOptions** (`Record<string, Record<string, any>>`): Provider-specific options for the embedding model (e.g., outputDimensionality). \*\*Important\*\*: Only works with AI SDK EmbeddingModelV2 models. For V1 models, configure options when creating the model itself.
|
|
71
|
+
|
|
72
|
+
**vectorStore** (`MastraVector | VectorStoreResolver`): Direct vector store instance or a resolver function for dynamic selection. Use a function for multi-tenant applications where the vector store is selected based on request context. When provided, \`vectorStoreName\` becomes optional.
|
|
61
73
|
|
|
62
74
|
## Returns
|
|
63
75
|
|
|
64
76
|
The tool returns an object with:
|
|
65
77
|
|
|
66
|
-
**relevantContext
|
|
78
|
+
**relevantContext** (`string`): Combined text from the most relevant document chunks
|
|
67
79
|
|
|
68
|
-
**sources
|
|
80
|
+
**sources** (`QueryResult[]`): Array of full retrieval result objects. Each object contains all information needed to reference the original document, chunk, and similarity score.
|
|
69
81
|
|
|
70
82
|
### QueryResult object structure
|
|
71
83
|
|
|
@@ -4,43 +4,43 @@ The AstraVector class provides vector search using [DataStax Astra DB](https://w
|
|
|
4
4
|
|
|
5
5
|
## Constructor Options
|
|
6
6
|
|
|
7
|
-
**token
|
|
7
|
+
**token** (`string`): Astra DB API token
|
|
8
8
|
|
|
9
|
-
**endpoint
|
|
9
|
+
**endpoint** (`string`): Astra DB API endpoint
|
|
10
10
|
|
|
11
|
-
**keyspace
|
|
11
|
+
**keyspace** (`string`): Optional keyspace name
|
|
12
12
|
|
|
13
13
|
## Methods
|
|
14
14
|
|
|
15
15
|
### createIndex()
|
|
16
16
|
|
|
17
|
-
**indexName
|
|
17
|
+
**indexName** (`string`): Name of the index to create
|
|
18
18
|
|
|
19
|
-
**dimension
|
|
19
|
+
**dimension** (`number`): Vector dimension (must match your embedding model)
|
|
20
20
|
|
|
21
|
-
**metric
|
|
21
|
+
**metric** (`'cosine' | 'euclidean' | 'dotproduct'`): Distance metric for similarity search (maps to dot\_product for dotproduct) (Default: `cosine`)
|
|
22
22
|
|
|
23
23
|
### upsert()
|
|
24
24
|
|
|
25
|
-
**indexName
|
|
25
|
+
**indexName** (`string`): Name of the index to upsert into
|
|
26
26
|
|
|
27
|
-
**vectors
|
|
27
|
+
**vectors** (`number[][]`): Array of embedding vectors
|
|
28
28
|
|
|
29
|
-
**metadata
|
|
29
|
+
**metadata** (`Record<string, any>[]`): Metadata for each vector
|
|
30
30
|
|
|
31
|
-
**ids
|
|
31
|
+
**ids** (`string[]`): Optional vector IDs (auto-generated if not provided)
|
|
32
32
|
|
|
33
33
|
### query()
|
|
34
34
|
|
|
35
|
-
**indexName
|
|
35
|
+
**indexName** (`string`): Name of the index to query
|
|
36
36
|
|
|
37
|
-
**queryVector
|
|
37
|
+
**queryVector** (`number[]`): Query vector to find similar vectors
|
|
38
38
|
|
|
39
|
-
**topK
|
|
39
|
+
**topK** (`number`): Number of results to return (Default: `10`)
|
|
40
40
|
|
|
41
|
-
**filter
|
|
41
|
+
**filter** (`Record<string, any>`): Metadata filters for the query
|
|
42
42
|
|
|
43
|
-
**includeVector
|
|
43
|
+
**includeVector** (`boolean`): Whether to include vectors in the results (Default: `false`)
|
|
44
44
|
|
|
45
45
|
### listIndexes()
|
|
46
46
|
|
|
@@ -48,7 +48,7 @@ Returns an array of index names as strings.
|
|
|
48
48
|
|
|
49
49
|
### describeIndex()
|
|
50
50
|
|
|
51
|
-
**indexName
|
|
51
|
+
**indexName** (`string`): Name of the index to describe
|
|
52
52
|
|
|
53
53
|
Returns:
|
|
54
54
|
|
|
@@ -62,21 +62,21 @@ interface IndexStats {
|
|
|
62
62
|
|
|
63
63
|
### deleteIndex()
|
|
64
64
|
|
|
65
|
-
**indexName
|
|
65
|
+
**indexName** (`string`): Name of the index to delete
|
|
66
66
|
|
|
67
67
|
### updateVector()
|
|
68
68
|
|
|
69
|
-
**indexName
|
|
69
|
+
**indexName** (`string`): Name of the index containing the vector
|
|
70
70
|
|
|
71
|
-
**id
|
|
71
|
+
**id** (`string`): ID of the vector to update
|
|
72
72
|
|
|
73
|
-
**update
|
|
73
|
+
**update** (`object`): Update object containing vector and/or metadata changes
|
|
74
74
|
|
|
75
75
|
### deleteVector()
|
|
76
76
|
|
|
77
|
-
**indexName
|
|
77
|
+
**indexName** (`string`): Name of the index containing the vector
|
|
78
78
|
|
|
79
|
-
**id
|
|
79
|
+
**id** (`string`): ID of the vector to delete
|
|
80
80
|
|
|
81
81
|
## Response Types
|
|
82
82
|
|
|
@@ -12,21 +12,21 @@ The ChromaVector class provides vector search using [Chroma](https://docs.trychr
|
|
|
12
12
|
|
|
13
13
|
## Constructor Options
|
|
14
14
|
|
|
15
|
-
**host
|
|
15
|
+
**host** (`string`): The host address of the Chroma server. Defaults to 'localhost'
|
|
16
16
|
|
|
17
|
-
**port
|
|
17
|
+
**port** (`number`): The port number of the Chroma server. Defaults to 8000
|
|
18
18
|
|
|
19
|
-
**ssl
|
|
19
|
+
**ssl** (`boolean`): Whether to use SSL/HTTPS for connections. Defaults to false
|
|
20
20
|
|
|
21
|
-
**apiKey
|
|
21
|
+
**apiKey** (`string`): A Chroma Cloud API key
|
|
22
22
|
|
|
23
|
-
**tenant
|
|
23
|
+
**tenant** (`string`): The tenant name in the Chroma server to connect to. Defaults to 'default\_tenant' for single-node Chroma. Auto-resolved for Chroma Cloud users based on the provided API key
|
|
24
24
|
|
|
25
|
-
**database
|
|
25
|
+
**database** (`string`): The database name to connect to. Defaults to 'default\_database' for single-node Chroma. Auto-resolved for Chroma Cloud users based on the provided API key
|
|
26
26
|
|
|
27
|
-
**headers
|
|
27
|
+
**headers** (`Record<string, any>`): Additional HTTP headers to send with requests
|
|
28
28
|
|
|
29
|
-
**fetchOptions
|
|
29
|
+
**fetchOptions** (`RequestInit`): Additional fetch options for HTTP requests
|
|
30
30
|
|
|
31
31
|
## Running a Chroma Server
|
|
32
32
|
|
|
@@ -44,11 +44,11 @@ Otherwise, you have several options for setting up your single-node Chroma serve
|
|
|
44
44
|
|
|
45
45
|
### createIndex()
|
|
46
46
|
|
|
47
|
-
**indexName
|
|
47
|
+
**indexName** (`string`): Name of the index to create
|
|
48
48
|
|
|
49
|
-
**dimension
|
|
49
|
+
**dimension** (`number`): Vector dimension (must match your embedding model)
|
|
50
50
|
|
|
51
|
-
**metric
|
|
51
|
+
**metric** (`'cosine' | 'euclidean' | 'dotproduct'`): Distance metric for similarity search (Default: `cosine`)
|
|
52
52
|
|
|
53
53
|
### forkIndex()
|
|
54
54
|
|
|
@@ -56,21 +56,21 @@ Note: Forking is only supported on Chroma Cloud, or if you deploy your own OSS *
|
|
|
56
56
|
|
|
57
57
|
`forkIndex` lets you fork an existing Chroma index instantly. Operations on the forked index do not affect the original one. Learn more on the [Chroma docs](https://docs.trychroma.com/cloud/collection-forking).
|
|
58
58
|
|
|
59
|
-
**indexName
|
|
59
|
+
**indexName** (`string`): Name of the index to fork
|
|
60
60
|
|
|
61
|
-
**newIndexName
|
|
61
|
+
**newIndexName** (`string`): The name of the forked index
|
|
62
62
|
|
|
63
63
|
### upsert()
|
|
64
64
|
|
|
65
|
-
**indexName
|
|
65
|
+
**indexName** (`string`): Name of the index to upsert into
|
|
66
66
|
|
|
67
|
-
**vectors
|
|
67
|
+
**vectors** (`number[][]`): Array of embedding vectors
|
|
68
68
|
|
|
69
|
-
**metadata
|
|
69
|
+
**metadata** (`Record<string, any>[]`): Metadata for each vector
|
|
70
70
|
|
|
71
|
-
**ids
|
|
71
|
+
**ids** (`string[]`): Optional vector IDs (auto-generated if not provided)
|
|
72
72
|
|
|
73
|
-
**documents
|
|
73
|
+
**documents** (`string[]`): Chroma-specific: Original text documents associated with the vectors
|
|
74
74
|
|
|
75
75
|
### query()
|
|
76
76
|
|
|
@@ -88,17 +88,17 @@ Query an index using a `queryVector`. Returns an array of semantically similar r
|
|
|
88
88
|
|
|
89
89
|
You can also provide the shape of your metadata to a `query` call for type inference: `query<T>()`.
|
|
90
90
|
|
|
91
|
-
**indexName
|
|
91
|
+
**indexName** (`string`): Name of the index to query
|
|
92
92
|
|
|
93
|
-
**queryVector
|
|
93
|
+
**queryVector** (`number[]`): Query vector to find similar vectors
|
|
94
94
|
|
|
95
|
-
**topK
|
|
95
|
+
**topK** (`number`): Number of results to return (Default: `10`)
|
|
96
96
|
|
|
97
|
-
**filter
|
|
97
|
+
**filter** (`Record<string, any>`): Metadata filters for the query
|
|
98
98
|
|
|
99
|
-
**includeVector
|
|
99
|
+
**includeVector** (`boolean`): Whether to include vectors in the results (Default: `false`)
|
|
100
100
|
|
|
101
|
-
**documentFilter
|
|
101
|
+
**documentFilter** (`Record<string, any>`): Chroma-specific: Filter to apply on the document content
|
|
102
102
|
|
|
103
103
|
### get()
|
|
104
104
|
|
|
@@ -115,19 +115,19 @@ Get records from your Chroma index by IDs, metadata, and document filters. It re
|
|
|
115
115
|
|
|
116
116
|
You can also provide the shape of your metadata to a `get` call for type inference: `get<T>()`.
|
|
117
117
|
|
|
118
|
-
**indexName
|
|
118
|
+
**indexName** (`string`): Name of the index to query
|
|
119
119
|
|
|
120
|
-
**ids
|
|
120
|
+
**ids** (`string[]`): A list of record IDs to return. If not provided, all records are returned.
|
|
121
121
|
|
|
122
|
-
**filter
|
|
122
|
+
**filter** (`Record<string, any>`): Metadata filters.
|
|
123
123
|
|
|
124
|
-
**includeVector
|
|
124
|
+
**includeVector** (`boolean`): Whether to include vectors in the results (Default: `false`)
|
|
125
125
|
|
|
126
|
-
**documentFilter
|
|
126
|
+
**documentFilter** (`Record<string, any>`): Chroma-specific: Filter to apply on the document content
|
|
127
127
|
|
|
128
|
-
**limit
|
|
128
|
+
**limit** (`number`): The maximum number of records to return (Default: `100`)
|
|
129
129
|
|
|
130
|
-
**offset
|
|
130
|
+
**offset** (`number`): Offset for returning records. Use with \`limit\` to paginate results.
|
|
131
131
|
|
|
132
132
|
### listIndexes()
|
|
133
133
|
|
|
@@ -135,7 +135,7 @@ Returns an array of index names as strings.
|
|
|
135
135
|
|
|
136
136
|
### describeIndex()
|
|
137
137
|
|
|
138
|
-
**indexName
|
|
138
|
+
**indexName** (`string`): Name of the index to describe
|
|
139
139
|
|
|
140
140
|
Returns:
|
|
141
141
|
|
|
@@ -149,25 +149,25 @@ interface IndexStats {
|
|
|
149
149
|
|
|
150
150
|
### deleteIndex()
|
|
151
151
|
|
|
152
|
-
**indexName
|
|
152
|
+
**indexName** (`string`): Name of the index to delete
|
|
153
153
|
|
|
154
154
|
### updateVector()
|
|
155
155
|
|
|
156
156
|
Update a single vector by ID or by metadata filter. Either `id` or `filter` must be provided, but not both.
|
|
157
157
|
|
|
158
|
-
**indexName
|
|
158
|
+
**indexName** (`string`): Name of the index containing the vector to update
|
|
159
159
|
|
|
160
|
-
**id
|
|
160
|
+
**id** (`string`): ID of the vector to update (mutually exclusive with filter)
|
|
161
161
|
|
|
162
|
-
**filter
|
|
162
|
+
**filter** (`Record<string, any>`): Metadata filter to identify vector(s) to update (mutually exclusive with id)
|
|
163
163
|
|
|
164
|
-
**update
|
|
164
|
+
**update** (`object`): Update parameters
|
|
165
165
|
|
|
166
166
|
The `update` object can contain:
|
|
167
167
|
|
|
168
|
-
**vector
|
|
168
|
+
**vector** (`number[]`): New vector to replace the existing one
|
|
169
169
|
|
|
170
|
-
**metadata
|
|
170
|
+
**metadata** (`Record<string, any>`): New metadata to replace the existing metadata
|
|
171
171
|
|
|
172
172
|
Example:
|
|
173
173
|
|
|
@@ -189,19 +189,19 @@ await vectorStore.updateVector({
|
|
|
189
189
|
|
|
190
190
|
### deleteVector()
|
|
191
191
|
|
|
192
|
-
**indexName
|
|
192
|
+
**indexName** (`string`): Name of the index containing the vector to delete
|
|
193
193
|
|
|
194
|
-
**id
|
|
194
|
+
**id** (`string`): ID of the vector to delete
|
|
195
195
|
|
|
196
196
|
### deleteVectors()
|
|
197
197
|
|
|
198
198
|
Delete multiple vectors by IDs or by metadata filter. This method enables bulk deletion and source-based vector management. Either `ids` or `filter` must be provided, but not both.
|
|
199
199
|
|
|
200
|
-
**indexName
|
|
200
|
+
**indexName** (`string`): Name of the index containing the vectors to delete
|
|
201
201
|
|
|
202
|
-
**ids
|
|
202
|
+
**ids** (`string[]`): Array of vector IDs to delete (mutually exclusive with filter)
|
|
203
203
|
|
|
204
|
-
**filter
|
|
204
|
+
**filter** (`Record<string, any>`): Metadata filter to identify vectors to delete (mutually exclusive with ids)
|
|
205
205
|
|
|
206
206
|
Example:
|
|
207
207
|
|