Agent Builder overview
The Agent Builder is part of the Mastra Enterprise Edition. Production deployments require a valid EE license. Contact sales for more information.
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.
- Configuration: Toggle UI sections and pin admin-controlled defaults for every new agent.
- Model policy: Restrict which providers and models the Builder exposes, and pin a default.
- Memory: Configure the default memory shape for every Builder-created agent.
- Workspace: Configure the default filesystem, sandbox, and skills workspace for Builder-created agents.
- Browser: Register browser providers and pin a default browser configuration.
- Access control: Gate the Builder behind Mastra RBAC roles and permissions.
- Channels: Connect Builder-created agents to Slack and other channels.
- Tool providers: Connect Builder-created agents to third-party apps through OAuth-backed tool providers.
- Skill registries: Browse and install community skills from opt-in registries.
- Deploying: Swap local primitives for cloud-backed storage, filesystems, and sandboxes.
For building agents entirely in code, see the Agents overview. For editing code-defined agents through Studio, see the Editor overview.
PrerequisitesDirect link to Prerequisites
The Agent Builder requires:
- An existing Mastra project (Follow the installation guide to set up a new project)
- Storage: A
@mastra/corestorage adapter on theMastrainstance. Agents, memory, and workspace state all persist throughMastra.storage. - A builder agent: Register a
builderAgentcreated with thecreateBuilderAgent()factory from@mastra/editor/eeonMastra.agents. The chat-based editor invokes it through the sameMastra.getAgent(id)lookup as any other agent. Without this registration, the chat-based editor returns 404. - Model credentials:
createBuilderAgent()uses an OpenAI model by default, which requiresOPENAI_API_KEY. To use a different provider, pass amodeloverride tocreateBuilderAgent({ model })and set that provider's credentials instead.
Get startedDirect link to Get started
Install @mastra/editor alongside a storage adapter. This example uses @mastra/libsql:
- npm
- pnpm
- Yarn
- Bun
npm install @mastra/editor @mastra/libsql
pnpm add @mastra/editor @mastra/libsql
yarn add @mastra/editor @mastra/libsql
bun add @mastra/editor @mastra/libsql
The example below defines a storage adapter, registers a builder agent, and enables the editor as explained in the prerequisites:
import { Mastra } from '@mastra/core/mastra'
import { MastraEditor } from '@mastra/editor'
import { createBuilderAgent } from '@mastra/editor/ee'
import { LibSQLStore } from '@mastra/libsql'
export const mastra = new Mastra({
storage: new LibSQLStore({ url: 'file:./mastra.db' }),
agents: { builderAgent: createBuilderAgent() },
editor: new MastraEditor({
builder: {
enabled: true,
configuration: {
agent: {
memory: { observationalMemory: true },
},
},
},
}),
})
Start Mastra's development server:
npx mastra dev
The Agent Builder is mounted at http://localhost:4111/agent-builder.
Disabling the BuilderDirect link to Disabling the Builder
Set enabled: false to keep the config in place but turn the surface off:
new MastraEditor({
builder: {
enabled: false,
},
})
Omitting the builder field has the same effect.
Next stepsDirect link to Next steps
- Configuration: Toggle Builder surfaces and pin defaults for new agents.
- Access control: Gate the Builder with authentication and role-based access control.
- Deploying: Replace local development primitives with production-ready storage, filesystems, and sandboxes.