mcpField
D
datanika-mcp

datanika-mcp

Local
github.com/datanika-ioDatabases0Updated 5w ago

About datanika-mcp

datanika-mcp is an MCP server for Datanika that supports data browsing, previews, dbt transformations, and ELT pipeline monitoring. It is read-only by default; `--allow-write` enables resource creation and run triggers.

Key features

  1. 01Inspect connections, schemas, and tables
  2. 02Preview data and run read-only SQL
  3. 03Compile, validate, and preview dbt transformations
  4. 04View pipelines, runs, and logs
  5. 05Optionally enable writes and run triggers

Use cases

  1. 01Inspect tables and rows in data sources
  2. 02Run read-only SQL queries
  3. 03Validate dbt transformations and preview results
  4. 04Check pipeline run status and logs

MCP support

The server exposes Datanika tools for connections, transformations, catalog entries, and run records to MCP clients. It is read-only by default; `--allow-write` enables resource creation and run-trigger tools.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"io-datanika-datanika": {
"command": "uvx",
"args": [
"datanika-mcp"
],
"env": {
"DATANIKA_URL": "<DATANIKA_URL>",
"DATANIKA_API_KEY": "<DATANIKA_API_KEY>",
"DATANIKA_ALLOW_WRITE": "<DATANIKA_ALLOW_WRITE>"
}
}
}
}
Run commanduvx datanika-mcp
Environment variables to set
DATANIKA_URLDatanika instance URL (defaults to https://app.datanika.io; set this for a self-hosted instance)
DATANIKA_API_KEYSecretDatanika API key (from Settings -> API Keys)
DATANIKA_ALLOW_WRITESet to true to enable write/trigger tools (read-only by default)

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypidatanika-mcp0.2.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Datanika MCP Server

mcp-name: io.datanika/datanika-mcp

MCP server for Datanika — browse connections, preview data, compile and validate dbt transformations, monitor runs, and manage pipelines from Claude Desktop.

Read-only by default. Pass --allow-write to enable creating resources and triggering pipeline runs.

Install

# From PyPI (recommended)
uvx datanika-mcp --help

# From git
uvx --from "git+https://github.com/datanika-io/datanika-core#subdirectory=datanika-mcp" datanika-mcp --help

Claude Desktop Configuration

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):

Read-only (recommended)
{
  "mcpServers": {
    "datanika": {
      "command": "uvx",
      "args": [
        "--from", "git+https://github.com/datanika-io/datanika-core#subdirectory=datanika-mcp",
        "datanika-mcp",
        "--url", "https://app.datanika.io",
        "--api-key", "YOUR_API_KEY"
      ]
    }
  }
}
With write access
{
  "mcpServers": {
    "datanika": {
      "command": "uvx",
      "args": [
        "--from", "git+https://github.com/datanika-io/datanika-core#subdirectory=datanika-mcp",
        "datanika-mcp",
        "--url", "https://app.datanika.io",
        "--api-key", "YOUR_API_KEY",
        "--allow-write"
      ]
    }
  }
}
Environment variables

You can also configure via environment variables:

{
  "mcpServers": {
    "datanika": {
      "command": "uvx",
      "args": [
        "--from", "git+https://github.com/datanika-io/datanika-core#subdirectory=datanika-mcp",
        "datanika-mcp"
      ],
      "env": {
        "DATANIKA_URL": "https://app.datanika.io",
        "DATANIKA_API_KEY": "YOUR_API_KEY",
        "DATANIKA_ALLOW_WRITE": "true"
      }
    }
  }
}

Available Tools

Always available (read-only)
ToolDescription
get_agent_tiersGet the 5-tier agent capability stack
get_connection_typesList supported connection types with config schemas
list_connectionsList all connections in the org
get_connectionGet connection details by ID
introspect_connectionList schemas/tables of a source connection
preview_connectionPreview first N rows of a table
query_connectionExecute a read-only SQL query
compile_transformationCompile a dbt transformation (no execution)
preview_transformationCompile + execute, return preview rows
list_uploadsList all uploads
list_pipelinesList all pipelines
list_transformationsList all transformations
list_runsList runs with optional filters
get_runGet run details by ID
get_run_logsGet run logs
list_catalogList catalog entries (source tables + dbt models)
get_catalog_entryGet catalog entry details
Requires --allow-write
ToolDescription
create_connectionCreate a new data connection
create_uploadCreate a new upload (extract + load)
create_pipelineCreate a new pipeline (dbt orchestration)
create_transformationCreate a new dbt SQL transformation
bulk_importBulk-create resources from JSON v2 format
trigger_uploadTrigger an upload run
trigger_pipelineTrigger a pipeline run
trigger_transformationTrigger a transformation run

Self-hosted

Point --url at your instance. Use the backend port (8000) — 3000 is the Reflex frontend and serves no /api/v1:

datanika-mcp --url http://localhost:8000 --api-key etf_your_key

Releasing (maintainers)

datanika-mcp publishes to PyPI via GitHub Actions Trusted Publishing (OIDC — no stored API token). To cut a release (from master):

  1. Bump version in pyproject.toml.

  2. Tag and push — the tag version must match pyproject.toml:

    git tag mcp-v0.2.0
    git push origin mcp-v0.2.0
    
  3. The Release datanika-mcp to PyPI workflow builds the sdist + wheel and publishes. Verify: uvx datanika-mcp --help resolves from PyPI.

First-release setup: a one-time PyPI trusted-publisher must be configured (project datanika-mcp, repo datanika-io/datanika-core, workflow release-mcp.yml, environment pypi) before the first tag will publish. See the infra human-locker.

License

AGPL-3.0 — same as the core Datanika platform.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.