# datanika-mcp

MCP server connecting your coding assistant to Datanika to explore data tables, inspect dbt models, and monitor ELT workflows.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Author: datanika-io
- License: AGPL-3.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/datanika-io/datanika-core/tree/HEAD/datanika-mcp
- Updated: 2026-09-26
- HTML: https://affpapa.org/en/nevibecode/mcp/datanika-mcp

## What it does

The server connects agent environments to Datanika instances over stdio using `uvx`. By default, access stays strictly read-only: you can inspect source schemas, fetch table row samples, run analytical queries, and compile dbt SQL transformations safely.

Modifying data or pipelines requires special privileges. Creating connections, scheduling uploads, or triggering runs is blocked until you provide the `--allow-write` argument or configure `DATANIKA_ALLOW_WRITE=true` in your environment.

When self-hosting Datanika, direct `--url` to backend port `8000`, because the frontend listening on port `3000` has no API routes. Every request requires an active `DATANIKA_API_KEY`.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `DATANIKA_URL`, `DATANIKA_API_KEY`, `DATANIKA_ALLOW_WRITE` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env DATANIKA_URL=<DATANIKA_URL> --env DATANIKA_API_KEY=<DATANIKA_API_KEY> --env DATANIKA_ALLOW_WRITE=<DATANIKA_ALLOW_WRITE> --transport stdio datanika-mcp -- uvx datanika-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datanika-mcp <command>

### Codex

**Platform CLI**
```bash
codex mcp add datanika-mcp --env DATANIKA_URL=<DATANIKA_URL> --env DATANIKA_API_KEY=<DATANIKA_API_KEY> --env DATANIKA_ALLOW_WRITE=<DATANIKA_ALLOW_WRITE> -- uvx datanika-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datanika-mcp <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "datanika-mcp": {
            "command": "uvx",
            "args": [
                "datanika-mcp"
            ],
            "env": {
                "DATANIKA_URL": "<DATANIKA_URL>",
                "DATANIKA_API_KEY": "<DATANIKA_API_KEY>",
                "DATANIKA_ALLOW_WRITE": "<DATANIKA_ALLOW_WRITE>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datanika-mcp <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "datanika-mcp": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "datanika-mcp"
            ],
            "env": {
                "DATANIKA_URL": "<DATANIKA_URL>",
                "DATANIKA_API_KEY": "<DATANIKA_API_KEY>",
                "DATANIKA_ALLOW_WRITE": "<DATANIKA_ALLOW_WRITE>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datanika-mcp <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e DATANIKA_URL=<DATANIKA_URL> -e DATANIKA_API_KEY=<DATANIKA_API_KEY> -e DATANIKA_ALLOW_WRITE=<DATANIKA_ALLOW_WRITE> datanika-mcp uvx datanika-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datanika-mcp <command>

## When to use it
- inspect database schemas and preview sample table rows
- compile dbt transformations without writing to the warehouse
- review execution logs for pipeline runs
- trigger ELT uploads and dbt pipeline executions

## Example prompts
- Inspect the database schema and preview 10 rows from the orders table
- Compile the customer analytics dbt model and show preview rows
- Fetch the execution logs for the latest pipeline run

## Similar
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89609
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89899
- [MCP Toolbox for Databases](https://affpapa.org/en/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP server · ★ 16730
- [PostHog MCP Server](https://affpapa.org/en/nevibecode/mcp/posthog-mcp-server.md) — MCP server · ★ 40459
- [dbx](https://affpapa.org/en/nevibecode/mcp/dbx.md) — MCP server · ★ 27844
- [Metabase](https://affpapa.org/en/nevibecode/mcp/metabase.md) — MCP server · ★ 49863

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
