@mastra/mcp-docs-server 1.2.17-alpha.13 → 1.2.17-alpha.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/course/02-agent-tools-mcp/32-conclusion.md +1 -1
- package/.docs/docs/agents/code-mode.md +3 -3
- package/.docs/docs/agents/guardrails.md +1 -1
- package/.docs/docs/agents/{agent-approval.md → human-in-the-loop.md} +5 -5
- package/.docs/docs/agents/networks.md +3 -3
- package/.docs/docs/agents/overview.md +7 -7
- package/.docs/docs/agents/processors.md +2 -2
- package/.docs/docs/agents/{using-tools.md → tools.md} +7 -7
- package/.docs/docs/{server/auth → auth}/custom-auth-provider.md +1 -1
- package/.docs/docs/{server/auth → auth}/fga.md +1 -1
- package/.docs/docs/{server/auth.md → auth/overview.md} +4 -4
- package/.docs/docs/{server/auth → auth}/simple-auth.md +1 -1
- package/.docs/docs/{server/auth → auth}/workers.md +2 -2
- package/.docs/docs/{capabilities/channels.md → channels.md} +2 -2
- package/.docs/docs/{agents → connections}/a2a.md +2 -2
- package/.docs/docs/{agents → connections}/acp.md +1 -1
- package/.docs/docs/{mcp/overview.md → connections/mcp.md} +1 -1
- package/.docs/docs/connections/overview.md +5 -5
- package/.docs/docs/{agents → connections}/sdk-agents.md +1 -1
- package/.docs/docs/deployment/mastra-server.md +2 -2
- package/.docs/docs/deployment/overview.md +1 -1
- package/.docs/docs/deployment/sandbox.md +3 -3
- package/.docs/docs/deployment/workers.md +4 -4
- package/.docs/docs/guides/multi-agent-systems.md +7 -7
- package/.docs/docs/guides/streaming.md +1 -1
- package/.docs/docs/harness/agent-controller.md +5 -3
- package/.docs/docs/{long-running-agents → harness}/background-tasks.md +5 -5
- package/.docs/docs/{long-running-agents → harness}/durable-agents.md +2 -2
- package/.docs/docs/{long-running-agents → harness}/goals.md +6 -6
- package/.docs/docs/harness/overview.md +11 -10
- package/.docs/docs/{long-running-agents → harness}/schedules.md +5 -5
- package/.docs/docs/{long-running-agents → harness}/signal-providers.md +4 -4
- package/.docs/docs/mastra-platform/deploy.md +1 -1
- package/.docs/docs/mastra-platform/overview.md +1 -1
- package/.docs/docs/mastra-platform/server.md +1 -1
- package/.docs/docs/memory/message-history.md +1 -1
- package/.docs/docs/memory/overview.md +4 -4
- package/.docs/docs/memory/working-memory.md +1 -1
- package/.docs/docs/observability/integrations/exporters/mastra-storage.md +1 -1
- package/.docs/docs/{workspace → sandbox}/filesystem.md +2 -2
- package/.docs/docs/{workspace → sandbox}/lsp.md +3 -3
- package/.docs/docs/{workspace/sandbox.md → sandbox/overview.md} +3 -3
- package/.docs/docs/{workspace → sandbox}/search.md +2 -2
- package/.docs/docs/{workspace → sandbox}/skills.md +5 -5
- package/.docs/docs/server/custom-api-routes.md +2 -2
- package/.docs/docs/server/mastra-client.md +2 -2
- package/.docs/docs/server/{mastra-server.md → overview.md} +3 -3
- package/.docs/docs/server/pubsub.md +2 -2
- package/.docs/docs/server/server-adapters.md +4 -4
- package/.docs/docs/{agents/skills.md → skills.md} +4 -4
- package/.docs/docs/{storage/overview.md → storage.md} +1 -1
- package/.docs/docs/studio/auth.md +4 -4
- package/.docs/docs/studio/overview.md +2 -2
- package/.docs/docs/{capabilities/subagents.md → subagents.md} +35 -5
- package/.docs/docs/workflows/agents-and-tools.md +1 -1
- package/.docs/docs/workflows/overview.md +1 -1
- package/.docs/docs/workflows/scheduled-workflows.md +2 -2
- package/.docs/docs/workflows/snapshots.md +1 -1
- package/.docs/integrations/agentic-ui/ai-sdk-ui.md +1 -1
- package/.docs/integrations/agentic-ui/copilotkit.md +1 -1
- package/.docs/integrations/auth/google.md +2 -2
- package/.docs/integrations/auth/workos.md +1 -1
- package/.docs/integrations/browsers/agent-browser.md +2 -2
- package/.docs/integrations/browsers/browser-viewer.md +6 -6
- package/.docs/integrations/browsers/firecrawl.md +1 -1
- package/.docs/integrations/browsers/stagehand.md +2 -2
- package/.docs/integrations/channels/discord.md +2 -2
- package/.docs/integrations/channels/github.md +1 -1
- package/.docs/integrations/channels/imessage.md +4 -4
- package/.docs/integrations/channels/slack.md +5 -5
- package/.docs/integrations/channels/teams.md +2 -2
- package/.docs/integrations/channels/telegram.md +2 -2
- package/.docs/integrations/channels/whatsapp.md +2 -2
- package/.docs/integrations/databases/postgresql.md +1 -0
- package/.docs/integrations/deploy/amazon-ec2.md +2 -2
- package/.docs/integrations/deploy/aws-lambda.md +3 -3
- package/.docs/integrations/deploy/azure-app-services.md +2 -2
- package/.docs/integrations/deploy/cloudflare.md +2 -2
- package/.docs/integrations/deploy/digital-ocean.md +3 -3
- package/.docs/integrations/deploy/kubernetes.md +11 -11
- package/.docs/integrations/deploy/netlify.md +3 -3
- package/.docs/integrations/deploy/vercel.md +2 -2
- package/.docs/integrations/file-storage/amazon-s3.md +1 -1
- package/.docs/integrations/file-storage/azure-blob.md +1 -1
- package/.docs/integrations/file-storage/google-cloud-storage.md +1 -1
- package/.docs/integrations/file-storage/mesa.md +2 -2
- package/.docs/integrations/file-storage/vercel-files.md +1 -1
- package/.docs/integrations/frameworks/astro.md +1 -1
- package/.docs/integrations/frameworks/electron.md +1 -1
- package/.docs/integrations/frameworks/express.md +1 -1
- package/.docs/integrations/frameworks/hono.md +1 -1
- package/.docs/integrations/frameworks/nestjs.md +1 -1
- package/.docs/integrations/frameworks/next-js.md +1 -1
- package/.docs/integrations/frameworks/nuxt.md +1 -1
- package/.docs/integrations/frameworks/sveltekit.md +1 -1
- package/.docs/integrations/frameworks/vite-react.md +1 -1
- package/.docs/integrations/sandboxes/agentcore.md +1 -1
- package/.docs/integrations/sandboxes/apple-container.md +1 -1
- package/.docs/integrations/sandboxes/daytona.md +1 -1
- package/.docs/integrations/sandboxes/docker.md +4 -3
- package/.docs/integrations/sandboxes/e2b.md +1 -1
- package/.docs/integrations/sandboxes/modal.md +1 -1
- package/.docs/models/environment-variables.md +2 -0
- package/.docs/models/gateways/vercel.md +3 -1
- package/.docs/models/index.md +1 -1
- package/.docs/models/providers/arcee.md +79 -0
- package/.docs/models/providers/baseten.md +1 -1
- package/.docs/models/providers/cerebras.md +2 -3
- package/.docs/models/providers/cloudflare-workers-ai.md +1 -1
- package/.docs/models/providers/cortecs.md +2 -1
- package/.docs/models/providers/crof.md +1 -1
- package/.docs/models/providers/crossmodel.md +1 -1
- package/.docs/models/providers/deepinfra.md +2 -1
- package/.docs/models/providers/edenai.md +11 -5
- package/.docs/models/providers/huggingface.md +3 -1
- package/.docs/models/providers/hyper.md +5 -5
- package/.docs/models/providers/jalapeno.md +89 -0
- package/.docs/models/providers/kilo.md +8 -7
- package/.docs/models/providers/merge-gateway.md +3 -1
- package/.docs/models/providers/nano-gpt.md +3 -9
- package/.docs/models/providers/vivgrid.md +2 -1
- package/.docs/models/providers.md +2 -0
- package/.docs/reference/acp/acp-agent.md +2 -2
- package/.docs/reference/acp/create-acp-tool.md +1 -1
- package/.docs/reference/agent-controller/agent-controller-class.md +2 -2
- package/.docs/reference/agents/agent.md +2 -2
- package/.docs/reference/agents/channels.md +2 -2
- package/.docs/reference/agents/createSkill.md +2 -2
- package/.docs/reference/agents/getSkill.md +1 -1
- package/.docs/reference/agents/listSkills.md +1 -1
- package/.docs/reference/agents/listSuspendedRuns.md +6 -6
- package/.docs/reference/agents/listTools.md +2 -2
- package/.docs/reference/agents/network.md +1 -1
- package/.docs/reference/ai-sdk/handle-network-stream.md +1 -1
- package/.docs/reference/ai-sdk/network-route.md +1 -1
- package/.docs/reference/auth/fga.md +5 -5
- package/.docs/reference/auth/jwt.md +1 -1
- package/.docs/reference/browser/agent-browser.md +2 -2
- package/.docs/reference/browser/browser-viewer.md +2 -2
- package/.docs/reference/browser/firecrawl-browser.md +1 -1
- package/.docs/reference/browser/mastra-browser.md +1 -1
- package/.docs/reference/browser/stagehand-browser.md +2 -2
- package/.docs/reference/build-with-ai.md +2 -2
- package/.docs/reference/channels/channel-provider.md +1 -1
- package/.docs/reference/channels/slack-provider.md +1 -1
- package/.docs/reference/cli/mastra.md +2 -0
- package/.docs/reference/client-js/agents.md +4 -4
- package/.docs/reference/coding-agent/create-coding-agent.md +142 -13
- package/.docs/reference/configuration.md +6 -6
- package/.docs/reference/core/getEditor.md +1 -1
- package/.docs/reference/core/getMCPServer.md +1 -1
- package/.docs/reference/core/getMCPServerById.md +1 -1
- package/.docs/reference/core/getTool.md +1 -1
- package/.docs/reference/core/getToolById.md +1 -1
- package/.docs/reference/core/listMCPServers.md +1 -1
- package/.docs/reference/core/listTools.md +1 -1
- package/.docs/reference/core/removeWorkspace.md +1 -1
- package/.docs/reference/editor/mastra-editor.md +2 -2
- package/.docs/reference/editor/prompt-blocks.md +2 -2
- package/.docs/reference/editor/tool-provider.md +1 -1
- package/.docs/reference/editor/tools.md +1 -1
- package/.docs/reference/editor/versioning.md +3 -3
- package/.docs/reference/evals/prompt-alignment.md +18 -0
- package/.docs/reference/evals/rubric.md +1 -1
- package/.docs/reference/file-based-agents/memory.md +2 -2
- package/.docs/reference/file-based-agents/server.md +3 -3
- package/.docs/reference/file-based-agents/skills.md +1 -1
- package/.docs/reference/file-based-agents/storage.md +3 -3
- package/.docs/reference/file-based-agents/subagents.md +1 -1
- package/.docs/reference/file-based-agents/workspace.md +3 -3
- package/.docs/reference/manual-install.md +3 -3
- package/.docs/reference/migrations/network-to-supervisor.md +2 -2
- package/.docs/reference/processors/skill-search-processor.md +1 -1
- package/.docs/reference/processors/tool-call-filter.md +7 -7
- package/.docs/reference/processors/tool-search-processor.md +1 -1
- package/.docs/reference/project-structure.md +1 -1
- package/.docs/reference/pubsub/lease-provider.md +3 -3
- package/.docs/reference/pubsub/redis-streams.md +1 -1
- package/.docs/reference/schedules/overview.md +1 -1
- package/.docs/reference/streaming/ChunkType.md +2 -2
- package/.docs/reference/streaming/agents/stream.md +3 -1
- package/.docs/reference/streaming/agents/streamUntilIdle.md +1 -1
- package/.docs/reference/tools/ask-user-tool.md +1 -1
- package/.docs/reference/tools/create-code-mode.md +1 -1
- package/.docs/reference/tools/create-tool.md +4 -4
- package/.docs/reference/tools/mcp-server.md +47 -2
- package/.docs/reference/tools/submit-plan-tool.md +1 -1
- package/.docs/reference/tools/task-tools.md +2 -2
- package/.docs/reference/vectors/vectorize.md +12 -2
- package/.docs/reference/workers/overview.md +2 -2
- package/.docs/reference/workspace/local-filesystem.md +1 -1
- package/.docs/reference/workspace/local-sandbox.md +4 -3
- package/.docs/reference/workspace/process-manager.md +20 -4
- package/.docs/reference/workspace/sandbox.md +1 -1
- package/.docs/reference/workspace/workspace-class.md +5 -5
- package/CHANGELOG.md +8 -0
- package/package.json +5 -5
- /package/.docs/docs/{server/auth → auth}/composite-auth.md +0 -0
- /package/.docs/docs/{server/auth → auth}/jwt.md +0 -0
- /package/.docs/docs/{browser/overview.md → browser.md} +0 -0
- /package/.docs/docs/{getting-started/develop.md → develop.md} +0 -0
- /package/.docs/docs/{long-running-agents → harness}/signals.md +0 -0
- /package/.docs/docs/{editor/overview.md → studio/editor.md} +0 -0
|
@@ -157,7 +157,7 @@ If you prefer not to use our automatic CLI tool, you can set up your project you
|
|
|
157
157
|
})
|
|
158
158
|
```
|
|
159
159
|
|
|
160
|
-
> **Note:** We've shortened and simplified the `weatherTool` example here. You can see the complete weather tool under [Giving an Agent a Tool](https://mastra.ai/docs/agents/
|
|
160
|
+
> **Note:** We've shortened and simplified the `weatherTool` example here. You can see the complete weather tool under [Giving an Agent a Tool](https://mastra.ai/docs/agents/tools).
|
|
161
161
|
|
|
162
162
|
5. Create a `weather-agent.ts` file:
|
|
163
163
|
|
|
@@ -244,7 +244,7 @@ If you prefer not to use our automatic CLI tool, you can set up your project you
|
|
|
244
244
|
|
|
245
245
|
- [Review the project structure](https://mastra.ai/reference/project-structure): Understand how `src/mastra/` files map to agents, tools, workflows, storage, and configuration.
|
|
246
246
|
- [Test your agent in Studio](https://mastra.ai/docs/studio/overview): Open the local Studio UI and run the weather agent.
|
|
247
|
-
- [Use tools with agents](https://mastra.ai/docs/agents/
|
|
247
|
+
- [Use tools with agents](https://mastra.ai/docs/agents/tools): Replace the example weather tool with a real tool that calls an API or service.
|
|
248
248
|
- [Add memory](https://mastra.ai/docs/memory/overview): Persist conversation history and user-specific context.
|
|
249
|
-
- [Configure storage](https://mastra.ai/docs/storage
|
|
249
|
+
- [Configure storage](https://mastra.ai/docs/storage): Add a persistent storage adapter for memory, workflows, observability, and other runtime state.
|
|
250
250
|
- [Build and deploy](https://mastra.ai/docs/deployment/overview): Build the Mastra server and deploy it to a hosting platform.
|
|
@@ -255,9 +255,9 @@ const stream = await supervisorAgent.stream('Research AI in education', {
|
|
|
255
255
|
|
|
256
256
|
## See also
|
|
257
257
|
|
|
258
|
-
- [Supervisor Agents](https://mastra.ai/docs/
|
|
258
|
+
- [Supervisor Agents](https://mastra.ai/docs/subagents)
|
|
259
259
|
- [Agent Networks](https://mastra.ai/docs/agents/networks)
|
|
260
260
|
- [Agent.stream() Reference](https://mastra.ai/reference/streaming/agents/stream)
|
|
261
261
|
- [Agent.generate() Reference](https://mastra.ai/reference/agents/generate)
|
|
262
|
-
- [Agent Approval](https://mastra.ai/docs/agents/
|
|
262
|
+
- [Agent Approval](https://mastra.ai/docs/agents/human-in-the-loop)
|
|
263
263
|
- [Guide: Research Coordinator](https://mastra.ai/blog/build-a-research-coordinator-with-supervisor-agents)
|
|
@@ -112,4 +112,4 @@ Reserve workspace file tools such as `mastra_workspace_read_file` for explicit f
|
|
|
112
112
|
|
|
113
113
|
- [ToolSearchProcessor](https://mastra.ai/reference/processors/tool-search-processor)
|
|
114
114
|
- [Processors](https://mastra.ai/docs/agents/processors)
|
|
115
|
-
- [Workspace Skills](https://mastra.ai/docs/
|
|
115
|
+
- [Workspace Skills](https://mastra.ai/docs/sandbox/skills)
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
# ToolCallFilter
|
|
4
4
|
|
|
5
|
-
The `ToolCallFilter` is an **input processor** that filters out tool calls and their results from the
|
|
5
|
+
The `ToolCallFilter` is an **input processor** that filters out tool calls and their results from the prompt sent to the model. This is useful when you want to exclude specific tool interactions from context or remove all tool calls entirely.
|
|
6
|
+
|
|
7
|
+
Filtering happens in the `processLLMRequest` hook, which runs after the message list is converted to a model prompt. Changes are transient: they affect only what's sent to the model on that call. Stored messages, memory, and UI history keep their original tool calls and results.
|
|
6
8
|
|
|
7
9
|
## Usage example
|
|
8
10
|
|
|
@@ -44,13 +46,11 @@ const filterWithCompactToolHistory = new ToolCallFilter({
|
|
|
44
46
|
|
|
45
47
|
**name** (`string`): Processor display name set to 'ToolCallFilter'
|
|
46
48
|
|
|
47
|
-
**
|
|
48
|
-
|
|
49
|
-
**processInputStep** (`(args: ProcessInputStepArgs) => Promise<ProcessInputStepResult>`): Processes agent loop step input when filterAfterToolSteps is configured. Returns no changes when step filtering is disabled
|
|
49
|
+
**processLLMRequest** (`(args: ProcessLLMRequestArgs) => Promise<ProcessLLMRequestResult | undefined>`): Filters tool calls and results out of the model prompt before it is sent to the provider. Returns undefined when nothing is filtered. Changes are transient and are not persisted to the message list or memory
|
|
50
50
|
|
|
51
51
|
## Step filtering
|
|
52
52
|
|
|
53
|
-
By default, `ToolCallFilter` filters
|
|
53
|
+
By default, `ToolCallFilter` filters tool calls from history but leaves tool calls made during the current agent loop in place. Set `filterAfterToolSteps` to also filter tool calls produced by the current loop.
|
|
54
54
|
|
|
55
55
|
`filterAfterToolSteps` counts tool-producing steps. For example, `filterAfterToolSteps: 2` keeps tool calls and results from the two most recent tool-producing steps and filters older tool calls and results. Non-tool text remains in context.
|
|
56
56
|
|
|
@@ -64,9 +64,9 @@ const filter = new ToolCallFilter({
|
|
|
64
64
|
|
|
65
65
|
## Preserve compact model output
|
|
66
66
|
|
|
67
|
-
Set `preserveModelOutput: true` to retain compact `toModelOutput` history for
|
|
67
|
+
Set `preserveModelOutput: true` to retain compact `toModelOutput` history for tool results that the filter removes. The removed tool call and result are replaced with a single text part in the prompt, so the model still sees the output while the raw tool arguments are dropped.
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
Tool results without model output that can be represented as text are removed entirely.
|
|
70
70
|
|
|
71
71
|
```typescript
|
|
72
72
|
const filter = new ToolCallFilter({
|
|
@@ -44,7 +44,7 @@ Mastra recommends organizing your code into the following folders:
|
|
|
44
44
|
|
|
45
45
|
Mastra has two special folder conventions:
|
|
46
46
|
|
|
47
|
-
- `src/mastra/agents/<name>`: You can define an agent by file convention instead of constructing it in code. Learn more in the [File-based Agents](https://mastra.ai/docs/
|
|
47
|
+
- `src/mastra/agents/<name>`: You can define an agent by file convention instead of constructing it in code. Learn more in the [File-based Agents](https://mastra.ai/docs/develop) docs.
|
|
48
48
|
- `src/mastra/public`: Contents are copied into the `.build/output` directory during the build process, making them available for serving at runtime.
|
|
49
49
|
|
|
50
50
|
### Top-level files
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# LeaseProvider
|
|
4
4
|
|
|
5
|
-
`LeaseProvider` is the distributed leasing contract, separate from event delivery ([`PubSub`](https://mastra.ai/reference/pubsub/base)). Mastra's [signals layer](https://mastra.ai/docs/
|
|
5
|
+
`LeaseProvider` is the distributed leasing contract, separate from event delivery ([`PubSub`](https://mastra.ai/reference/pubsub/base)). Mastra's [signals layer](https://mastra.ai/docs/harness/signals) uses it to elect a single owner across multiple processes (for example, serverless invocations) for a resource, most commonly a thread key. The owner is the process that wakes and runs the agent stream, so other processes route follow-up work to it instead of starting a competing run.
|
|
6
6
|
|
|
7
7
|
Leasing is a distinct concern from pub/sub. A backend implements `LeaseProvider` only when it can actually coordinate a lock, such as Redis via atomic `SET`/Lua, or an in-memory map for single-process. Backends that can't lease omit it; the signals runtime feature-detects the capability and falls back to a no-op provider, preserving single-process behavior.
|
|
8
8
|
|
|
@@ -129,5 +129,5 @@ When the configured pub/sub backend doesn't implement `LeaseProvider`, the runti
|
|
|
129
129
|
|
|
130
130
|
- [PubSub](https://mastra.ai/reference/pubsub/base): The event delivery contract, separate from leasing
|
|
131
131
|
- [RedisStreamsPubSub](https://mastra.ai/reference/pubsub/redis-streams): The built-in backend that implements `LeaseProvider`
|
|
132
|
-
- [Signals](https://mastra.ai/docs/
|
|
133
|
-
- [Channels](https://mastra.ai/docs/
|
|
132
|
+
- [Signals](https://mastra.ai/docs/harness/signals): The runtime that uses leasing to coordinate thread execution across processes
|
|
133
|
+
- [Channels](https://mastra.ai/docs/channels): Uses leasing to coordinate agent runs in serverless and multi-instance deployments
|
|
@@ -131,7 +131,7 @@ When a subscriber calls `nack`, the event is republished with an incremented `de
|
|
|
131
131
|
|
|
132
132
|
## Distributed leasing
|
|
133
133
|
|
|
134
|
-
`RedisStreamsPubSub` implements the [`LeaseProvider`](https://mastra.ai/reference/pubsub/lease-provider) contract on top of the same Redis connection. The [signals runtime](https://mastra.ai/docs/
|
|
134
|
+
`RedisStreamsPubSub` implements the [`LeaseProvider`](https://mastra.ai/reference/pubsub/lease-provider) contract on top of the same Redis connection. The [signals runtime](https://mastra.ai/docs/harness/signals) uses it to elect a single owner (usually per thread key) so that across instances only one process wakes and runs the agent, and others route follow-up work to the holder. This is what makes signals work on serverless and multi-instance deployments; without a shared lease, each instance would start its own competing run.
|
|
135
135
|
|
|
136
136
|
Lease keys are namespaced under the same `keyPrefix` as topics, as `<keyPrefix>:lease:<key>`. All operations are atomic: `acquireLease` uses `SET NX PX` and refreshes its own TTL idempotently, while `releaseLease`, `renewLease`, and `transferLease` use Lua scripts that check ownership before mutating, so a concurrent renewal from another owner is never clobbered.
|
|
137
137
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
`mastra.schedules` is the CRUD service for persisted cron schedules. Use it to create, list, update, pause, resume, manually run, and delete schedules for agents or workflows.
|
|
10
10
|
|
|
11
|
-
For usage patterns and concepts, see [Schedules](https://mastra.ai/docs/
|
|
11
|
+
For usage patterns and concepts, see [Schedules](https://mastra.ai/docs/harness/schedules).
|
|
12
12
|
|
|
13
13
|
## Usage example
|
|
14
14
|
|
|
@@ -402,7 +402,7 @@ Contains output from workflow step execution, used primarily for usage tracking
|
|
|
402
402
|
|
|
403
403
|
## Background task chunks
|
|
404
404
|
|
|
405
|
-
Emitted when a tool call is dispatched as a [background task](https://mastra.ai/docs/
|
|
405
|
+
Emitted when a tool call is dispatched as a [background task](https://mastra.ai/docs/harness/background-tasks) and `streamUntilIdle()` is used.
|
|
406
406
|
|
|
407
407
|
### background-task-started
|
|
408
408
|
|
|
@@ -614,7 +614,7 @@ Contains monitoring and observability data from agent execution. Can include wor
|
|
|
614
614
|
|
|
615
615
|
### goal
|
|
616
616
|
|
|
617
|
-
Emitted on every evaluation of an agent [goal](https://mastra.ai/docs/
|
|
617
|
+
Emitted on every evaluation of an agent [goal](https://mastra.ai/docs/harness/goals). Consumers use this to render judge progress and the result mid-run. A goal that has no judge model configured produces no `goal` chunk.
|
|
618
618
|
|
|
619
619
|
**type** (`"goal"`): Chunk type identifier
|
|
620
620
|
|
|
@@ -178,6 +178,8 @@ const stream = await agent.stream('message for agent')
|
|
|
178
178
|
|
|
179
179
|
**options.savePerStep** (`boolean`): Save messages incrementally after each stream step completes (default: false).
|
|
180
180
|
|
|
181
|
+
**options.persistPartialOnAbort** (`boolean`): Save the assistant text that was streamed before an abort to memory (default: false). Only text emitted before the abort is persisted; output a provider keeps producing after cancellation is discarded, and nothing is saved when no text was streamed.
|
|
182
|
+
|
|
181
183
|
**options.requireToolApproval** (`boolean`): When true, all tool calls require explicit approval before execution. The stream will emit tool-call-approval chunks and pause until approveToolCall() or declineToolCall() is called.
|
|
182
184
|
|
|
183
185
|
**options.autoResumeSuspendedTools** (`boolean`): When true, automatically resumes suspended tools when the user sends a new message on the same thread. The agent extracts resumeData from the user's message based on the tool's resumeSchema. Requires memory to be configured.
|
|
@@ -399,4 +401,4 @@ Responses WebSocket connections run one response at a time. Mastra rejects overl
|
|
|
399
401
|
|
|
400
402
|
- [Generating responses](https://mastra.ai/docs/agents/overview)
|
|
401
403
|
- [Streaming responses](https://mastra.ai/docs/agents/overview)
|
|
402
|
-
- [Agent Approval](https://mastra.ai/docs/agents/
|
|
404
|
+
- [Agent Approval](https://mastra.ai/docs/agents/human-in-the-loop)
|
|
@@ -101,7 +101,7 @@ for await (const chunk of stream.fullStream) {
|
|
|
101
101
|
|
|
102
102
|
## Related
|
|
103
103
|
|
|
104
|
-
- [Background tasks](https://mastra.ai/docs/
|
|
104
|
+
- [Background tasks](https://mastra.ai/docs/harness/background-tasks)
|
|
105
105
|
- [`Agent.stream()` reference](https://mastra.ai/reference/streaming/agents/stream)
|
|
106
106
|
- [backgroundTasks configuration reference](https://mastra.ai/reference/configuration)
|
|
107
107
|
- [Stream chunk types](https://mastra.ai/reference/streaming/ChunkType)
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
A built-in, agent-agnostic tool that asks the user a question and waits for their response. The tool supports free-text questions, single-select prompts, and multi-select prompts.
|
|
6
6
|
|
|
7
|
-
The tool pauses through the native [tool suspension](https://mastra.ai/docs/agents/
|
|
7
|
+
The tool pauses through the native [tool suspension](https://mastra.ai/docs/agents/human-in-the-loop) primitive: it calls `suspend()` with the question payload, which makes the agent emit a `tool-call-suspended` event and persist run state. Resume the run with `agent.resumeStream(answer, { runId })`.
|
|
8
8
|
|
|
9
9
|
When executed outside an agent run (no `suspend` available), the tool returns a readable fallback string containing the question and choices.
|
|
10
10
|
|
|
@@ -126,4 +126,4 @@ export const codeModeTool = createCodeModeTool({
|
|
|
126
126
|
|
|
127
127
|
- [Code mode](https://mastra.ai/docs/agents/code-mode)
|
|
128
128
|
- [createTool()](https://mastra.ai/reference/tools/create-tool)
|
|
129
|
-
- [Sandbox](https://mastra.ai/docs/
|
|
129
|
+
- [Sandbox](https://mastra.ai/docs/sandbox/overview)
|
|
@@ -519,8 +519,8 @@ These annotations follow the [MCP specification](https://spec.modelcontextprotoc
|
|
|
519
519
|
|
|
520
520
|
## Related
|
|
521
521
|
|
|
522
|
-
- [MCP Overview](https://mastra.ai/docs/mcp
|
|
523
|
-
- [Using Tools with Agents](https://mastra.ai/docs/agents/
|
|
524
|
-
- [Agent Approval](https://mastra.ai/docs/agents/
|
|
525
|
-
- [Tool Streaming](https://mastra.ai/docs/agents/
|
|
522
|
+
- [MCP Overview](https://mastra.ai/docs/connections/mcp)
|
|
523
|
+
- [Using Tools with Agents](https://mastra.ai/docs/agents/tools)
|
|
524
|
+
- [Agent Approval](https://mastra.ai/docs/agents/human-in-the-loop)
|
|
525
|
+
- [Tool Streaming](https://mastra.ai/docs/agents/tools)
|
|
526
526
|
- [Request Context](https://mastra.ai/docs/server/request-context)
|
|
@@ -168,6 +168,51 @@ const fetchUserData = createTool({
|
|
|
168
168
|
})
|
|
169
169
|
```
|
|
170
170
|
|
|
171
|
+
#### Where `authInfo` comes from
|
|
172
|
+
|
|
173
|
+
When an MCP server is served by a Mastra server, `extra.authInfo` is populated from the principal resolved by `server.auth`. Nothing extra is required:
|
|
174
|
+
|
|
175
|
+
```typescript
|
|
176
|
+
export const mastra = new Mastra({
|
|
177
|
+
mcpServers: { myServer },
|
|
178
|
+
server: {
|
|
179
|
+
auth: new MastraJwtAuth({ secret: process.env.JWT_SECRET! }),
|
|
180
|
+
},
|
|
181
|
+
})
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
The authenticated user is mapped to `authInfo` as:
|
|
185
|
+
|
|
186
|
+
| `authInfo` field | Value |
|
|
187
|
+
| ---------------- | -------------------------------------------------------------------------- |
|
|
188
|
+
| `token` | The bearer token or session cookie value used for the request |
|
|
189
|
+
| `clientId` | The first present of `user.id`, `user.sub`, `user.userId`, `user.email` |
|
|
190
|
+
| `scopes` | `user.scopes`, `user.scope`, or `user.permissions`, normalized to an array |
|
|
191
|
+
| `extra.user` | The full user object returned by the auth provider |
|
|
192
|
+
|
|
193
|
+
If your own middleware performs the verification, set `server.mcpOptions.setRequestAuth` to build `authInfo` yourself. The hook replaces the default mapping and applies to both the streamable HTTP and SSE transports:
|
|
194
|
+
|
|
195
|
+
```typescript
|
|
196
|
+
export const mastra = new Mastra({
|
|
197
|
+
mcpServers: { myServer },
|
|
198
|
+
server: {
|
|
199
|
+
middleware: [verifyBearerToken], // stores the payload on the request context
|
|
200
|
+
mcpOptions: {
|
|
201
|
+
setRequestAuth: (req, requestContext) => {
|
|
202
|
+
const payload = requestContext.get('bearerPayload')
|
|
203
|
+
req.auth = {
|
|
204
|
+
token: payload.token,
|
|
205
|
+
clientId: payload.sub,
|
|
206
|
+
scopes: payload.scope.split(' '),
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
},
|
|
210
|
+
},
|
|
211
|
+
})
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
Leaving `req.auth` unset inside the hook opts the request out of auth info entirely.
|
|
215
|
+
|
|
171
216
|
## Methods
|
|
172
217
|
|
|
173
218
|
These are the functions you can call on an `MCPServer` instance to control its behavior and get information.
|
|
@@ -929,7 +974,7 @@ Notification methods (`resources.notifyListChanged()`, `prompts.notifyListChange
|
|
|
929
974
|
|
|
930
975
|
## Examples
|
|
931
976
|
|
|
932
|
-
For a practical example of packaging a stdio server, see [Publish a stdio server package](https://mastra.ai/docs/mcp
|
|
977
|
+
For a practical example of packaging a stdio server, see [Publish a stdio server package](https://mastra.ai/docs/connections/mcp).
|
|
933
978
|
|
|
934
979
|
The example at the beginning of this page also demonstrates how to instantiate `MCPServer` with both tools and agents.
|
|
935
980
|
|
|
@@ -1663,7 +1708,7 @@ const server = new MCPServer({
|
|
|
1663
1708
|
})
|
|
1664
1709
|
```
|
|
1665
1710
|
|
|
1666
|
-
Link a tool to its app resource by setting `mcp._meta.ui.resourceUri` in `createTool()` to the matching `ui://` URI. The server normalizes this metadata for older hosts when listing tools. Visit [MCP Apps](https://mastra.ai/docs/mcp
|
|
1711
|
+
Link a tool to its app resource by setting `mcp._meta.ui.resourceUri` in `createTool()` to the matching `ui://` URI. The server normalizes this metadata for older hosts when listing tools. Visit [MCP Apps](https://mastra.ai/docs/connections/mcp) for the full app bridge API and usage patterns.
|
|
1667
1712
|
|
|
1668
1713
|
## Related information
|
|
1669
1714
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
A built-in, agent-agnostic tool that submits an implementation plan for user review. The agent writes a plan to a markdown file and passes the file path to this tool. The tool suspends the run until the user approves or rejects the plan.
|
|
6
6
|
|
|
7
|
-
The tool pauses through the native [tool suspension](https://mastra.ai/docs/agents/
|
|
7
|
+
The tool pauses through the native [tool suspension](https://mastra.ai/docs/agents/human-in-the-loop) primitive: it calls `suspend({ path })`, which makes the agent emit a `tool-call-suspended` event. The host reads the plan file and presents it to the user. It then resumes with an approval or rejection.
|
|
8
8
|
|
|
9
9
|
When executed outside an agent run (no `suspend` available), the tool returns a readable fallback string containing the file path.
|
|
10
10
|
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
# Task tools
|
|
4
4
|
|
|
5
|
-
Four built-in, agent-agnostic tools that manage a structured task list for an agent run. The task list is persisted in the thread-scoped `threadState` storage domain and projected onto the agent [state-signal](https://mastra.ai/docs/
|
|
5
|
+
Four built-in, agent-agnostic tools that manage a structured task list for an agent run. The task list is persisted in the thread-scoped `threadState` storage domain and projected onto the agent [state-signal](https://mastra.ai/docs/harness/signals) lane so it survives [observational-memory](https://mastra.ai/docs/memory/observational-memory) truncation.
|
|
6
6
|
|
|
7
7
|
Task tracking requires a memory-backed thread (`threadId` + `resourceId`). Without memory the tools return an error explaining that task tracking requires agent memory.
|
|
8
8
|
|
|
9
|
-
The recommended setup is [`TaskSignalProvider`](https://mastra.ai/reference/signals/task-signal-provider), which bundles all four tools and the `TaskStateProcessor` in a single registration. See [Built-in tools](https://mastra.ai/docs/agents/
|
|
9
|
+
The recommended setup is [`TaskSignalProvider`](https://mastra.ai/reference/signals/task-signal-provider), which bundles all four tools and the `TaskStateProcessor` in a single registration. See [Built-in tools](https://mastra.ai/docs/agents/tools) for the conceptual guide.
|
|
10
10
|
|
|
11
11
|
## Usage example
|
|
12
12
|
|
|
@@ -90,13 +90,13 @@ Lists all metadata field indexes for an index.
|
|
|
90
90
|
|
|
91
91
|
### `updateVector()`
|
|
92
92
|
|
|
93
|
-
Updates
|
|
93
|
+
Updates the vector and optionally the metadata for a specific ID within an index. Vectorize has no partial-update operation, so `update.vector` is required. Metadata-only updates aren't supported and throw an error.
|
|
94
94
|
|
|
95
95
|
**indexName** (`string`): Name of the index containing the ID to update
|
|
96
96
|
|
|
97
97
|
**id** (`string`): Unique identifier of the vector or metadata to update
|
|
98
98
|
|
|
99
|
-
**update** (`{ vector
|
|
99
|
+
**update** (`{ vector: number[]; metadata?: Record<string, any>; }`): Object containing the new vector values, and optionally the metadata to update. The vector values are required
|
|
100
100
|
|
|
101
101
|
### `deleteVector()`
|
|
102
102
|
|
|
@@ -106,6 +106,16 @@ Deletes a vector and its associated metadata for a specific ID within an index.
|
|
|
106
106
|
|
|
107
107
|
**id** (`string`): Unique identifier of the vector and metadata to delete
|
|
108
108
|
|
|
109
|
+
### `deleteVectors()`
|
|
110
|
+
|
|
111
|
+
Deletes multiple vectors and their associated metadata by ID. Vectorize has no filtered-delete operation, so deleting by metadata filter isn't supported and throws an error.
|
|
112
|
+
|
|
113
|
+
**indexName** (`string`): Name of the index containing the vectors to delete
|
|
114
|
+
|
|
115
|
+
**ids** (`string[]`): Unique identifiers of the vectors to delete. Must contain at least one ID, and cannot be combined with filter
|
|
116
|
+
|
|
117
|
+
**filter** (`Record<string, any>`): Not supported by Vectorize. Passing a filter throws an error
|
|
118
|
+
|
|
109
119
|
## Response types
|
|
110
120
|
|
|
111
121
|
Query results are returned in this format:
|
|
@@ -31,7 +31,7 @@ The base URL of the API server, used by the orchestration worker to execute work
|
|
|
31
31
|
MASTRA_STEP_EXECUTION_URL=http://api:4111/api
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
Use HTTPS URLs in production. See [Security recommendations](https://mastra.ai/docs/
|
|
34
|
+
Use HTTPS URLs in production. See [Security recommendations](https://mastra.ai/docs/auth/workers).
|
|
35
35
|
|
|
36
36
|
The orchestration worker sends step execution requests to:
|
|
37
37
|
|
|
@@ -41,7 +41,7 @@ ${MASTRA_STEP_EXECUTION_URL}/workflows/:workflowId/runs/:runId/steps/execute
|
|
|
41
41
|
|
|
42
42
|
### `MASTRA_WORKER_AUTH_TOKEN`
|
|
43
43
|
|
|
44
|
-
A bearer token sent by the orchestration worker when calling the API's step execution endpoint. The API's configured auth provider must recognize this token. See [Worker authentication](https://mastra.ai/docs/
|
|
44
|
+
A bearer token sent by the orchestration worker when calling the API's step execution endpoint. The API's configured auth provider must recognize this token. See [Worker authentication](https://mastra.ai/docs/auth/workers).
|
|
45
45
|
|
|
46
46
|
```text
|
|
47
47
|
MASTRA_WORKER_AUTH_TOKEN=sk-worker-secret-token
|
|
@@ -356,4 +356,4 @@ Set `WORKSPACE_PATH` in your environment to an absolute path like `/home/user/my
|
|
|
356
356
|
|
|
357
357
|
- [WorkspaceFilesystem interface](https://mastra.ai/reference/workspace/filesystem)
|
|
358
358
|
- [Workspace class](https://mastra.ai/reference/workspace/workspace-class)
|
|
359
|
-
- [Sandbox](https://mastra.ai/docs/
|
|
359
|
+
- [Sandbox](https://mastra.ai/docs/sandbox/overview)
|
|
@@ -123,10 +123,11 @@ await sandbox.start()
|
|
|
123
123
|
// Spawn a background process
|
|
124
124
|
const handle = await sandbox.processes.spawn('node server.js')
|
|
125
125
|
|
|
126
|
-
// Read output, send stdin,
|
|
126
|
+
// Read output, send stdin, signal EOF, and wait for completion
|
|
127
127
|
console.log(handle.stdout)
|
|
128
128
|
await handle.sendStdin('input\n')
|
|
129
|
-
await handle.
|
|
129
|
+
await handle.closeStdin()
|
|
130
|
+
await handle.wait()
|
|
130
131
|
```
|
|
131
132
|
|
|
132
133
|
When native isolation is enabled (`seatbelt` or `bwrap`), spawned processes are also wrapped with the same isolation backend.
|
|
@@ -223,4 +224,4 @@ This separation prevents sandboxed processes from reading or modifying their own
|
|
|
223
224
|
- [SandboxProcessManager reference](https://mastra.ai/reference/workspace/process-manager)
|
|
224
225
|
- [WorkspaceSandbox Interface](https://mastra.ai/reference/workspace/sandbox)
|
|
225
226
|
- [Workspace Class](https://mastra.ai/reference/workspace/workspace-class)
|
|
226
|
-
- [Sandbox](https://mastra.ai/docs/
|
|
227
|
+
- [Sandbox](https://mastra.ai/docs/sandbox/overview)
|
|
@@ -121,7 +121,7 @@ Information about a tracked process, returned by `list()`.
|
|
|
121
121
|
|
|
122
122
|
## `ProcessHandle`
|
|
123
123
|
|
|
124
|
-
Handle to a spawned background process. Provides methods to read output, send stdin, wait for completion, and kill the process.
|
|
124
|
+
Handle to a spawned background process. Provides methods to read output, send or close stdin, wait for completion, and kill the process.
|
|
125
125
|
|
|
126
126
|
You don't create `ProcessHandle` instances directly. They're returned by `spawn()` and `get()`.
|
|
127
127
|
|
|
@@ -141,8 +141,9 @@ console.log(handle.exitCode) // undefined while running
|
|
|
141
141
|
// Wait for completion
|
|
142
142
|
const result = await handle.wait()
|
|
143
143
|
|
|
144
|
-
// Send stdin
|
|
144
|
+
// Send stdin and signal EOF
|
|
145
145
|
await handle.sendStdin('input data\n')
|
|
146
|
+
await handle.closeStdin()
|
|
146
147
|
|
|
147
148
|
// Kill the process
|
|
148
149
|
await handle.kill()
|
|
@@ -162,7 +163,7 @@ await handle.kill()
|
|
|
162
163
|
|
|
163
164
|
**reader** (`Readable`): Readable stream of stdout. Useful for protocols like LSP or JSON-RPC that communicate over stdio.
|
|
164
165
|
|
|
165
|
-
**writer** (`Writable`): Writable stream to stdin. Useful for protocols like LSP or JSON-RPC that communicate over stdio.
|
|
166
|
+
**writer** (`Writable`): Writable stream to stdin. Ending the stream calls closeStdin(). Useful for protocols like LSP or JSON-RPC that communicate over stdio.
|
|
166
167
|
|
|
167
168
|
### Methods
|
|
168
169
|
|
|
@@ -228,6 +229,21 @@ await handle.sendStdin('console.log("hello")\n')
|
|
|
228
229
|
|
|
229
230
|
**Returns:** `Promise<void>`
|
|
230
231
|
|
|
232
|
+
#### `closeStdin()`
|
|
233
|
+
|
|
234
|
+
Close the process's stdin to signal end-of-file (EOF). Use this after sending all input to commands that read until stdin closes. An exited process or an unavailable stdin causes a throw. Providers without a stdin close primitive throw `UnsupportedStdinCloseError`.
|
|
235
|
+
|
|
236
|
+
```typescript
|
|
237
|
+
const handle = await sandbox.processes.spawn('cat')
|
|
238
|
+
await handle.sendStdin('input data\n')
|
|
239
|
+
await handle.closeStdin()
|
|
240
|
+
const result = await handle.wait()
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
Calling `handle.writer.end()` also closes stdin. On providers without stdin close support, `writer.end()` finishes the stream without an error.
|
|
244
|
+
|
|
245
|
+
**Returns:** `Promise<void>`
|
|
246
|
+
|
|
231
247
|
## Stream interop
|
|
232
248
|
|
|
233
249
|
`ProcessHandle` exposes `reader` and `writer` properties for integration with Node.js stream-based protocols like LSP or JSON-RPC:
|
|
@@ -291,7 +307,7 @@ When a process manager is provided, `MastraSandbox` automatically creates a defa
|
|
|
291
307
|
|
|
292
308
|
## Related
|
|
293
309
|
|
|
294
|
-
- [Sandbox](https://mastra.ai/docs/
|
|
310
|
+
- [Sandbox](https://mastra.ai/docs/sandbox/overview)
|
|
295
311
|
- [WorkspaceSandbox interface](https://mastra.ai/reference/workspace/sandbox)
|
|
296
312
|
- [LocalSandbox reference](https://mastra.ai/reference/workspace/local-sandbox)
|
|
297
313
|
- [E2BSandbox reference](https://mastra.ai/integrations/sandboxes/e2b)
|
|
@@ -102,6 +102,6 @@ const instructions = sandbox.getInstructions?.()
|
|
|
102
102
|
## Related
|
|
103
103
|
|
|
104
104
|
- [SandboxProcessManager reference](https://mastra.ai/reference/workspace/process-manager)
|
|
105
|
-
- [Sandbox](https://mastra.ai/docs/
|
|
105
|
+
- [Sandbox](https://mastra.ai/docs/sandbox/overview)
|
|
106
106
|
- [Workspace Class](https://mastra.ai/reference/workspace/workspace-class)
|
|
107
107
|
- [Filesystem Interface](https://mastra.ai/reference/workspace/filesystem)
|
|
@@ -139,7 +139,7 @@ const workspace = new Workspace({
|
|
|
139
139
|
})
|
|
140
140
|
```
|
|
141
141
|
|
|
142
|
-
See [Filesystem tools](https://mastra.ai/docs/
|
|
142
|
+
See [Filesystem tools](https://mastra.ai/docs/sandbox/filesystem), [Sandbox tools](https://mastra.ai/docs/sandbox/overview), [LSP inspection](https://mastra.ai/docs/sandbox/lsp), and [Search tools](https://mastra.ai/docs/sandbox/search) for capability-specific configuration.
|
|
143
143
|
|
|
144
144
|
### Tool name remapping
|
|
145
145
|
|
|
@@ -460,7 +460,7 @@ Added when a filesystem is configured:
|
|
|
460
460
|
| `mastra_workspace_mkdir` | Create a directory. Creates parent directories automatically if they don't exist. |
|
|
461
461
|
| `mastra_workspace_grep` | Search file contents using regex patterns. Supports glob filtering, context lines, and case-insensitive search. |
|
|
462
462
|
|
|
463
|
-
With a static filesystem, write tools (`write_file`, `edit_file`, `delete`, `mkdir`) are excluded when the filesystem is in read-only mode. With a [runtime-defined filesystem](https://mastra.ai/docs/
|
|
463
|
+
With a static filesystem, write tools (`write_file`, `edit_file`, `delete`, `mkdir`) are excluded when the filesystem is in read-only mode. With a [runtime-defined filesystem](https://mastra.ai/docs/sandbox/filesystem), write tools are always included and read-only is enforced at runtime.
|
|
464
464
|
|
|
465
465
|
The `read_file` tool accepts `mediaTypes` and `maxMediaBytes` options to control which mime types are surfaced to the model as native media parts and how large those files can be:
|
|
466
466
|
|
|
@@ -492,7 +492,7 @@ Added when a sandbox is configured:
|
|
|
492
492
|
| `mastra_workspace_get_process_output` | Get stdout, stderr, and status of a background process by PID. Accepts `tail` to limit output lines and `wait: true` to block until exit. Only available when the sandbox has a process manager. |
|
|
493
493
|
| `mastra_workspace_kill_process` | Kill a background process by PID. Returns the last 50 lines of output. Only available when the sandbox has a process manager. |
|
|
494
494
|
|
|
495
|
-
With a static sandbox, capability checks (`executeCommand`, `processes`) decide which tool variants are exposed. With a [runtime-defined sandbox](https://mastra.ai/docs/
|
|
495
|
+
With a static sandbox, capability checks (`executeCommand`, `processes`) decide which tool variants are exposed. With a [runtime-defined sandbox](https://mastra.ai/docs/sandbox/overview), all sandbox tools are registered and the runtime throws a clear error if the resolved sandbox doesn't implement a requested capability.
|
|
496
496
|
|
|
497
497
|
The `execute_command` tool accepts a `backgroundProcesses` option for lifecycle callbacks on background processes:
|
|
498
498
|
|
|
@@ -506,7 +506,7 @@ The `execute_command` tool accepts a `backgroundProcesses` option for lifecycle
|
|
|
506
506
|
|
|
507
507
|
**backgroundProcesses.abortSignal** (`AbortSignal | null | false`): Abort signal for background processes. undefined (default) uses the agent's signal. null or false disables abort — processes persist after agent shutdown.
|
|
508
508
|
|
|
509
|
-
See [Background processes](https://mastra.ai/docs/
|
|
509
|
+
See [Background processes](https://mastra.ai/docs/sandbox/overview) for callback examples.
|
|
510
510
|
|
|
511
511
|
### Search tools
|
|
512
512
|
|
|
@@ -529,4 +529,4 @@ Added when skills are configured:
|
|
|
529
529
|
| `skill_search` | Search across skill content. Accepts an optional list of skill names to filter and a `topK` parameter. |
|
|
530
530
|
| `skill_read` | Read a specific file (reference, script, or asset) from a skill directory. |
|
|
531
531
|
|
|
532
|
-
When multiple skills share the same name, `list()` returns all of them. `get()` with a name applies tie-breaking (local > managed > external). If two skills share the same name and source type, `get()` throws an error. Pass a skill's full path to `get()` to bypass tie-breaking. See [Skills with the same name](https://mastra.ai/docs/
|
|
532
|
+
When multiple skills share the same name, `list()` returns all of them. `get()` with a name applies tie-breaking (local > managed > external). If two skills share the same name and source type, `get()` throws an error. Pass a skill's full path to `get()` to bypass tie-breaking. See [Skills with the same name](https://mastra.ai/docs/sandbox/skills) for details.
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @mastra/mcp-docs-server
|
|
2
2
|
|
|
3
|
+
## 1.2.17-alpha.14
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`4e7a421`](https://github.com/mastra-ai/mastra/commit/4e7a421dce8a48742f785d1e93ad2f43a572b282), [`242e324`](https://github.com/mastra-ai/mastra/commit/242e3241e73cbd5c9bb86a31ebb49ca0256488d4), [`217e967`](https://github.com/mastra-ai/mastra/commit/217e9672d8b3160eb729d8e9f0044949e88da239), [`d774e89`](https://github.com/mastra-ai/mastra/commit/d774e8930c781df8c9effe3763e6b501c099b6cc), [`9c27a53`](https://github.com/mastra-ai/mastra/commit/9c27a53cd9d3de4f3f025bc387d94ce371c33f95), [`dff25a1`](https://github.com/mastra-ai/mastra/commit/dff25a1103fa72ee082a9b6f805ebeb5ce400753), [`217e967`](https://github.com/mastra-ai/mastra/commit/217e9672d8b3160eb729d8e9f0044949e88da239), [`7f78585`](https://github.com/mastra-ai/mastra/commit/7f785857e401570e2ffb316911f126ed363aa537), [`f2a4afd`](https://github.com/mastra-ai/mastra/commit/f2a4afd7e37e809669001ed17724b341a5c1f45e), [`d438148`](https://github.com/mastra-ai/mastra/commit/d438148e222c1e2fb3c652725ce75680962ebec4), [`ba05fe0`](https://github.com/mastra-ai/mastra/commit/ba05fe0738f70cb686777546e968237d09269142), [`d26a8d4`](https://github.com/mastra-ai/mastra/commit/d26a8d4281f28414715b333c85bedaf70d0b2890), [`677cdc6`](https://github.com/mastra-ai/mastra/commit/677cdc6af564dec29a13464d12b7ab2a4efc22e9), [`a318490`](https://github.com/mastra-ai/mastra/commit/a318490e17da32f338d50929c770d901a9b3dd72), [`763e0c6`](https://github.com/mastra-ai/mastra/commit/763e0c61e04d76ad9a9efd301aa57525ca0cbea9), [`23e0be2`](https://github.com/mastra-ai/mastra/commit/23e0be261381e49534b4ff3101c60ee64a946cbf), [`7fc8806`](https://github.com/mastra-ai/mastra/commit/7fc880627d3cbf995d31ea0e8b807bf15417e651), [`0e02eac`](https://github.com/mastra-ai/mastra/commit/0e02eacdb2e30e1697a41910b41163742a181dc1), [`4df174c`](https://github.com/mastra-ai/mastra/commit/4df174c32bddf093a82f273070b8380aef7c9e90), [`f7c25b5`](https://github.com/mastra-ai/mastra/commit/f7c25b5106ddfb48e591f98df7a51e0f2dd01dba), [`dc09cc1`](https://github.com/mastra-ai/mastra/commit/dc09cc1083d861cde192c1cd235324dc75b8c731), [`36b4649`](https://github.com/mastra-ai/mastra/commit/36b4649045a3a380cbab8ceca866db4086223aff), [`377eb81`](https://github.com/mastra-ai/mastra/commit/377eb81ce43b964e3a6b541df172da74a8ff3716)]:
|
|
8
|
+
- @mastra/core@1.60.0-alpha.8
|
|
9
|
+
- @mastra/mcp@1.17.0-alpha.1
|
|
10
|
+
|
|
3
11
|
## 1.2.17-alpha.12
|
|
4
12
|
|
|
5
13
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/mcp-docs-server",
|
|
3
|
-
"version": "1.2.17-alpha.
|
|
3
|
+
"version": "1.2.17-alpha.14",
|
|
4
4
|
"description": "MCP server for accessing Mastra.ai documentation, changelogs, and news.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"jsdom": "^26.1.0",
|
|
29
29
|
"local-pkg": "^1.1.2",
|
|
30
30
|
"zod": "^4.4.3",
|
|
31
|
-
"@mastra/core": "1.60.0-alpha.
|
|
32
|
-
"@mastra/mcp": "^1.17.0-alpha.
|
|
31
|
+
"@mastra/core": "1.60.0-alpha.8",
|
|
32
|
+
"@mastra/mcp": "^1.17.0-alpha.1"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@hono/node-server": "^2.0.0",
|
|
@@ -45,9 +45,9 @@
|
|
|
45
45
|
"tsx": "^4.23.1",
|
|
46
46
|
"typescript": "^6.0.3",
|
|
47
47
|
"vitest": "4.1.10",
|
|
48
|
-
"@internal/lint": "0.0.123",
|
|
49
48
|
"@internal/types-builder": "0.0.98",
|
|
50
|
-
"@mastra/core": "1.60.0-alpha.
|
|
49
|
+
"@mastra/core": "1.60.0-alpha.8",
|
|
50
|
+
"@internal/lint": "0.0.123"
|
|
51
51
|
},
|
|
52
52
|
"homepage": "https://mastra.ai",
|
|
53
53
|
"repository": {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|