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
- 01Inspect connections, schemas, and tables
- 02Preview data and run read-only SQL
- 03Compile, validate, and preview dbt transformations
- 04View pipelines, runs, and logs
- 05Optionally enable writes and run triggers
Use cases
- 01Inspect tables and rows in data sources
- 02Run read-only SQL queries
- 03Validate dbt transformations and preview results
- 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.
uvx datanika-mcpDATANIKA_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.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEDatanika 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)
| Tool | Description |
|---|---|
get_agent_tiers | Get the 5-tier agent capability stack |
get_connection_types | List supported connection types with config schemas |
list_connections | List all connections in the org |
get_connection | Get connection details by ID |
introspect_connection | List schemas/tables of a source connection |
preview_connection | Preview first N rows of a table |
query_connection | Execute a read-only SQL query |
compile_transformation | Compile a dbt transformation (no execution) |
preview_transformation | Compile + execute, return preview rows |
list_uploads | List all uploads |
list_pipelines | List all pipelines |
list_transformations | List all transformations |
list_runs | List runs with optional filters |
get_run | Get run details by ID |
get_run_logs | Get run logs |
list_catalog | List catalog entries (source tables + dbt models) |
get_catalog_entry | Get catalog entry details |
Requires --allow-write
| Tool | Description |
|---|---|
create_connection | Create a new data connection |
create_upload | Create a new upload (extract + load) |
create_pipeline | Create a new pipeline (dbt orchestration) |
create_transformation | Create a new dbt SQL transformation |
bulk_import | Bulk-create resources from JSON v2 format |
trigger_upload | Trigger an upload run |
trigger_pipeline | Trigger a pipeline run |
trigger_transformation | Trigger 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):
-
Bump
versioninpyproject.toml. -
Tag and push — the tag version must match
pyproject.toml:git tag mcp-v0.2.0 git push origin mcp-v0.2.0 -
The
Release datanika-mcp to PyPIworkflow builds the sdist + wheel and publishes. Verify:uvx datanika-mcp --helpresolves from PyPI.
First-release setup: a one-time PyPI trusted-publisher must be configured (project
datanika-mcp, repodatanika-io/datanika-core, workflowrelease-mcp.yml, environmentpypi) before the first tag will publish. See the infra human-locker.
License
AGPL-3.0 — same as the core Datanika platform.
Comments
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.