The Airflow REST API as tools — DAGs, runs, task instances, logs, connections and datasets — with a --read-only mode for looking without triggering.
Data pipeline desk
Keeps the ingestion syncs, the Airflow DAGs and the dbt models moving, and explains a failed run before the dashboard goes stale.
Built for: The data engineer who owns the nightly load, the models on top of it, and the message at nine that says the numbers look wrong.
The button opens the checkout, where the 4 servers and 6 skills are listed one by one. Every member is free, so the checkout lists them and asks for no card.
What your agent can do with this
The reason to buy a stack rather than five listings: each line below needs more than one member connected at the same time.
- 01
Find the failed Airflow task, read its log, and say whether the cause was upstream data, code or the connection.
- 02
Read the job and attempt logs of an Airbyte sync that failed, on the connection where it failed.
- 03
Change a dbt model, run its tests and unit tests, and show which downstream models the change reaches.
- 04
Query ClickHouse to check that the rows the model promised actually arrived.
The assembly, part by part
What each part contributes, and why it was picked over the obvious alternative. Prices and permissions are read from the listings, so nothing here can disagree with the catalogue.
The Airbyte public API, self-managed or Cloud: connections, sync jobs and their logs, so a failed load is read where it failed.
Runs, builds and tests dbt Core models and reads lineage and impact, from the project on disk.
ClickHouse's official server: list databases and tables and run queries against the warehouse the models land in.
Astronomer's guide to operating Airflow — listing and triggering DAGs, retrying runs, reading task logs, fixing import errors.
Astronomer's root-cause procedure for a failing DAG, ending in a fix and a prevention note rather than a retry.
dbt Labs' own skill for building and changing models with ref() and source(), tests, and checking results with dbt show.
dbt Labs' unit-test YAML with mocked inputs, so a model's logic is tested without the warehouse.
Runs a dbt Core project as Airflow tasks with Astronomer Cosmos, one checklist from engine to warehouse.
Great Expectations, dbt tests and data contracts, for the checks that catch bad data before a dashboard does.
What it costs, and on what assumption
Every member is free, so the monthly figure is $0 whatever you do with the stack: nothing here is billed by the call, and only adding a paid member could change it.
| Part | What you are paying for | Monthly, as quoted |
|---|---|---|
| Apache Airflow | Free | — |
| Airbyte | Free | — |
| Dbt Core | Free | — |
| ClickHouse | Free | — |
| Skills | ||
| Airflow Operations | Free · context cost only | — |
| DAG Diagnosis | Free · context cost only | — |
| Using dbt for Analytics Engineering | Free · context cost only | — |
| Add unit test for a dbt model | Free · context cost only | — |
| Cosmos + dbt Core: Implementation Checklist | Free · context cost only | — |
| Data Quality Frameworks | Free · context cost only | — |
| Everything above | $0 of servers plus $0 of skills, the same in a quiet month and a busy one | $0/mo |
Subscriptions at their monthly plan price; one-off licences spread over 12 months.
Install only these and the bill is nothing: 4 servers and 6 skills, and all 36 tools.
Nothing in this stack carries a call allowance, so nothing here can run out before the month does. The bill is decided when you install it, not when you use it.
The spend cap is one figure for the whole account, set in your dashboard and checked when an order is placed. On the call path what stops a retry loop is the plan's call allowance and its rate limit, and a refused call is never billed.
Setting it up, in order
The steps below come before the install lines: what to decide and scope before connecting anything, in the order it matters. The lines themselves follow, part by part, for the client you pick.
npx mcprush@latest stack add data-pipelines writes all 4 servers into Claude Code’s config in one go — or run the lines below one by one. The 6 skills are not included — add them with lines 05–10.
- ClickHouse
CLICKHOUSE_HOST— Hostname of the ClickHouse serverCLICKHOUSE_USER— Username for ClickHouse authenticationCLICKHOUSE_PASSWORD— Password for ClickHouse authentication
Set them where you start Claude Code — export CLICKHOUSE_HOST=… in your shell profile on macOS and Linux, setx CLICKHOUSE_HOST "…" on Windows, then open a new terminal. Claude Code reads them at start; the config keeps only the names.
# 01 · Apache Airflow
claude mcp add --scope user apache-airflow-mcp '--' uvx mcp-server-apache-airflow
# 02 · Airbyte
claude mcp add --scope user airbyte-mcp '--' uvx --with 'mcp<2' airbyte-mcp
# 03 · Dbt Core
claude mcp add --scope user dbt-core-mcp '--' uvx dbt-core-mcp
# 04 · ClickHouse
claude mcp add --scope user --env 'CLICKHOUSE_HOST=${CLICKHOUSE_HOST}' --env 'CLICKHOUSE_USER=${CLICKHOUSE_USER}' --env 'CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD}' --transport stdio clickhouse-mcp '--' uvx mcp-clickhouse
# 05 · Airflow Operations
npx mcprush@latest skill add astronomer/airflow-operations
# 06 · DAG Diagnosis
npx mcprush@latest skill add astronomer/dag-diagnosis
# 07 · Using dbt for Analytics Engineering
npx mcprush@latest skill add dbt-labs/using-dbt-for-analytics-engineering
# 08 · Add unit test for a dbt model
npx mcprush@latest skill add dbt-labs/add-unit-test-for-a-dbt-model
# 09 · Cosmos + dbt Core: Implementation Checklist
npx mcprush@latest skill add astronomer/cosmos-dbt-core-implementation-checklist
# 10 · Data Quality Frameworks
npx mcprush@latest skill add wshobson/data-quality-frameworksRequirements and Windows tips
- Node.js 20 or newer (for
npx). - uv (for
uvx, docs.astral.sh/uv). - Windows PowerShell says 'running scripts is disabled on this system'? Run
Set-ExecutionPolicy -Scope CurrentUser RemoteSignedonce, or typenpx.cmdinstead ofnpx(codex.cmd,gemini.cmd,grok.cmdlikewise). PowerShell 7 needs neither.
Nothing is connected until you approve it in Claude Code. mcprush is not in the path and meters nothing here.
- 1 member wants an API key, set in your own client’s config on your machine — this marketplace never holds it.
- 3 members have not declared what credential they need — check each one’s own page before you start.
- What this stack can write is not recorded — 3 members of 4 have no imported tool surface. Section 05 says what is known before you approve anything.
- 4 members are connected straight from their own package or address — nothing in them goes through mcprush.
What the whole stack can reach
Installed together, these tool surfaces add up. It is the first thing a security reviewer asks for, so what has been counted — and what nobody has counted yet — is on the page rather than in a PDF.
| Member | Tool surface | Write tools |
|---|---|---|
| Airbyte | imported | 13 |
| Apache Airflow | not imported | not recorded |
| ClickHouse | not imported | not recorded |
| Dbt Core | not imported | not recorded |
A stack's blast radius is the union of its members, not the worst of them. That union cannot be taken here, because 3 members of 4 have no imported tool surface — so the figure a review asks for is missing rather than low, and a member marked not imported is one nobody has counted rather than one that cannot write.
1 skill in this stack instructs the agent to write — Using dbt for Analytics Engineering. A skill holds no permission of its own; it can only ask a server that already has the scope, and the approval gate still applies.
Sensible swaps
A stack is a default, not a verdict. These are the substitutions the maintainer would make, and what each one costs or saves.
Teams on Dagster get runs, failure summaries, asset health and backfills from a server over the Dagster GraphQL API.
If ingestion runs on Fivetran, manage and resync its connections and read their status there instead.
Where this stack stops
Written by the maintainer, kept on the page rather than in a support thread.
It does not deploy DAGs or change production connections on its own. The Airflow member has a read-only mode; this desk expects it.
The ClickHouse member keeps writes off unless CLICKHOUSE_ALLOW_WRITE_ACCESS is set. Leave it unset, and give it a read-only user as well.
It covers Airflow, Airbyte, dbt Core and ClickHouse. Another orchestrator or warehouse means a swap, not a setting.
Who keeps this current
A stack has an owner: whoever keeps it re-checks the combination when a member changes, and the members themselves are published by the people named on each row.
Other ready-made stacks
Code review
Tools to inspect code changes, run checks and prepare a pull request review.
Bug reproduction
Tools to investigate a bug report and work toward a reproducible test case.
On-call
Tools to investigate alerts, check recent changes and follow the runbook.