Skip to main content
Agents are defined as YAML files committed to your repo under .dinoai/agents/. Each file defines one agent.
The agent builder in the app writes this same format: when deploying from Creating Agents in the App you choose whether the agent is saved to the workspace only or committed to your repo with this schema through a pull request.

Full Example

Field Reference

Important: If the tools block is omitted entirely, the agent has access to all available tools. Use an allowlist for production agents to limit blast radius.

Tool Modes

allowlist — only the tools listed are available to the agent. Recommended for production agents.
denylist — all tools are available except the ones listed.
A small set of core tools is always available regardless of mode: an allowlist does not need to name them, and a denylist cannot remove them. See Always-available tools. Sub-agents started with run_subagent inherit the parent agent’s tool gating.

MCP tools

List tools from external MCP servers under tools, like any other tool. MCP tool names look like mcp__<server>__<tool>, and mcp__<server>__* matches every tool from one server. Without a tools block, or with a denylist that doesn’t name them, the agent gets every MCP tool its server and environment allow. The separate mcpTools block that agents used to limit MCP tools is deprecated. If an agent still has one, it keeps limiting the agent’s MCP tools on top of tools.