Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.getnao.io/llms.txt

Use this file to discover all available pages before exploring further.

Agent Tools

The nao agent uses built-in tools autonomously to answer user requests.
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.
Create charts from SQL results.Supported chart types:
  • Bar charts
  • Stacked bar charts
  • Line charts
  • Pie charts
  • KPI cards
Charts are rendered in chat and can also be sent in Slack conversations.
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.
List files and directories so the agent can navigate project structure.
Read context files such as SQL models, docs, and rule files.
Search text patterns across context files with regex.
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.
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.
You do not need to select tools manually. The agent chooses and orchestrates tools based on each question.
Web search is optional and can be enabled per project from Settings -> Project -> Agent -> Web search.

MCPs

MCP (Model Context Protocol) servers expose external tools that the agent can call next to built-in tools. Configure MCP servers in agent/mcps/mcp.json:
{
  "mcpServers": {
    "metabase": {
      "command": "npx",
      "args": ["-y", "@getnao/metabase-mcp-server@latest"],
      "env": {
        "METABASE_URL": "http://localhost:3008/",
        "METABASE_API_KEY": "your-metabase-api-key"
      },
      "disabled": false,
      "autoApprove": [],
      "disabledTools": []
    }
  }
}
Do not commit secrets. Store credentials in runtime environment variables or a secrets manager.
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 in agent/skills/. A file is recognized as a skill only if:
  1. It is stored in agent/skills/.
  2. It starts with YAML frontmatter including name and description.
---
name: top-customers
description: Analyze database to find top 5 customers by total payments.
---
In chat, users can trigger skills through / shortcuts or natural prompts that match skill descriptions.