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.
Prefer to watch? A video series walks through the whole flow — from the open-source setup to sharing the hosted MCP with your team: why interview-built context · setup · live demo · add your team.
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 →

Three 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. Low-cost, self-serve.

Enterprise

The full client — Nodal-hosted or deployed in your own environment — with team MCP connections plus built-in evaluation and observability. A deeper integration for scale and governance. Contact us.

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.
  • MIT CISR independently recommends the opposite of boiling the ocean: build the semantic layer incrementally, priority data assets first — which is exactly what the one-domain-at-a-time interview does.
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.