Skip to main content
Pointing an agent at a warehouse and letting it write SQL feels like self-service analytics — until you notice the answers are confidently wrong. The fix isn’t a better model. It’s context: what your terms mean, which table is canonical, what the standard filters are, and where the landmines are. Nodal is that context layer — built with your analyst, measured as you go, and served to your whole team over MCP.
Nodal never needs access to your database. Your agent queries your warehouse through your own read-only connector. Nodal serves the context — definitions and canonical queries — not your data. See exactly what we access →

Two ways to use Nodal

Open source (free)

The Analytics Context Format (ACF) and an interview skill that builds your context layer one domain at a time — plus a local eval harness that proves it makes the agent more accurate. Apache-2.0. Fork it, self-host it, never talk to us.

Nodal MCP (paid)

A hosted, team-shared MCP endpoint that serves the same context to everyone’s agent, so a non-technical user gets the answer the analyst would give. Add one .mcp.json file and share.

Why interview-built, not auto-generated

The obvious approach — ingest your warehouse, dbt, and query history and auto-generate the context — is what most tools do. Teams who have measured it found it doesn’t hold up as a source of truth:
  • Anthropic’s data team reported that auto-generating metric definitions “encoded the very ambiguities we were trying to eliminate” and was net-negative on evals versus a smaller, human-curated layer.
  • Giving an agent grep access to thousands of prior queries moved accuracy less than a point — the information was present, the agent saw it, and it still resolved questions to the wrong entity.
Their conclusion, and ours: generate the draft with the model, but have a human own the definition. Nodal auto-extracts your schema and dbt as a draft to correct so the analyst isn’t staring at a blank page — but the analyst’s confirmations, not the extraction, are what we trust.
A context layer is one idea; ACF is our opinionated, eval-backed take on it. You are not required to use ACF to get value from Nodal — the eval harness reads ACF, dbt models/docs, or plain markdown. Bring whatever context you already have.

Evaluation is built as you go

Every disambiguation the analyst makes in the interview (“active client means X, not Y”) is simultaneously a context entry and a labeled eval pair. The act of building context is the act of harvesting ground truth — so you can always show accuracy with the context versus without it. More on evaluation →

Where to start

Build your context

Run the interview and generate your first domain — free and local.

Share it with your team

Put the context in front of everyone’s agent with a single .mcp.json file.