Prefer to watch? A video series walks through the whole flow — from why the context is
interview-built to sharing the hosted MCP with your team:
why interview-built context ·
live demo ·
add your team.
For installation and setup, use the Quickstart.
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
Nodal Context — open source, free
The Analytics Context Format (ACF) and seven agent skills — an interview that builds
your context layer one domain at a time, plan/verify/challenge workflows for answering
questions against it, live dashboard verification, and a local eval harness that proves the
context makes the agent more accurate. Apache-2.0. Runs on your stack with Claude Code, Codex,
or Cursor. Quickstart →
Nodal MCP — team
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. One
.mcp.json file, OAuth sign-in,
GitHub access only — never your database. Self-serve: $49/month flat for up to 20 users.Enterprise
For teams whose decisions depend on the answers — hosted by us or deployed in your own
environment — with observability of every question, regression tests on every dbt, doc,
prompt, or model change, and drift detection pinned to the commit that caused it.
Contact us.
Tested in public
Nodal’s claims are reproducible, not asserted:- Spider 2.0-Lite — 61.2% on 547 questions. A thin Claude Code + Sonnet harness with the right context, no fine-tuning, no custom analytics agent.
- Shorelane — 4 of 92 answers drifted after one innocuous dbt commit. Nodal replayed every governed question and named the commit.
- Two agents, one number. Claude Code and Codex, the same question through the same governed context, landing on the same answer.
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.
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. Each domain closes by answering real questions context-off and context-on against your live warehouse and reconciling the result with a dashboard you trust — so you can always show accuracy with the context versus without it. Watch a live verification →Where to start
Quickstart
Install the plugin, connect a read-only warehouse, and run your first domain.
Share it with your team
Put the context in front of everyone’s agent with a single
.mcp.json file.