Skip to main content
Glama

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

Related MCP server: @us-all/dbt-mcp

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

{
  "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):

  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.

Available Tools

14 tools
bulk_importA

Bulk-import connections, uploads, pipelines, and transformations in one call.

Requires --allow-write. Uses the JSON v2 import format. Validates everything first — if any errors, nothing is created.

Args: payload: JSON v2 import payload with version, connections, uploads, pipelines, transformations sections. See AI_IMPORT_GUIDE.md.

ParametersJSON Schema
NameRequiredDescriptionDefault
payloadYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description properly discloses the write requirement, validation-first behavior, and JSON v2 format. However, it does not mention error handling details beyond 'nothing is created'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two paragraphs and an Args section. It could be more structured (e.g., bullet list), but every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and the existence of an output schema, the description covers purpose, prerequisites, validation, and payload format. It lacks detail on return values or error responses, but the output schema presumably handles that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% for the payload parameter. The description adds critical meaning: it explains the payload structure (version, connections, uploads, pipelines, transformations sections) and references a guide, greatly compensating for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'bulk-import' and lists the specific resources (connections, uploads, pipelines, transformations) in a single call. This distinguishes it from siblings like create_connection and trigger_pipeline which handle individual resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies a prerequisite (requires --allow-write) and validates before creating. It implicitly suggests use for bulk operations, but does not explicitly state when to prefer this over individual create tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_connectionA

Create a new data connection.

Requires --allow-write.

Args: name: Human-readable name for the connection. connection_type: One of the supported types (e.g. 'postgres', 'mysql', 'stripe'). config: Connection-specific configuration (host, port, credentials, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
configYes
connection_typeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description carries full burden. It indicates a write operation via 'Requires --allow-write' and describes creation, which implies side effects. However, it lacks details on what exactly happens server-side, error conditions, or outcomes beyond the returned object (covered by output schema).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: two sentences and an Args list. Front-loaded with purpose statement. Every sentence adds value; no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, parameters, and authorization. With an output schema available, return value documentation is not needed. Does not mention idempotency or behavior on duplicate names, but overall sufficient for a creation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so description must explain parameters. It does so clearly: name (human-readable), connection_type (with examples), config (connection-specific settings including typical fields). This adds significant meaning beyond the bare schema types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Create a new data connection', which is a specific verb-resource pair. Distinguishes from sibling tools like create_transformation that operate on different resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Notes the authorization requirement ('Requires --allow-write'), providing a usage condition. However, it does not specify when to use this tool instead of alternatives, nor any context about prerequisites or typical scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_transformationA

Create a new dbt SQL transformation.

Requires --allow-write.

Args: name: Model name (letters, digits, underscores, hyphens; must start with letter or _). sql_body: dbt-compatible SQL (supports ref(), source(), Jinja). materialization: 'view', 'table', 'incremental', 'ephemeral', or 'snapshot'. description: Optional description. schema_name: Target schema (default 'staging').

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
sql_bodyYes
descriptionNo
schema_nameNostaging
materializationNoview

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses that the tool is a write operation and requires --allow-write, but does not discuss side effects, idempotency, error cases, or response behavior. The output schema exists but is not mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, starting with the purpose in one line, followed by a structured list of arguments. Every sentence adds value, and the format is easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers all parameters and key constraints, with an output schema present to handle return values. It lacks details on conflicts, limits, or full lifecycle behavior, but is sufficient for a create operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description compensates fully: it explains each parameter with constraints (e.g., name format, SQL features, materialization options) and defaults. This adds significant meaning beyond the schema's type definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create a new dbt SQL transformation', specifying the action (create) and resource (dbt SQL transformation). This distinguishes it from sibling tools like list_transformations or preview_transformation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the requirement 'Requires --allow-write' but provides no guidance on when to use this tool versus alternatives (e.g., update or import). No exclusions or context for selection are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_catalog_entryA

Get details of a specific catalog entry.

Args: entry_id: The catalog entry ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
entry_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full burden for behavioral disclosure. It only says 'Get details', which implies a read operation, but it does not disclose authentication requirements, rate limits, performance implications, or whether the operation is safe. The minimal description adds little beyond the obvious.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences, front-loading the core purpose. Every word earns its place, and the structured 'Args:' format is clear and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool is simple with one parameter and an output schema exists, the description covers the basic purpose and parameter. However, it lacks usage guidelines and behavioral context, which are gaps for completeness. It is minimally adequate but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It provides a basic description for entry_id ('The catalog entry ID.'), adding meaning beyond the schema's property name. For a single integer parameter, this is adequate but minimal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'specific catalog entry', distinguishing it from sibling tools like 'list_catalog' which lists all entries. It explicitly indicates this tool is for retrieving details of one entry.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when needing details of a single entry, but it does not explicitly state when to use this tool versus alternatives like 'list_catalog'. No when-not or exclusion criteria are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_runB

Get details of a specific run by ID.

Args: run_id: The run ID to look up.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only says 'Get details' without disclosing what details are returned, any side effects, permissions, or error conditions. For a read operation, more transparency is expected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise with two short sentences and no extraneous information. Every word serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite an output schema existing, the description is very brief and does not indicate what the returned details include, nor does it explain the parameter or tool behavior sufficiently. More context is needed for a self-contained definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for run_id, but the description adds 'The run ID to look up,' which provides minimal meaning beyond the schema's type and title. More detail on source or format would improve this.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it gets details of a specific run by ID, with a verb ('Get') and resource ('run details'). It distinguishes from siblings like list_runs (list all) and get_run_logs (logs only).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as using list_runs to find run IDs or get_run_logs for execution logs. The description lacks usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_run_logsC

Get the logs of a specific run.

Args: run_id: The run ID whose logs to fetch.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavioral traits. It only says 'Get the logs', which implies a read operation, but does not confirm idempotency, side effects, or whether the run must be completed. The lack of annotation burden falls entirely on the description, which fails to provide sufficient transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded, but it is appropriately sized for a simple one-parameter tool. However, it could be better structured with a separate requirements or return section.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists (though not shown), the description need not explain returns. However, missing context about log format, pagination, or prerequisites (e.g., run status) makes it borderline adequate for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description's 'Args' section adds minimal value: 'The run ID whose logs to fetch' essentially restates the parameter name and property title. It does not explain acceptable values, format, or how to obtain the run_id.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb 'Get' and the resource 'logs of a specific run', which is clear and matches the tool name. However, it does not differentiate from sibling tools like 'get_run' or 'list_runs', but the focus on logs is distinct enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., 'get_run' or 'list_runs'). There are no prerequisites, exclusions, or use-case context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_catalogA

List all catalog entries (source tables and dbt models).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description lacks behavioral details such as whether pagination or rate limits apply, leaving the agent with incomplete information about potential side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the core action, and no extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only list tool with an output schema, the description provides sufficient context to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with zero parameters, so baseline applies; description adds no parameter-specific value but also isn't needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states action ('List all catalog entries') and specifies the resource ('source tables and dbt models'), effectively distinguishing from sibling tools like get_catalog_entry.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance, but the purpose is clear enough that an agent would infer standard use for listing catalog entries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_pipelinesA

List all pipelines (dbt transform orchestration) in the organization.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description bears full responsibility for behavioral disclosure. It only states 'List all pipelines', which implies a read-only operation but does not confirm idempotency, performance considerations, pagination, or organizational scope (only stated as 'in the organization'). The lack of explicit safety or side-effect information is a gap given zero annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action and object. No extraneous words or redundant information. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (no parameters, simple list) and the presence of an output schema, the description adequately covers the essential purpose. It mentions organizational scope. However, it could briefly note that there is no filtering or that it returns all pipelines, but the output schema likely fills that gap. Minor room for improvement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters, the schema coverage is 100% and the description does not need to add param-level detail. The description adds no extra meaning beyond the schema, but per rules, 0 parameters earns a baseline of 4. This is appropriate because the tool's behavior is fully captured by its parameterless signature.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'pipelines' with a clarifying parenthetical '(dbt transform orchestration)'. It distinguishes this tool from siblings like list_runs or list_transformations by explicitly targeting pipelines. No tautology or missing purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. While the tool name and description imply listing all pipelines, it does not mention when not to use it or suggest alternative tools for filtered or specific pipeline queries. Sibling tools like list_runs and list_transformations exist but no differentiation is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_runsA

List pipeline/upload/transformation runs with optional filters.

Args: target_type: Filter by type — 'upload', 'pipeline', or 'transformation'. status: Filter by status — 'pending', 'running', 'success', 'failed', 'cancelled'. limit: Max results (default 50, max 200).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
statusNo
target_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility. It states the tool lists runs with optional filters, which is typical for a read operation. However, it does not explicitly declare read-only behavior, permissions, or pagination details beyond the limit parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: a single sentence summarizing purpose followed by a clear list of parameters with explanations. Every sentence adds value, and the structure is easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists (not shown), so return values need not be explained. The description covers purpose, all parameters, and filter options. Minor omissions: no mention that the operation is read-only or how results are ordered. Still, it is largely complete for a list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description fully compensates by detailing the meaning of each parameter: target_type values, status values, and limit with default and max. This adds significant value beyond the schema's type definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool lists pipeline/upload/transformation runs with optional filters. The verb 'list' and resource 'runs' are specific, and the scope distinguishes it from sibling tools like list_pipelines and list_transformations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the filters but does not provide explicit guidance on when to use this tool versus alternatives like get_run or get_run_logs. It is adequate for a listing tool but lacks when-not-to-use information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_transformationsA

List all dbt transformations in the organization.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility. It only states 'List all dbt transformations' without disclosing behavioral traits like pagination, sorting, rate limits, or authentication needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that contains no superfluous words. It is appropriately front-loaded with the verb and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has zero parameters and an output schema, the description is largely sufficient. It clearly states the operation, though it could mention any default ordering or limit if applicable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters with 100% coverage, so baseline is 4. The description adds minimal value by confirming the operation takes no arguments, but no further parameter semantics are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and resource ('dbt transformations'), clearly stating the action and scope. It distinguishes from sibling tools like list_catalog or list_pipelines by naming the specific resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as list_catalog or list_pipelines. There are no exclusions or context about prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_uploadsA

List all uploads (extract + load jobs) in the organization.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavior. It states the tool lists uploads but does not explicitly confirm it is read-only, non-destructive, or describe any side effects, permissions, or rate limits. The description relies on the agent assuming a list operation is safe, which is not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that immediately communicates the core purpose. Every word earns its place, with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and an output schema (presumably documenting return values), the description is minimally adequate. However, it lacks usage context among siblings and does not explain behavioral aspects like pagination or ordering. More detail would improve completeness for an agent navigating multiple list tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, and schema coverage is 100%. According to guidelines, 0 parameters yields a baseline of 4. The description does not need to add parameter information and does not detract from clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all uploads and clarifies that uploads are extract+load jobs. It specifies the scope ('in the organization') and the verb 'list', making the purpose unambiguous. Although no sibling tool also lists uploads, the description differentiates from other list tools by defining the resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like list_transformations or list_catalog. There is no mention of prerequisites, use cases, or exclusions. The agent is left to infer context from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

preview_transformationA

Compile and execute a transformation, returning preview rows.

Args: transformation_id: The transformation to preview. limit: Max rows to return (default 100, max 1000).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
transformation_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries burden. It mentions compilation and execution but does not disclose whether it modifies state, cost implications, or safety for repeated calls. For a preview tool, likely safe but not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise: two lines plus Args list. Front-loaded with purpose, no redundant words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Has output schema so return values are covered externally. Covers main parameters but could mention prerequisites (e.g., transformation must exist). Adequate for a simple preview tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but description adds meaning: explains transformation_id as required and limit with default and max. This adds value beyond the schema's type information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it compiles and executes a transformation to return preview rows. This distinguishes it from sibling tools like trigger_pipeline (full execution) and list_transformations (listing only).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implicitly suggests use for previewing without full execution, but does not explicitly state when not to use or direct to alternatives. Lacks explicit usage context compared to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trigger_pipelineA

Trigger a pipeline run (dbt build/run/test).

Requires --allow-write.

Args: pipeline_id: The pipeline to run. wait: If true, block until the run completes (up to 120s).

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNo
pipeline_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must bear the burden. It discloses the 'wait' parameter's blocking behavior up to 120s and the need for write access, but lacks details on error behavior, idempotency, or consequences of repeated triggers.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise—three sentences plus a brief args list. The main action is front-loaded ('Trigger a pipeline run') with no redundant or verbose content. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (2 parameters, no nested objects) and presence of an output schema, the description covers the essential behavior but omits aspects like rate limits, idempotency, or how to interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, the description effectively explains both parameters: pipeline_id is 'The pipeline to run' and wait is 'If true, block until the run completes (up to 120s).' This adds meaning beyond just type and name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Trigger a pipeline run') and specifies it pertains to dbt operations (build/run/test). It distinguishes from sibling tools like 'list_pipelines' and 'get_run' by focusing on initiating executions rather than listing or retrieving.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Includes a prerequisite ('Requires --allow-write') but does not explain when to use this tool over alternatives (e.g., 'trigger_upload' or scheduled runs). No explicit guidance on context where this is preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trigger_uploadA

Trigger an upload run.

Requires --allow-write.

Args: upload_id: The upload to run. wait: If true, block until the run completes (up to 120s).

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNo
upload_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description partially compensates by noting the 'wait' parameter can block for up to 120s and that --allow-write is needed. However, it fails to disclose timeout behavior, idempotency, or side effects, leaving gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, with two clear sentences plus parameter definitions. Every sentence adds value, and the structure is front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, the description is adequate but incomplete. It does not explain return values (though output schema exists), error scenarios, or what constitutes an 'upload run'. More detail on expected behavior would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description successfully adds meaning: 'upload_id' is identified as the upload to run, and 'wait' is explained as blocking up to 120s. This goes beyond the schema's basic type and default information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Trigger an upload run,' using a specific verb and resource. It distinguishes from sibling tools like 'trigger_pipeline' and 'list_uploads' by focusing on upload runs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions 'Requires --allow-write,' implying a permission requirement, but lacks explicit guidance on when to use this tool vs alternatives like 'bulk_import' or 'trigger_pipeline'. Usage context is implied but not clearly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 14 tool updatesv0.2.0
    • First observedbulk_import
    • First observedcreate_connection
    • First observedcreate_transformation
    • First observedget_catalog_entry
    • First observedget_run
    • First observedget_run_logs
    • First observedlist_catalog
    • First observedlist_pipelines
    • First observedlist_runs
    • First observedlist_transformations
    • First observedlist_uploads
    • First observedpreview_transformation
    • First observedtrigger_pipeline
    • First observedtrigger_upload

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct action and resource (e.g., create_connection vs create_transformation, list_runs vs get_run), with clear descriptions that avoid overlap. Even similar operations like list vs get are distinguished by scope and parameters.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_connection, list_pipelines, trigger_upload). The naming is predictable and uniform across the entire set.

Tool Count5/5

14 tools is well within the optimal 3-15 range. They cover the platform's core domains (connections, transformations, pipelines, uploads, catalog, runs) without being excessive or too sparse.

Completeness3/5

The tool set covers core create, list, get, and trigger operations, but lacks update and delete tools for connections, transformations, pipelines, or uploads. Also missing cancel for runs, which limits lifecycle management and could cause agent dead ends.

Maintenance

ActivityMaintained
ResponsivenessResponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server with 32 tools for ETL ingestion, AI-generated data quality rules, AI transformations, vector search, and natural-language SQL. Works across Postgres, MongoDB, Kafka, S3/MinIO, HashiCorp Vault, and five vector stores (Qdrant, Weaviate, Milvus, Chroma, pgvector).
    12
    AGPL 3.0
  • A
    license
    B
    quality
    A
    maintenance
    A read-only MCP server that exposes dbt project artifacts and data quality result tables (BigQuery/Postgres) to LLM clients, enabling deep introspection, run-history analysis, source freshness, test coverage, and lineage walks.
    27
    74
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    MCP server providing backend access to PostgreSQL, Storage (Supabase/S3), Iceberg data lake, and SQL seeds. It offers 32 tools for database queries, storage operations, seed management, and more.
    31
    3
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server providing read-only Snowflake metadata tools (schemas, tables, queries, lineage) for agentic data pipeline generation, enabling natural-language-to-pipeline workflows with dbt, Airflow, and Great Expectations.
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/datanika-io/datanika-core'

If you have feedback or need assistance with the MCP directory API, please join our Discord server