toolsets array. Each entry is an object with at minimum a type field.
Built-in tools
Built-in tools are included with docker-agent and require no external dependencies.| Type | Description | Page |
|---|---|---|
filesystem | Read, write, list, search, and navigate files | Filesystem |
shell | Execute shell commands | Shell |
think | Reasoning scratchpad (no side effects) | Think |
todo | Task list management | Todo |
memory | Persistent key-value storage (SQLite) | Memory |
fetch | HTTP requests | Fetch |
script | Custom shell scripts exposed as tools | Script |
lsp | Language Server Protocol integration | LSP |
api | Custom HTTP API tools | API |
user_prompt | Interactive user input prompts | User Prompt |
transfer_task | Delegate to sub-agents (auto-enabled with sub_agents) | Transfer Task |
background_agents | Dispatch sub-agents in parallel | Background Agents |
handoff | A2A remote agent delegation | Handoff |
a2a | Connect to an A2A remote agent | A2A |
Common toolset fields
The following fields apply to all toolset types:The toolset type. See the table above for all valid values.
Whitelist of tool names to expose from this toolset. If omitted, all tools from the toolset are available. See Tool filtering.
Additional instructions injected into the agent’s system prompt when this toolset is loaded. Useful for guiding how and when to use the tools.
Override the model used for turns that process results from this toolset. Enables per-toolset model routing. Value can be a named model or inline
provider/model string.Defer tool loading until first use. Pass
true to defer all tools, or a list of tool names to defer specific tools. See Deferred tool loading.Filesystem-specific fields
List of commands to run after a file is edited. Each entry has
path (glob pattern to match file paths) and cmd (shell command to execute).When
true, the filesystem tool ignores VCS files (e.g., .gitignore rules). Default is to respect VCS.Memory-specific fields
Path to the SQLite database file for persistent storage. Default is an in-memory database.
Shell-specific fields
Environment variables to set for shell commands. Key-value pairs.
Script-specific fields
Map of script tool definitions. Each key becomes the tool name. See Script tool for full options.
Todo-specific fields
When
true, the todo list is shared across all agents in the session.Fetch-specific fields
HTTP request timeout in seconds.
API-specific fields
LSP-specific fields
The LSP server command to run.
File extensions this LSP server handles (e.g.,
[".go", ".ts"]).Package reference for auto-installing the LSP binary. Format:
owner/repo or owner/repo@version.MCP tools
Extend agents with external tools via the Model Context Protocol.Docker MCP (recommended)
Run MCP servers as secure Docker containers via the MCP Gateway:Docker MCP reference in
docker:name format.MCP server-specific configuration passed during initialization.
Local MCP (stdio)
Run MCP servers as local processes communicating over stdin/stdout:Command to execute the MCP server process.
Command-line arguments passed to the MCP server.
Environment variables for the MCP server process.
Package reference for auto-installing the command binary. Format:
owner/repo or owner/repo@version. Set to "false" or "off" to disable auto-install.Remote MCP (SSE / Streamable HTTP)
Connect to MCP servers over the network:Base URL of the remote MCP server.
Transport protocol:
sse or streamable.HTTP headers sent with every request (typically for authentication).
Reusable MCP definitions
Define MCP servers once in the top-levelmcps section and reference them from multiple agents:
Tool filtering
Use thetools property to expose only a subset of tools from a toolset. This reduces context window usage and improves tool selection accuracy:
Deferred tool loading
Deferred tools are loaded on-demand rather than at startup. This reduces startup time when you have many toolsets, especially slow-initializing MCP servers:Auto-installing tools
When a toolset specifies acommand (for MCP or LSP), docker-agent can automatically download and install the binary if it is not found on your PATH.
Resolution order:
- Check
PATHfor the command - Check the docker-agent tools directory (
~/.cagent/tools/bin/) - Look up the command in the aqua registry and install it
version:
owner/repo or owner/repo@version. When version is omitted, the latest release is used.
| Variable | Default | Description |
|---|---|---|
DOCKER_AGENT_AUTO_INSTALL | enabled | Set to false to disable all auto-installation |
DOCKER_AGENT_TOOLS_DIR | ~/.cagent/tools/ | Base directory for installed tools |
GITHUB_TOKEN | — | Raises GitHub API rate limits (optional) |