Skip to main content
Nodal never needs access to your database — in the open-source repo or the hosted MCP server.

We never touch your database

Nodal serves your context layer — the definitions and canonical queries your analyst curated — not your data. When an agent needs to run SQL, it runs it through your own read-only warehouse connector (see Connect your database). Nodal does not replicate, proxy, or store a connection to your warehouse. The credentials to your data never leave your side.

For the hosted MCP server, we need only GitHub

To serve your context — and to let your analyst edit it from the admin — the hosted endpoint needs GitHub access to your context repo. That’s it:

Context repo (required)

Read + write GitHub access to your analytics-context repo — the Markdown + YAML the endpoint serves. Write is what lets your analyst edit definitions and open pull requests from the Nodal admin; every change lands as a reviewable PR.

dbt repo (optional)

If you choose, read-only access to your dbt project’s GitHub repo. dbt models and docs are a nicely structured source for lineage, so the agent can check how a metric is computed. Nodal can never edit your dbt repo.
Both are GitHub — structured, reviewable, and easy to scope down. The context repo is the only place Nodal can write, and only through pull requests. You grant access once in the Nodal admin and can revoke it at any time.

Connecting GitHub

You grant that access by installing the Nodal GitHub App (the default) or by pasting a fine-grained token — either way the footprint is identical: GitHub-only, write scoped to the context repo, revocable at any time. Full setup, permissions, and management →

What that means in practice

Organization scoping

Every request to https://analyst.nodaldata.io/mcp is authenticated with OAuth 2.0 and scoped to your organization, so a token only ever reaches your organization’s context — never another customer’s.