@mastra/mcp-docs-server 1.2.13-alpha.8 → 1.2.13
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/overview.md +1 -1
- package/.docs/docs/agents/supervisor-agents.md +2 -2
- package/.docs/docs/agents/using-tools.md +29 -0
- package/.docs/docs/capabilities/channels/imessage.md +181 -0
- package/.docs/docs/capabilities/channels/overview.md +1 -0
- package/.docs/docs/{evals/datasets → datasets}/overview.md +3 -3
- package/.docs/docs/{evals/datasets → datasets}/running-experiments.md +59 -2
- package/.docs/docs/editor/overview.md +201 -206
- package/.docs/docs/evals/evals-with-memory.md +1 -1
- package/.docs/docs/getting-started/develop.md +196 -0
- package/.docs/docs/index.md +78 -1
- package/.docs/docs/mastra-platform/workspaces.md +13 -13
- package/.docs/docs/memory/observational-memory.md +23 -0
- package/.docs/docs/studio/observability.md +4 -0
- package/.docs/docs/studio/overview.md +2 -2
- package/.docs/docs/workspace/search.md +1 -1
- package/.docs/guides/getting-started/quickstart.md +3 -3
- package/.docs/{docs → guides}/rag/chunking-and-embedding.md +1 -1
- package/.docs/{docs → guides}/rag/graph-rag.md +1 -1
- package/.docs/{docs → guides}/rag/overview.md +2 -2
- package/.docs/{docs → guides}/rag/retrieval.md +1 -1
- package/.docs/{docs → guides}/voice/overview.md +4 -4
- package/.docs/{docs → guides}/voice/realtime-voice.md +2 -2
- package/.docs/{docs → guides}/voice/speech-to-speech.md +1 -1
- package/.docs/{docs → guides}/voice/speech-to-text.md +1 -1
- package/.docs/{docs → guides}/voice/text-to-speech.md +2 -2
- package/.docs/models/embeddings.md +63 -65
- package/.docs/models/environment-variables.md +5 -1
- package/.docs/models/gateways/netlify.md +1 -2
- package/.docs/models/gateways/openrouter.md +5 -3
- package/.docs/models/gateways/vercel.md +8 -1
- package/.docs/models/index.md +1 -1
- package/.docs/models/providers/alibaba-cn.md +3 -1
- package/.docs/models/providers/alibaba-token-plan-cn.md +27 -25
- package/.docs/models/providers/alibaba-token-plan.md +27 -25
- package/.docs/models/providers/alibaba.md +2 -1
- package/.docs/models/providers/ambient.md +13 -12
- package/.docs/models/providers/baseten.md +3 -1
- package/.docs/models/providers/chutes.md +6 -8
- package/.docs/models/providers/crof.md +2 -1
- package/.docs/models/providers/crossmodel.md +7 -3
- package/.docs/models/providers/deepinfra.md +9 -2
- package/.docs/models/providers/digitalocean.md +34 -27
- package/.docs/models/providers/empiriolabs.md +4 -1
- package/.docs/models/providers/fireworks-ai.md +20 -19
- package/.docs/models/providers/greenpt.md +17 -8
- package/.docs/models/providers/groq.md +20 -20
- package/.docs/models/providers/huggingface.md +3 -1
- package/.docs/models/providers/hyper.md +9 -7
- package/.docs/models/providers/impossibl.md +148 -0
- package/.docs/models/providers/infomaniak.md +83 -0
- package/.docs/models/providers/kilo.md +349 -350
- package/.docs/models/providers/llmgateway.md +6 -3
- package/.docs/models/providers/mistral.md +5 -2
- package/.docs/models/providers/modal.md +5 -4
- package/.docs/models/providers/modelis.md +81 -0
- package/.docs/models/providers/nano-gpt.md +146 -148
- package/.docs/models/providers/neuralwatt.md +2 -1
- package/.docs/models/providers/ofox.md +2 -2
- package/.docs/models/providers/ollama-cloud.md +23 -22
- package/.docs/models/providers/opencode-go.md +3 -2
- package/.docs/models/providers/requesty.md +54 -45
- package/.docs/models/providers/scx.md +74 -0
- package/.docs/models/providers/tensorx.md +97 -0
- package/.docs/models/providers/togetherai.md +2 -1
- package/.docs/models/providers/umans-ai-coding-plan.md +11 -9
- package/.docs/models/providers/umans-ai.md +11 -9
- package/.docs/models/providers/wandb.md +2 -2
- package/.docs/models/providers/zai-coding-plan.md +11 -13
- package/.docs/models/providers/zhipuai-coding-plan.md +12 -12
- package/.docs/models/providers.md +5 -1
- package/.docs/reference/agents/agent.md +1 -1
- package/.docs/reference/agents/generate.md +1 -1
- package/.docs/reference/agents/getVoice.md +1 -1
- package/.docs/{docs/getting-started → reference}/build-with-ai.md +5 -110
- package/.docs/reference/cli/create-mastra.md +2 -0
- package/.docs/reference/cli/mastra.md +66 -1
- package/.docs/reference/client-js/agents.md +1 -1
- package/.docs/reference/configuration.md +2 -2
- package/.docs/reference/core/getEditor.md +1 -1
- package/.docs/reference/core/getVector.md +2 -2
- package/.docs/reference/core/listVectors.md +2 -2
- package/.docs/reference/core/mastra-class.md +1 -1
- package/.docs/reference/datasets/startExperiment.md +6 -0
- package/.docs/reference/datasets/startExperimentAsync.md +4 -0
- package/.docs/reference/editor/browser-provider.md +2 -2
- package/.docs/reference/editor/filesystem-provider.md +1 -1
- package/.docs/reference/editor/mastra-editor.md +31 -18
- package/.docs/reference/editor/prompt-blocks.md +137 -0
- package/.docs/reference/editor/sandbox-provider.md +1 -1
- package/.docs/reference/editor/storage-browser-ref.md +3 -3
- package/.docs/reference/editor/storage-workspace-ref.md +3 -3
- package/.docs/reference/editor/tool-provider.md +44 -10
- package/.docs/reference/editor/tools.md +100 -0
- package/.docs/reference/editor/versioning.md +130 -0
- package/.docs/reference/evals/mastra-scorer.md +68 -8
- package/.docs/reference/file-based-agents/config.md +39 -1
- package/.docs/reference/index.md +3 -4
- package/.docs/reference/memory/observational-memory.md +3 -1
- package/.docs/reference/memory/serialized-memory-config.md +3 -3
- package/.docs/reference/observability/tracing/interfaces.md +3 -1
- package/.docs/reference/processors/token-limiter-processor.md +15 -1
- package/.docs/reference/project-structure.md +1 -1
- package/.docs/reference/rag/database-config.md +1 -1
- package/.docs/reference/storage/composite.md +2 -0
- package/.docs/reference/streaming/agents/stream.md +1 -1
- package/.docs/reference/voice/livekit.md +3 -3
- package/.docs/reference/workspace/platform-filesystem.md +3 -3
- package/.docs/reference/workspace/platform-sandbox.md +5 -5
- package/CHANGELOG.md +30 -0
- package/README.md +1 -1
- package/package.json +6 -6
- package/.docs/docs/agent-builder/access-control.md +0 -99
- package/.docs/docs/agent-builder/browser.md +0 -63
- package/.docs/docs/agent-builder/channels.md +0 -78
- package/.docs/docs/agent-builder/configuration.md +0 -132
- package/.docs/docs/agent-builder/deploying.md +0 -124
- package/.docs/docs/agent-builder/integrations.md +0 -115
- package/.docs/docs/agent-builder/memory.md +0 -69
- package/.docs/docs/agent-builder/model-policy.md +0 -50
- package/.docs/docs/agent-builder/overview.md +0 -114
- package/.docs/docs/agent-builder/skill-registries.md +0 -31
- package/.docs/docs/agent-builder/workspace.md +0 -62
- package/.docs/docs/editor/prompts.md +0 -140
- package/.docs/docs/editor/tools.md +0 -148
- package/.docs/docs/getting-started/file-based-agents.md +0 -121
- package/.docs/docs/what-is-mastra.md +0 -161
- package/.docs/reference/client-js/agent-builder.md +0 -163
- package/.docs/reference/editor/agent-builder/agent-builder-options.md +0 -76
- package/.docs/reference/editor/agent-builder/builder-agent-defaults.md +0 -79
- package/.docs/reference/editor/agent-builder/builder-models.md +0 -66
- /package/.docs/{docs → guides}/getting-started/manual-install.md +0 -0
- /package/.docs/{docs → guides}/rag/vector-databases.md +0 -0
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
-
|
|
3
|
-
# Configuration
|
|
4
|
-
|
|
5
|
-
> **Note:** The Agent Builder is part of the Mastra Enterprise Edition. Production deployments require a valid EE license. [Contact sales](https://mastra.ai/contact) for more information.
|
|
6
|
-
|
|
7
|
-
The Agent Builder is configured through `MastraEditor.builder`. Top-level keys control its behavior: `features` toggles UI visibility and `configuration` pins admin-controlled defaults onto every new agent.
|
|
8
|
-
|
|
9
|
-
## Quickstart
|
|
10
|
-
|
|
11
|
-
```typescript
|
|
12
|
-
import { MastraEditor } from '@mastra/editor'
|
|
13
|
-
|
|
14
|
-
new MastraEditor({
|
|
15
|
-
builder: {
|
|
16
|
-
enabled: true,
|
|
17
|
-
features: {
|
|
18
|
-
agent: { browser: false },
|
|
19
|
-
},
|
|
20
|
-
configuration: {
|
|
21
|
-
agent: {
|
|
22
|
-
memory: { observationalMemory: true },
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
|
-
},
|
|
26
|
-
})
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
This hides the browser tab in the Builder UI and pins observational memory as the default for every Builder-created agent.
|
|
30
|
-
|
|
31
|
-
## Feature toggles
|
|
32
|
-
|
|
33
|
-
`builder.features.agent` controls which sections appear in the Agent Builder UI. Set a key to `false` to hide the corresponding surface.
|
|
34
|
-
|
|
35
|
-
```typescript
|
|
36
|
-
new MastraEditor({
|
|
37
|
-
builder: {
|
|
38
|
-
enabled: true,
|
|
39
|
-
features: {
|
|
40
|
-
agent: {
|
|
41
|
-
tools: true,
|
|
42
|
-
agents: true,
|
|
43
|
-
workflows: true,
|
|
44
|
-
scorers: true,
|
|
45
|
-
skills: true,
|
|
46
|
-
memory: true,
|
|
47
|
-
variables: true,
|
|
48
|
-
favorites: true,
|
|
49
|
-
avatarUpload: true,
|
|
50
|
-
model: true,
|
|
51
|
-
browser: true,
|
|
52
|
-
},
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
})
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
The UI consumes these `AgentFeatures` keys: `tools`, `agents`, `workflows`, `scorers`, `skills`, `memory`, `variables`, `favorites`, `avatarUpload`, `model`, and `browser`. See the [AgentBuilderOptions reference](https://mastra.ai/reference/editor/agent-builder/agent-builder-options) for the full schema.
|
|
59
|
-
|
|
60
|
-
## Admin defaults
|
|
61
|
-
|
|
62
|
-
`builder.configuration.agent` pins admin-controlled defaults onto every agent the Builder produces.
|
|
63
|
-
|
|
64
|
-
`configuration.agent` accepts `models`, `memory`, `workspace`, `browser`, `tools`, `agents`, and `workflows`. See the [BuilderAgentDefaults reference](https://mastra.ai/reference/editor/agent-builder/builder-agent-defaults) for the full shape.
|
|
65
|
-
|
|
66
|
-
## Making tools, agents, and workflows available
|
|
67
|
-
|
|
68
|
-
The Builder picks from whatever you register on the `Mastra` instance. Tools registered through `Mastra({ tools })`, agents registered through `Mastra({ agents })`, and workflows registered through `Mastra({ workflows })` are all candidates for Builder-created agents.
|
|
69
|
-
|
|
70
|
-
```typescript
|
|
71
|
-
import { Mastra } from '@mastra/core/mastra'
|
|
72
|
-
import { MastraEditor } from '@mastra/editor'
|
|
73
|
-
import { createBuilderAgent } from '@mastra/editor/ee'
|
|
74
|
-
import { weatherInfo } from './tools/weather-info'
|
|
75
|
-
import { webSearch } from './tools/web-search'
|
|
76
|
-
|
|
77
|
-
export const mastra = new Mastra({
|
|
78
|
-
tools: {
|
|
79
|
-
weatherInfo,
|
|
80
|
-
webSearch,
|
|
81
|
-
// add MCP tools or additional tools here
|
|
82
|
-
},
|
|
83
|
-
agents: {
|
|
84
|
-
builderAgent: createBuilderAgent(),
|
|
85
|
-
// add additional agents here
|
|
86
|
-
},
|
|
87
|
-
workflows: {
|
|
88
|
-
// add workflows here
|
|
89
|
-
},
|
|
90
|
-
editor: new MastraEditor({
|
|
91
|
-
builder: { enabled: true },
|
|
92
|
-
}),
|
|
93
|
-
})
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
With no `configuration.agent.tools.allowed` set, both `weather-info` and `web-search` appear in the Builder's tool picker. End users can attach either tool to any agent they create.
|
|
97
|
-
|
|
98
|
-
Entries match on `tool.id`, `Agent.id`, or `workflow.id`, the string the entity reports at runtime, not the export name.
|
|
99
|
-
|
|
100
|
-
MCP tools work the same way: load them via `MCPClient.getTools()` and spread the result into the `tools` map.
|
|
101
|
-
|
|
102
|
-
## Tool, agent, and workflow allowlists
|
|
103
|
-
|
|
104
|
-
`configuration.agent.tools`, `configuration.agent.agents`, and `configuration.agent.workflows` constrain which registered entries appear in the Builder's pickers. Allowlist semantics are the same for all three:
|
|
105
|
-
|
|
106
|
-
- **Omitted**: Unrestricted. The picker shows every registered entry.
|
|
107
|
-
- **`allowed: []`**: Explicit lockdown. The picker is empty.
|
|
108
|
-
- **`allowed: [...ids]`**: The picker shows only the listed IDs.
|
|
109
|
-
|
|
110
|
-
Unknown IDs are dropped and surfaced as warnings through `getModelPolicyWarnings()` and the server logs.
|
|
111
|
-
|
|
112
|
-
```typescript
|
|
113
|
-
new MastraEditor({
|
|
114
|
-
builder: {
|
|
115
|
-
enabled: true,
|
|
116
|
-
configuration: {
|
|
117
|
-
agent: {
|
|
118
|
-
tools: { allowed: ['weather-info', 'web-search'] },
|
|
119
|
-
agents: { allowed: ['weather-agent'] },
|
|
120
|
-
workflows: { allowed: ['greet-workflow'] },
|
|
121
|
-
},
|
|
122
|
-
},
|
|
123
|
-
},
|
|
124
|
-
})
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
## Related
|
|
128
|
-
|
|
129
|
-
- [Model policy](https://mastra.ai/docs/agent-builder/model-policy): Pin the allowed models and default model.
|
|
130
|
-
- [Memory](https://mastra.ai/docs/agent-builder/memory): Set the default memory shape for new agents.
|
|
131
|
-
- [AgentBuilderOptions reference](https://mastra.ai/reference/editor/agent-builder/agent-builder-options): Full property list.
|
|
132
|
-
- [BuilderAgentDefaults reference](https://mastra.ai/reference/editor/agent-builder/builder-agent-defaults): Every field on `configuration.agent`.
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
-
|
|
3
|
-
# Deploying
|
|
4
|
-
|
|
5
|
-
> **Note:** The Agent Builder is part of the Mastra Enterprise Edition. Production deployments require a valid EE license. [Contact sales](https://mastra.ai/contact) for more information.
|
|
6
|
-
|
|
7
|
-
Production deployments swap the local primitives in the Quickstart for cloud-backed equivalents. The shape of the `Mastra` and `MastraEditor` config doesn't change, only the providers behind it.
|
|
8
|
-
|
|
9
|
-
## What a production deployment needs
|
|
10
|
-
|
|
11
|
-
1. **EE license**: A valid `MASTRA_EE_LICENSE` so the server will start with the Builder enabled.
|
|
12
|
-
2. **Hosted storage**: A shared store for agents, skills, runs, and memory.
|
|
13
|
-
3. **Shared workspace filesystem**: Survives across instances. `local` is single-node only.
|
|
14
|
-
4. **Cloud sandbox**: Runs agent commands safely. `local` is unsafe in shared environments.
|
|
15
|
-
5. **Auth and RBAC**: Gates the Builder UI and `/agent-builder/*` routes.
|
|
16
|
-
6. **Public base URL for channels**: Slack and other channel providers need a reachable URL.
|
|
17
|
-
|
|
18
|
-
## EE license
|
|
19
|
-
|
|
20
|
-
Set `MASTRA_EE_LICENSE` in the deployment environment. The server refuses to start when `builder.enabled` is truthy without a valid license. Treat the license key as a secret.
|
|
21
|
-
|
|
22
|
-
## Storage
|
|
23
|
-
|
|
24
|
-
Replace the file-backed LibSQL store with a hosted backend. LibSQL Cloud, PostgreSQL, and any other Mastra storage adapter all work.
|
|
25
|
-
|
|
26
|
-
```typescript
|
|
27
|
-
import { Mastra } from '@mastra/core/mastra'
|
|
28
|
-
import { LibSQLStore } from '@mastra/libsql'
|
|
29
|
-
|
|
30
|
-
new Mastra({
|
|
31
|
-
storage: new LibSQLStore({
|
|
32
|
-
id: 'mastra-storage',
|
|
33
|
-
url: process.env.DATABASE_URL!,
|
|
34
|
-
authToken: process.env.DATABASE_AUTH_TOKEN,
|
|
35
|
-
}),
|
|
36
|
-
})
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Workspace filesystem and sandbox
|
|
40
|
-
|
|
41
|
-
`local` filesystem works only on the node that owns the directory. For multi-instance deployments, register cloud filesystem and sandbox providers on `MastraEditor` and reference them by id in the inline workspace config.
|
|
42
|
-
|
|
43
|
-
**npm**:
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
npm install @mastra/s3 @mastra/e2b
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
**pnpm**:
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
pnpm add @mastra/s3 @mastra/e2b
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
**Yarn**:
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
yarn add @mastra/s3 @mastra/e2b
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
**Bun**:
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
bun add @mastra/s3 @mastra/e2b
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
```typescript
|
|
68
|
-
import { Mastra } from '@mastra/core/mastra'
|
|
69
|
-
import { MastraEditor } from '@mastra/editor'
|
|
70
|
-
import { s3FilesystemProvider } from '@mastra/s3'
|
|
71
|
-
import { e2bSandboxProvider } from '@mastra/e2b'
|
|
72
|
-
|
|
73
|
-
new Mastra({
|
|
74
|
-
editor: new MastraEditor({
|
|
75
|
-
filesystems: { [s3FilesystemProvider.id]: s3FilesystemProvider },
|
|
76
|
-
sandboxes: { [e2bSandboxProvider.id]: e2bSandboxProvider },
|
|
77
|
-
builder: {
|
|
78
|
-
enabled: true,
|
|
79
|
-
configuration: {
|
|
80
|
-
agent: {
|
|
81
|
-
workspace: {
|
|
82
|
-
type: 'inline',
|
|
83
|
-
config: {
|
|
84
|
-
name: 'builder-workspace',
|
|
85
|
-
filesystem: {
|
|
86
|
-
provider: s3FilesystemProvider.id,
|
|
87
|
-
config: {
|
|
88
|
-
bucket: process.env.S3_BUCKET!,
|
|
89
|
-
region: process.env.S3_REGION!,
|
|
90
|
-
},
|
|
91
|
-
},
|
|
92
|
-
sandbox: {
|
|
93
|
-
provider: e2bSandboxProvider.id,
|
|
94
|
-
config: { apiKey: process.env.E2B_API_KEY! },
|
|
95
|
-
},
|
|
96
|
-
},
|
|
97
|
-
},
|
|
98
|
-
},
|
|
99
|
-
},
|
|
100
|
-
},
|
|
101
|
-
}),
|
|
102
|
-
})
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
`S3Filesystem` uses the default AWS credential chain (environment variables, `~/.aws` config, IAM roles, EC2 instance profile). For long-running deployments, use a credential provider function so credentials refresh automatically.
|
|
106
|
-
|
|
107
|
-
`DockerSandbox`, `VercelSandbox`, and `VercelServerlessSandbox` are alternative cloud sandbox providers. Pick whichever matches your runtime.
|
|
108
|
-
|
|
109
|
-
> **Warning:** A local sandbox can't run commands safely in a shared environment. Always register a cloud sandbox provider and reference it in the workspace config before deploying.
|
|
110
|
-
|
|
111
|
-
## Auth and RBAC
|
|
112
|
-
|
|
113
|
-
A production deployment without authentication exposes the Builder to the public internet. Register a `Mastra.server.auth` provider (for example, WorkOS or your own provider) and a `Mastra.server.rbac` provider to gate access.
|
|
114
|
-
|
|
115
|
-
See [Access control](https://mastra.ai/docs/agent-builder/access-control) for the required role permissions and a WorkOS quickstart.
|
|
116
|
-
|
|
117
|
-
## Public URL for channels
|
|
118
|
-
|
|
119
|
-
Slack needs to reach your server through a public URL. Pass `baseUrl` to `SlackProvider` with the deployed URL (no trailing slash). See [Channels](https://mastra.ai/docs/agent-builder/channels) for the full setup.
|
|
120
|
-
|
|
121
|
-
## Related
|
|
122
|
-
|
|
123
|
-
- [Access control](https://mastra.ai/docs/agent-builder/access-control): Auth and RBAC setup.
|
|
124
|
-
- [Channels](https://mastra.ai/docs/agent-builder/channels): Slack `baseUrl` and channel-specific setup.
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
-
|
|
3
|
-
# Tool providers
|
|
4
|
-
|
|
5
|
-
> **Note:** The Agent Builder is part of the Mastra Enterprise Edition. Production deployments require a valid EE license. [Contact sales](https://mastra.ai/contact) for more information.
|
|
6
|
-
|
|
7
|
-
Tool providers let Builder-created agents call tools from third-party apps such as Gmail, Slack, or GitHub. The Builder reuses the same tool providers as the editor, so any provider registered on `MastraEditor` is available in the Builder.
|
|
8
|
-
|
|
9
|
-
This page covers Builder-specific connection setup, scope selection, and management. To register a provider and enable its toolkits, see [Tools](https://mastra.ai/docs/editor/tools).
|
|
10
|
-
|
|
11
|
-
## Setup at a glance
|
|
12
|
-
|
|
13
|
-
To connect a toolkit like Gmail and use it from a Builder agent:
|
|
14
|
-
|
|
15
|
-
1. [Register a tool provider](#register-a-tool-provider) on `MastraEditor` with your Composio API key.
|
|
16
|
-
2. [Set up a Composio auth config](#set-up-a-composio-auth-config) for the toolkit and enable it.
|
|
17
|
-
3. In the Builder, [connect the toolkit](#connect-a-toolkit) and authorize the connection.
|
|
18
|
-
4. [Choose a connection scope](#connection-scope) if the default author-owned account isn't what you want.
|
|
19
|
-
|
|
20
|
-
The rest of this page covers each step in detail.
|
|
21
|
-
|
|
22
|
-
## Prerequisites
|
|
23
|
-
|
|
24
|
-
Before agents can use integration tools in the Builder:
|
|
25
|
-
|
|
26
|
-
- Register a tool provider on the `toolProviders` map of `MastraEditor` (see below).
|
|
27
|
-
- Set up a Composio auth config for each toolkit you want to use (see below).
|
|
28
|
-
- Configure a storage adapter on the `Mastra` instance. Connection state persists through `Mastra.storage`.
|
|
29
|
-
|
|
30
|
-
## Register a tool provider
|
|
31
|
-
|
|
32
|
-
The Builder reuses the editor's tool providers. Register each provider you want to expose on the `toolProviders` map of `MastraEditor`. Mastra includes providers for [Composio](https://composio.dev) and [Arcade](https://arcade.dev). Add a provider by giving it a key and an instance.
|
|
33
|
-
|
|
34
|
-
```typescript
|
|
35
|
-
import { Mastra } from '@mastra/core'
|
|
36
|
-
import { MastraEditor } from '@mastra/editor'
|
|
37
|
-
import { ComposioToolProvider } from '@mastra/editor/composio'
|
|
38
|
-
|
|
39
|
-
export const mastra = new Mastra({
|
|
40
|
-
agents: {/* your agents */},
|
|
41
|
-
editor: new MastraEditor({
|
|
42
|
-
toolProviders: {
|
|
43
|
-
composio: new ComposioToolProvider({
|
|
44
|
-
apiKey: process.env.COMPOSIO_API_KEY!,
|
|
45
|
-
allowedToolkits: ['gmail', 'googlecalendar'],
|
|
46
|
-
}),
|
|
47
|
-
},
|
|
48
|
-
}),
|
|
49
|
-
})
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
Each provider's toolkits become available in the Builder once it's registered. Use `allowedToolkits` to restrict which toolkits the provider exposes, by slug, such as `gmail` or `googlecalendar`. Omit it to expose every toolkit the provider offers. To add another provider, import it and add another entry to `toolProviders`. For the full list of providers and their options, see [Tools, Integration providers](https://mastra.ai/docs/editor/tools).
|
|
53
|
-
|
|
54
|
-
`ComposioToolProvider` needs a Composio **project** API key (the `x-api-key` type from a project's settings in the [Composio dashboard](https://dashboard.composio.dev)). Store it in an environment variable, as shown with `COMPOSIO_API_KEY` above.
|
|
55
|
-
|
|
56
|
-
## Set up a Composio auth config
|
|
57
|
-
|
|
58
|
-
Each toolkit a user can connect needs its own auth config in the [Composio dashboard](https://dashboard.composio.dev). An auth config defines how Composio authenticates with an app, its OAuth client, scopes, and credentials. Each toolkit needs its own because requirements vary by app: some share common OAuth methods, while others need extra setup. Without an enabled config, the connection flow fails.
|
|
59
|
-
|
|
60
|
-
1. Open the [Composio dashboard](https://dashboard.composio.dev) and select the toolkit you want to enable, for example **Gmail** or **GitHub**.
|
|
61
|
-
2. Create an auth config for the toolkit and complete the app-specific setup. Composio's [auth config docs](https://docs.composio.dev/docs/authenticating-tools) cover the fields each app requires.
|
|
62
|
-
3. Enable the auth config.
|
|
63
|
-
|
|
64
|
-
Keep exactly one auth config enabled per toolkit. When a user connects the toolkit, the provider resolves the single enabled config for that toolkit and starts the OAuth flow against it.
|
|
65
|
-
|
|
66
|
-
> **Warning:** The provider throws if a toolkit has zero enabled auth configs or more than one. With no enabled config, the connection flow fails with an error like `No ENABLED auth config for toolkit "github"`. Enable one in the Composio dashboard to fix it. Enable exactly one auth config per toolkit you expose in the Builder.
|
|
67
|
-
|
|
68
|
-
## Connect a toolkit
|
|
69
|
-
|
|
70
|
-
Once a provider is registered and its auth config is enabled, the toolkit can be connected from the Builder:
|
|
71
|
-
|
|
72
|
-
1. Open the agent and add the toolkit's tools.
|
|
73
|
-
2. Click **Connect** on the toolkit and complete the OAuth flow for the account you want to use.
|
|
74
|
-
|
|
75
|
-
The connected account is bound to the agent, and its tools are ready to use on the next run.
|
|
76
|
-
|
|
77
|
-
## Connection scope
|
|
78
|
-
|
|
79
|
-
Each connection determines which account a tool call uses at runtime, and its _scope_ controls who shares that credential. A scope maps each call to a _bucket_, the identity partition that a connected account is stored under. Scope is a tenancy decision made by you, the app author, not by the end user connecting an account, so you set it on the provider, not in the Builder UI.
|
|
80
|
-
|
|
81
|
-
- `per-author` (default): the connection belongs to the agent's author. Any invoker runs the agent with the author's account. Use this for personal agents or a single shared team account.
|
|
82
|
-
- `shared`: every caller uses one shared bucket, regardless of who invokes the agent. Use this for a platform-owned account that all users should share.
|
|
83
|
-
- `caller-supplied`: each call is bucketed by the caller's `resourceId`, read from the request context. Use this for multi-tenant SaaS, where the host app authenticates the end user upstream and each tenant should use their own connected account.
|
|
84
|
-
|
|
85
|
-
Set `defaultScope` on the provider to apply a scope to every connection authorized against it:
|
|
86
|
-
|
|
87
|
-
```typescript
|
|
88
|
-
const composio = new ComposioToolProvider({
|
|
89
|
-
apiKey: process.env.COMPOSIO_API_KEY!,
|
|
90
|
-
allowedToolkits: ['github'],
|
|
91
|
-
defaultScope: 'caller-supplied',
|
|
92
|
-
})
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
With `caller-supplied`, the host app must forward a `resourceId` on every request so each tenant is routed to its own bucket. Set `mapUserToResourceId` on the server's auth config to derive the `resourceId` from the authenticated user, so every request carries it automatically:
|
|
96
|
-
|
|
97
|
-
```typescript
|
|
98
|
-
export const mastra = new Mastra({
|
|
99
|
-
server: {
|
|
100
|
-
auth: {
|
|
101
|
-
authenticateToken: async token => verifyToken(token),
|
|
102
|
-
mapUserToResourceId: user => user.id,
|
|
103
|
-
},
|
|
104
|
-
},
|
|
105
|
-
})
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
> **Warning:** When a `caller-supplied` connection runs without a `resourceId`, every tenant falls back to a single shared `default` bucket. All callers then share one set of credentials, which can expose one tenant's connected account to another. Always wire `mapUserToResourceId` (or otherwise set `resourceId` on the request context) for multi-tenant deployments.
|
|
109
|
-
|
|
110
|
-
## Related
|
|
111
|
-
|
|
112
|
-
- [Tools](https://mastra.ai/docs/editor/tools): Register providers and browse toolkits in the editor.
|
|
113
|
-
- [ToolProvider reference](https://mastra.ai/reference/editor/tool-provider): Provider API details.
|
|
114
|
-
- [Agent Builder API reference](https://mastra.ai/reference/client-js/agent-builder): Manage connections programmatically with the `@mastra/client-js` SDK.
|
|
115
|
-
- [Agent Builder overview](https://mastra.ai/docs/agent-builder/overview)
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
-
|
|
3
|
-
# Memory
|
|
4
|
-
|
|
5
|
-
> **Note:** The Agent Builder is part of the Mastra Enterprise Edition. Production deployments require a valid EE license. [Contact sales](https://mastra.ai/contact) for more information.
|
|
6
|
-
|
|
7
|
-
The Agent Builder pins a default memory shape onto every new agent through `builder.configuration.agent.memory`. The default applies when an end user creates a new agent and doesn't override it.
|
|
8
|
-
|
|
9
|
-
## Quickstart
|
|
10
|
-
|
|
11
|
-
```typescript
|
|
12
|
-
import { MastraEditor } from '@mastra/editor'
|
|
13
|
-
|
|
14
|
-
new MastraEditor({
|
|
15
|
-
builder: {
|
|
16
|
-
enabled: true,
|
|
17
|
-
configuration: {
|
|
18
|
-
agent: {
|
|
19
|
-
memory: { observationalMemory: true },
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
},
|
|
23
|
-
})
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Observational memory lets the agent learn long-lived facts from past conversations. Storage on the `Mastra` instance is required, see the [Memory overview](https://mastra.ai/docs/memory/overview) for the prerequisites.
|
|
27
|
-
|
|
28
|
-
## Observational memory model
|
|
29
|
-
|
|
30
|
-
Observational memory runs an Observer and Reflector model on top of every conversation. For Agent Builder agents, the default model is `openai/gpt-5-mini`, which requires an `OPENAI_API_KEY` environment variable in any environment where the Builder agent will run.
|
|
31
|
-
|
|
32
|
-
> **Note:** This default applies only to agents created through the Agent Builder. Core (non-builder) agents configured with `observationalMemory: true` keep the framework default `google/gemini-2.5-flash` (which uses `GOOGLE_API_KEY`, falling back to `GOOGLE_GENERATIVE_AI_API_KEY`).
|
|
33
|
-
|
|
34
|
-
To use a different model, set `observationalMemory.model` to any model ID supported by the Mastra model router (and provide the matching provider credentials). An explicit model always wins over the Builder default:
|
|
35
|
-
|
|
36
|
-
```typescript
|
|
37
|
-
new MastraEditor({
|
|
38
|
-
builder: {
|
|
39
|
-
enabled: true,
|
|
40
|
-
configuration: {
|
|
41
|
-
agent: {
|
|
42
|
-
memory: {
|
|
43
|
-
observationalMemory: {
|
|
44
|
-
model: 'openai/gpt-5.6-sol',
|
|
45
|
-
},
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
},
|
|
50
|
-
})
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
The `model` field applies to both the Observer and Reflector. You can also override each one independently via `observation.model` and `reflection.model`. See the [SerializedMemoryConfig reference](https://mastra.ai/reference/memory/serialized-memory-config) for the full shape.
|
|
54
|
-
|
|
55
|
-
## Storage and vector requirements
|
|
56
|
-
|
|
57
|
-
Memory features layer on top of `Mastra.storage`:
|
|
58
|
-
|
|
59
|
-
- **Message history** (`options.lastMessages`) requires storage.
|
|
60
|
-
- **Observational memory** (`observationalMemory: true`) requires storage.
|
|
61
|
-
- **Semantic recall** (`options.semanticRecall`) requires storage plus a registered vector adapter (`vector`) and an embedder (`embedder`).
|
|
62
|
-
|
|
63
|
-
If a required adapter is missing, Mastra throws a descriptive error at agent run time. See [Semantic recall](https://mastra.ai/docs/memory/semantic-recall) for the full list of supported vector stores and embedders.
|
|
64
|
-
|
|
65
|
-
## Related
|
|
66
|
-
|
|
67
|
-
- [Memory overview](https://mastra.ai/docs/memory/overview): Concepts and core configuration.
|
|
68
|
-
- [BuilderAgentDefaults reference](https://mastra.ai/reference/editor/agent-builder/builder-agent-defaults): The full `memory` field schema.
|
|
69
|
-
- [Configuration](https://mastra.ai/docs/agent-builder/configuration): Wire `memory` alongside the rest of the Builder config.
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
-
|
|
3
|
-
# Model policy
|
|
4
|
-
|
|
5
|
-
> **Note:** The Agent Builder is part of the Mastra Enterprise Edition. Production deployments require a valid EE license. [Contact sales](https://mastra.ai/contact) for more information.
|
|
6
|
-
|
|
7
|
-
The model policy controls which providers and models Builder-created agents can use, which model is selected by default, and whether end users can change it. The policy lives at `builder.configuration.agent.models`.
|
|
8
|
-
|
|
9
|
-
## Quickstart
|
|
10
|
-
|
|
11
|
-
```typescript
|
|
12
|
-
import { MastraEditor } from '@mastra/editor'
|
|
13
|
-
|
|
14
|
-
new MastraEditor({
|
|
15
|
-
builder: {
|
|
16
|
-
enabled: true,
|
|
17
|
-
configuration: {
|
|
18
|
-
agent: {
|
|
19
|
-
models: {
|
|
20
|
-
allowed: [
|
|
21
|
-
{ provider: 'openai', modelId: 'gpt-5.4-mini' },
|
|
22
|
-
{ provider: 'openai', modelId: 'gpt-5.4' },
|
|
23
|
-
{ provider: 'anthropic', modelId: 'claude-opus-4-7' },
|
|
24
|
-
],
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
|
-
})
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
This restricts the Builder's model picker to two OpenAI models and one Anthropic model. End users choose one when creating an agent.
|
|
33
|
-
|
|
34
|
-
## Validation rules
|
|
35
|
-
|
|
36
|
-
Mastra validates the model policy at server boot. Violations are surfaced as warnings through `getModelPolicyWarnings()`.
|
|
37
|
-
|
|
38
|
-
- When `allowed` is empty or omitted, every registered model is available.
|
|
39
|
-
- When `allowed` is non-empty, `default` (if set) must satisfy the allowlist. A `default` that fails this check is dropped and surfaced as a warning.
|
|
40
|
-
- To hide the end-user model picker, set `features.agent.model: false` in [AgentBuilderOptions](https://mastra.ai/reference/editor/agent-builder/agent-builder-options). When the picker is hidden, provide a `default` so new agents resolve a model.
|
|
41
|
-
|
|
42
|
-
Registered providers (`provider: 'openai'`, `provider: 'anthropic'`, and so on) can omit `modelId` to allow every model from that provider.
|
|
43
|
-
|
|
44
|
-
See the [`builder.configuration.agent.models`](https://mastra.ai/reference/editor/agent-builder/builder-models) reference for every admin-writable field and validation rules.
|
|
45
|
-
|
|
46
|
-
## Related
|
|
47
|
-
|
|
48
|
-
- [Configuration](https://mastra.ai/docs/agent-builder/configuration): Wire the model policy into the broader Builder config.
|
|
49
|
-
- [`builder.configuration.agent.models`](https://mastra.ai/reference/editor/agent-builder/builder-models): Full property list.
|
|
50
|
-
- [Provider registry](https://github.com/mastra-ai/mastra/blob/main/packages/core/src/llm/model/provider-registry.json): Every model ID Mastra recognizes out of the box.
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
-
|
|
3
|
-
# Agent Builder overview
|
|
4
|
-
|
|
5
|
-
> **Note:** The Agent Builder is part of the Mastra Enterprise Edition. Production deployments require a valid EE license. [Contact sales](https://mastra.ai/contact) for more information.
|
|
6
|
-
|
|
7
|
-
The Agent Builder lets you build, configure, and operate Mastra agents all within the UI. It runs inside your Mastra server, persists everything to `Mastra.storage`, and supports multi-tenant agent workflows with RBAC and channel integrations.
|
|
8
|
-
|
|
9
|
-
> **📹 Watch:** Watch [Mastra Agent Builder overview](https://www.youtube.com/watch?v=AbdgIu4Z07I) to see how teams create and configure agents from the UI.
|
|
10
|
-
|
|
11
|
-
- [**Configuration**](https://mastra.ai/docs/agent-builder/configuration): Toggle UI sections and pin admin-controlled defaults for every new agent.
|
|
12
|
-
- [**Model policy**](https://mastra.ai/docs/agent-builder/model-policy): Restrict which providers and models the Builder exposes, and pin a default.
|
|
13
|
-
- [**Memory**](https://mastra.ai/docs/agent-builder/memory): Configure the default memory shape for every Builder-created agent.
|
|
14
|
-
- [**Workspace**](https://mastra.ai/docs/agent-builder/workspace): Configure the default filesystem, sandbox, and skills workspace for Builder-created agents.
|
|
15
|
-
- [**Browser**](https://mastra.ai/docs/agent-builder/browser): Register browser providers and pin a default browser configuration.
|
|
16
|
-
- [**Access control**](https://mastra.ai/docs/agent-builder/access-control): Gate the Builder behind Mastra RBAC roles and permissions.
|
|
17
|
-
- [**Channels**](https://mastra.ai/docs/agent-builder/channels): Connect Builder-created agents to Slack and other channels.
|
|
18
|
-
- [**Tool providers**](https://mastra.ai/docs/agent-builder/integrations): Connect Builder-created agents to third-party apps through OAuth-backed tool providers.
|
|
19
|
-
- [**Skill registries**](https://mastra.ai/docs/agent-builder/skill-registries): Browse and install community skills from opt-in registries.
|
|
20
|
-
- [**Deploying**](https://mastra.ai/docs/agent-builder/deploying): Swap local primitives for cloud-backed storage, filesystems, and sandboxes.
|
|
21
|
-
|
|
22
|
-
For building agents entirely in code, see the [Agents overview](https://mastra.ai/docs/agents/overview). For editing code-defined agents through Studio, see the [Editor overview](https://mastra.ai/docs/editor/overview).
|
|
23
|
-
|
|
24
|
-
## Prerequisites
|
|
25
|
-
|
|
26
|
-
The Agent Builder requires:
|
|
27
|
-
|
|
28
|
-
- An existing Mastra project (Follow the [installation guide](https://mastra.ai/guides/getting-started/quickstart) to set up a new project)
|
|
29
|
-
- **Storage**: A `@mastra/core` storage adapter on the `Mastra` instance. Agents, memory, and workspace state all persist through `Mastra.storage`.
|
|
30
|
-
- **A builder agent**: Register a `builderAgent` created with the `createBuilderAgent()` factory from `@mastra/editor/ee` on `Mastra.agents`. The chat-based editor invokes it through the same `Mastra.getAgent(id)` lookup as any other agent. Without this registration, the chat-based editor returns 404.
|
|
31
|
-
- **Model credentials**: `createBuilderAgent()` uses an OpenAI model by default, which requires `OPENAI_API_KEY`. To use a different provider, pass a `model` override to `createBuilderAgent({ model })` and set that provider's credentials instead.
|
|
32
|
-
|
|
33
|
-
## Get started
|
|
34
|
-
|
|
35
|
-
Install `@mastra/editor` alongside a storage adapter. This example uses `@mastra/libsql`:
|
|
36
|
-
|
|
37
|
-
**npm**:
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
npm install @mastra/editor @mastra/libsql
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
**pnpm**:
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
pnpm add @mastra/editor @mastra/libsql
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
**Yarn**:
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
yarn add @mastra/editor @mastra/libsql
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
**Bun**:
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
bun add @mastra/editor @mastra/libsql
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
The example below defines a storage adapter and registers a builder agent, plus enables the editor as explained in the prerequisites:
|
|
62
|
-
|
|
63
|
-
```typescript
|
|
64
|
-
import { Mastra } from '@mastra/core/mastra'
|
|
65
|
-
import { MastraEditor } from '@mastra/editor'
|
|
66
|
-
import { createBuilderAgent } from '@mastra/editor/ee'
|
|
67
|
-
import { LibSQLStore } from '@mastra/libsql'
|
|
68
|
-
|
|
69
|
-
export const mastra = new Mastra({
|
|
70
|
-
storage: new LibSQLStore({ id: 'mastra-storage', url: 'file:./mastra.db' }),
|
|
71
|
-
agents: { builderAgent: createBuilderAgent() },
|
|
72
|
-
editor: new MastraEditor({
|
|
73
|
-
builder: {
|
|
74
|
-
enabled: true,
|
|
75
|
-
configuration: {
|
|
76
|
-
agent: {
|
|
77
|
-
memory: { observationalMemory: true },
|
|
78
|
-
},
|
|
79
|
-
},
|
|
80
|
-
},
|
|
81
|
-
}),
|
|
82
|
-
})
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
Start Mastra's development server:
|
|
86
|
-
|
|
87
|
-
```bash
|
|
88
|
-
npx mastra dev
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
For Agent Builder development, you can also use `mastra factory dev`, which uses the same dev runtime and flags as `mastra dev` and writes to the same `.mastra/output` directory. Both commands share a dev lock and can't run simultaneously in the same project. See the [CLI reference](https://mastra.ai/reference/cli/mastra) for details.
|
|
92
|
-
|
|
93
|
-
The Agent Builder is mounted at `http://localhost:4111/agent-builder`.
|
|
94
|
-
|
|
95
|
-
## Disabling the Builder
|
|
96
|
-
|
|
97
|
-
Set `enabled: false` to keep the config in place but turn the surface off:
|
|
98
|
-
|
|
99
|
-
```typescript
|
|
100
|
-
new MastraEditor({
|
|
101
|
-
builder: {
|
|
102
|
-
enabled: false,
|
|
103
|
-
},
|
|
104
|
-
})
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
Omitting the `builder` field has the same effect.
|
|
108
|
-
|
|
109
|
-
## Next steps
|
|
110
|
-
|
|
111
|
-
- [Configuration](https://mastra.ai/docs/agent-builder/configuration): Toggle Builder surfaces and pin defaults for new agents.
|
|
112
|
-
- [Access control](https://mastra.ai/docs/agent-builder/access-control): Gate the Builder with authentication and role-based access control.
|
|
113
|
-
- [Deploying](https://mastra.ai/docs/agent-builder/deploying): Replace local development primitives with production-ready storage, filesystems, and sandboxes.
|
|
114
|
-
- 📹 [Mastra Agent Builder workshop](https://www.youtube.com/watch?v=p2p_wb-rUPg\&t=666s)
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
-
|
|
3
|
-
# Skill registries
|
|
4
|
-
|
|
5
|
-
> **Note:** The Agent Builder is part of the Mastra Enterprise Edition. Production deployments require a valid EE license. [Contact sales](https://mastra.ai/contact) for more information.
|
|
6
|
-
|
|
7
|
-
Registries let the Agent Builder browse and install community skills directly from the UI. All registries are opt-in. When no registry is enabled, the Builder hides registry browse UI entirely.
|
|
8
|
-
|
|
9
|
-
## Quickstart
|
|
10
|
-
|
|
11
|
-
Enable the [skills.sh](https://skills.sh) registry:
|
|
12
|
-
|
|
13
|
-
```typescript
|
|
14
|
-
import { MastraEditor } from '@mastra/editor'
|
|
15
|
-
|
|
16
|
-
new MastraEditor({
|
|
17
|
-
builder: {
|
|
18
|
-
enabled: true,
|
|
19
|
-
registries: {
|
|
20
|
-
skillsSh: { enabled: true },
|
|
21
|
-
},
|
|
22
|
-
},
|
|
23
|
-
})
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
The Builder library tab now exposes a **Browse** view backed by skills.sh. End users can preview a skill, then install it into an agent. See the [AgentBuilderOptions reference](https://mastra.ai/reference/editor/agent-builder/agent-builder-options) for the full `registries` schema.
|
|
27
|
-
|
|
28
|
-
## Related
|
|
29
|
-
|
|
30
|
-
- [Configuration](https://mastra.ai/docs/agent-builder/configuration): Wire registries alongside the rest of the Builder config.
|
|
31
|
-
- [AgentBuilderOptions reference](https://mastra.ai/reference/editor/agent-builder/agent-builder-options): Every field on `builder`.
|