Nao: Free Open Source AI Data Analyst

Nao: Free Open Source AI Data Analyst — Chat With Your Data

🎬 Elestio 📅 Aug 7, 2026 ⏱ 13:32
open-source data analytics AI agent SQL self-hosted MCP

🧠 What Nao Is

Nao is a free, open-source AI data analyst built around a single idea: agent reliability comes from context engineering. Instead of bolting a chatbot onto your data warehouse and hoping for the best, Nao lets your data team build the agent's context like a file system — schemas, database models, metrics, documentation, and business rules — then unit-test its reliability before deploying a chat interface where anyone in the company can ask questions in plain English and get trustworthy answers. 0:00

Core philosophy: Context engineering > prompt engineering. Nao treats the data model, schema, metrics definitions, and business rules as first-class config that the agent reasons over — not as an afterthought stuffed into a system prompt.

Nao is warehouse-agnostic and model-agnostic: you bring your own LLM key and only pay for token consumption. Users can query it from Slack, Teams, WhatsApp, or the built-in chat UI. The self-hosted version is free and fully featured. There is also a managed cloud plan at $500/month with unlimited users, and an enterprise tier adding SSO, role-based security, and white-labeling. 0:40

🚀 Installation & Deployment

Nao can be self-hosted by following the official documentation, or deployed through a managed platform like Elestio, which handles installation, backups, updates, and ongoing maintenance. 1:23

The Elestio deployment flow is a straightforward wizard:

StepAction
1Go to elest.io → Login → Deploy my first service
2Search for "Nao", select it from the catalogue 1:30
3Pick cloud provider (AWS, GCP, Azure, etc.), region, and service plan (CPU/RAM) 1:33
4Name your service, adjust advanced config, choose support tier (first level is free) 1:44
5Click Create Service and wait for the installation email 1:55

Once deployed, you receive an email with links to the admin UI, instructions for setting your LLM key, confirmation that a demo dataset is included, and guidance for connecting your own data sources. 2:00

🔌 LLM Configuration

On first login, the chat interface prompts you to configure an LLM provider. Nao is model-agnostic: you can use OpenAI, Anthropic, any OpenAI-compatible endpoint, or your own self-hosted model. Results vary by model — some are faster, some cheaper, some more accurate on complex SQL — but the choice is entirely yours. 2:27

SettingWhat to enter
API KeyYour provider's API key (e.g. OpenAI, Anthropic, or local endpoint)
ModelDefaults to GPT-4o ("GPT 5.5" at time of recording — now GPT-4.1 / 5.x). Override with any model name your provider supports. 3:10
Key insight: "Model-agnostic" means you control cost and capability. Use a cheap model for simple aggregations, a powerful one for multi-hop analytical queries — and swap without changing any other configuration.

After saving the LLM config, you are dropped into the main chat interface, ready to query the included demo dataset. The setup email also includes example queries to get started quickly. 3:26

💬 Chat with Your Data

The chat interface is the primary user surface. You ask questions in plain English and Nao translates them into SQL, executes the query against your warehouse, and returns formatted results. Each query is transparent: you can expand the request to see the exact SQL it generated. 3:24

The demo walks through three queries of increasing complexity, showing how Nao adapts its output format to the query type:

QueryNao's responseFormat
"How many customers do we have?" 3:42100 customersSingle number + natural-language summary
"What are the top 5 customers by lifetime value?" 4:02Ranked table with name, ID, and LTV 4:17Structured table
"Show me the monthly order trend" 4:35Line chart + summary ("Monthly orders peaked in March at 35…") 4:41Chart + table + narrative

You can also scope queries to specific tables by clicking the + button → "Database tables", selecting the relevant table (e.g. customers), and asking focused questions like "How many ordered only once?" — Nao returns 33 customers, with the generated SQL visible on expand. 5:11

📤 CSV / XLS Exports

For operational workflows, Nao can export query results to CSV or Excel. After running a query, ask "Can you export them into CSV?" and Nao generates a downloadable file. A copy and download button appear in the top-right of the response, so the analyst can grab the data and feed it into email campaigns, external tools, or reports. 5:57

Workflow tip: The export feature bridges Nao's analytical capability with downstream operations — export a segment of one-time customers, drop the CSV into your email tool, and run a re-engagement campaign. No copy-paste, no manual SQL export.

⚡ Skills & Story Mode

Skills — reusable prompt templates

Nao implements skills as Markdown files stored on the server under agent/skills/. Each skill is a prompt template you create once and trigger from the chat UI with a single click. For example, a top-customers.md skill encodes the query logic for ranking customers by lifetime value — hit enter and it runs immediately. 6:14

To create a new skill: open the server's file browser (via Elestio's VS Code terminal or SSH), navigate to agent/skills/, create a new .md file with your prompt, and it becomes available in the chat UI's skill selector. 12:02

Story Mode — automated data narratives

Triggered with a prompt like "Show me data", Story Mode generates a rendered Markdown dashboard with key metrics, monthly performance charts, order status breakdowns, payment method distributions, and top customer rankings — all synthesized from the underlying data. 6:41

Stories are editable: click "Edit" to reorder sections, modify content manually, or switch to Markdown mode for full control. The killer feature is Live Mode: enable it and not only does the data refresh on a schedule — the narrative analysis regenerates too, so your dashboard stays current without manual rewrites. Stories can be shared with the entire project or specific team members, and come with analytics (views, downloads, forks, favorites, refreshes). 7:11

Live Mode is the differentiator: Most BI tools refresh numbers. Nao regenerates the narrative around them — so a spike in returns doesn't just update a chart, it produces a sentence explaining the anomaly. That's context engineering in practice.

🔄 Feed Automations & MCP

Scheduled automations

Nao's Feed section lets you create automations that run on a schedule or via webhook. The demo shows a (tongue-in-cheek) monthly automation that finds the worst-performing sales employee and sends a warning — but the pattern generalizes to real use cases: weekly churn reports, daily anomaly detection, monthly KPI summaries. 8:43

Trigger typeUse case
Schedule (daily/weekly/monthly) 8:52Recurring reports, KPI monitoring, data quality checks
WebhookEvent-driven: trigger analysis when new data lands, integrate with CI/CD

MCP integration

Nao exposes an MCP (Model Context Protocol) endpoint, allowing external AI tools and agents to query your data through Nao's context layer. Enabling the MCP endpoint on your instance opens a channel for tools like Claude Desktop, Cursor, or custom agents to talk to your warehouse — with Nao's schemas, metrics, and rules serving as the trust boundary. Guides are provided for popular AI providers. 12:23

Architecture insight: Nao as MCP server means your external agents don't get raw database access. They query through Nao's context layer — schemas, metrics definitions, business rules — so the same guardrails that protect your chat users protect every connected tool. This is context engineering as a security boundary.

Automations can be connected to external tools (email, Slack) or MCP servers so that scheduled analyses trigger real actions — send a Slack alert when a metric crosses a threshold, email a weekly report to stakeholders, or feed data into another system. The Feed panel shows the history of all automation runs with their results. 9:31

👥 Team & Data Import

User management

By default, self-signup is disabled — and Nao recommends keeping it that way unless your instance is on a private network. To add team members, go to Settings → Organizations → Add Member, enter their email and name, generate a password, and assign a role (admin, user, or viewer). 10:20

Connecting your data

Data import and skill creation happen on the server side — not in the chat UI. Nao provides two paths for connecting your data: 11:03

PathMethodWhen to use
Option AImport via local fileOne-off data loads, CSV/Excel imports, prototyping
Option BConnect your real warehouseProduction use — live connection to PostgreSQL, MySQL, BigQuery, Snowflake, etc.

Both options require running commands on the server. Via Elestio, you access the server through the LS2 dashboard → Tools → VS Code, which provides a file browser and nested terminal. Navigate to the app directory, follow the documentation's import instructions, and your data becomes queryable through Nao's context layer. 11:23

Usage monitoring & white-labeling

Nao tracks detailed analytics of all messages — split by LLM provider, time period, and platform (web, Slack, Teams). The white-label option (enterprise only) lets you replace the logo, application name, and brand colors with your own. 12:40

✅ Key Takeaways

  1. Free and fully featured — the self-hosted version is free, you only pay for your LLM token consumption. The managed plan ($500/month) adds support, SSO, and white-labeling.
  2. Context engineering is the moat — Nao's schemas, DB models, metrics, docs, and rules form a file-system-like context layer that the agent reasons over. This is what makes answers trustworthy, not just plausible.
  3. Model and warehouse agnostic — bring your own LLM key (OpenAI, Anthropic, local models) and connect to any database. No vendor lock-in on either axis.
  4. Output format adapts to query intent — single numbers, tables, charts, and narrative summaries are chosen automatically based on what the question demands.
  5. Skills are Markdown files — create reusable prompt templates as .md files in the agent/skills/ directory. No YAML config, no UI wizards — just a prompt in a file.
  6. Story Mode + Live Mode = self-updating dashboards — generate rich Markdown dashboards from natural language, then enable Live Mode so both data and narrative analysis refresh on schedule.
  7. Automations close the loop — scheduled or webhook-triggered analyses can connect to email, Slack, or MCP tools, turning insights into actions without human intervention.
  8. MCP endpoint makes Nao a data layer for your AI stack — external tools and agents query your warehouse through Nao's context layer, inheriting the same schemas, metrics, and business rules that protect your chat users.
  9. Team support with role-based access — admin, user, and viewer roles. Self-signup is disabled by default for security; admins provision accounts manually.
  10. Deploy in minutes via Elestio — pick a cloud provider, choose resources, and let the platform handle installation, backups, updates, and maintenance.

🔗 Resources & Links

📍 Timestamp Index

0:00 Introduction — what Nao is and why context engineering matters
1:23 Installation via Elestio — deploy your first service
2:27 LLM provider configuration — model-agnostic setup
3:24 Chat with your data — natural language to SQL
5:11 Table-scoped queries and CSV/XLS exports
6:14 Skills — reusable prompt templates as Markdown files
6:41 Story Mode — automated dashboards with Live Mode
8:43 Feed Automations — scheduled & webhook-triggered analyses
10:20 Users & roles — team management
11:03 Connecting your data — local file import & warehouse connection
12:02 Creating skills on the server via VS Code terminal
12:23 MCP endpoint — expose Nao as a data layer for external AI tools
12:40 Usage analytics & white-label options
☰ View all