Agent Tools
The nao agent uses built-in tools autonomously to answer user requests.execute_sql
execute_sql
Execute SQL against connected databases and return structured results.
- Supports multiple database connections.
- Returns typed columns and row counts.
- Outputs can be reused by other tools.
display_chart
display_chart
Create charts from SQL results.Supported chart types:
- Bar charts
- Stacked bar charts
- Line charts
- Pie charts
- KPI cards
execute_sandboxed_code
execute_sandboxed_code
Execute code in an isolated sandbox (micro-VM) for advanced analysis.
- Supports Python and shell execution.
- Can install Python packages for a run.
- Can reuse prior SQL outputs as CSV inputs.
- Images uploaded to the chat are mounted into the sandbox, so the agent can read or manipulate them directly from Python (e.g. OCR, cropping, chart comparison).
- Requires enabling Sandboxes in Admin -> Agent -> Experimental.
search
search
Search files with glob patterns in your context.
list
list
List files and directories so the agent can navigate project structure.
read
read
Read context files such as SQL models, docs, and rule files.
grep
grep
Search text patterns across context files with regex.
web_search / web_fetch
web_search / web_fetch
Search the public web with your model provider tools and fetch cited pages when needed.
- Uses provider-native capabilities (OpenAI, Anthropic, Google) when enabled.
- Lets the agent answer questions that need fresh external information.
- Sources are shown in tool call output for traceability.
clarification
clarification
Ask the user a focused question when their request is genuinely ambiguous (multiple plausible tables, unclear metric, missing time range, etc.).
- Renders a “Quick question” card with the question and up to 5 clickable answer chips.
- Clicking a chip sends the answer directly - no extra Enter press required.
- Free-form answers via the normal chat input are also supported.
- The agent pauses and waits for the user’s reply before continuing.
- Multi-turn clarification works naturally: previous cards switch to an “Answered” state with a checkmark on the selected chip so the full decision trail stays visible.
MCPs
MCP (Model Context Protocol) servers expose external tools that the agent can call next to built-in tools. Configure MCP servers inagent/mcps/mcp.json:
Remote HTTP servers
Alongside localcommand servers, you can connect to remote MCP servers over HTTP. Set transport to streamable-http and point url at the server endpoint:
mcp_call tool.
Inline authentication
When a remote server requires OAuth, nao prompts the user to sign in inline the first time its tools are needed, so each user authenticates with their own account instead of sharing one organization-wide login. The connection is authorized per user and reused on later runs. Admins can manage MCP server enablement from Admin Setup. In chat, MCP tool calls and their outputs are rendered with a dedicated block: each call shows the server name, the tool used, and the returned payload formatted for readability (tables, JSON, and text are laid out distinctly rather than dumped as raw strings).Skills
Skills are reusable workflows defined as markdown files inagent/skills/.
A file is recognized as a skill only if:
- It is stored in
agent/skills/. - It starts with YAML frontmatter including
nameanddescription.
/ shortcuts or natural prompts that match skill descriptions.