Datanika Core README

The full upstream README, mirrored for reference. Install config, tool schemas, adoption signals and our own overview live on the Datanika Core listing page.

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

bash
# 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)

config.json
{
  "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

config.json
{
  "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:

config.json
{
  "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:

bash
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:

    bash
    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.