Duckle MCP
The MCP server of the Duckle platform: an agent builds, checks and runs DuckDB ETL pipelines on your machine
- 1,533 ★ on the repository
- Last commit
- Apache-2.0
Broad access
Why this level
- Runs pipelines that read and write databases, files and cloud storage through saved connections
- Manages saved connections that may hold access to production systems
- Downloads and runs the DuckDB engine and extensions on first launch
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/duckleDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Runs pipelines that read and write databases, files and cloud storage through saved connections
- Manages saved connections that may hold access to production systems
- Downloads and runs the DuckDB engine and extensions on first launch
This is third-party code. Review the repository files before installing.
What it does
Duckle is an open-source ETL platform built on DuckDB. A pipeline is authored on a canvas, in Python or in SQL, and stored as one file in git. The same file runs headless on your server on a schedule or in Docker. A built-in MCP server opens the platform to an agent. The agent sees the component catalog with property schemas, generates a pipeline into a chosen folder, then validates and runs it headlessly. It reads existing pipelines and run logs and manages saved connections. After a run the agent gets column-level data lineage. In the desktop studio the Connect to Claude button registers the server for you.
Who it is for. For data engineers and analysts who want Claude Code, Cursor or Codex to build and check ETL pipelines on their own infrastructure.
Good fit when
- You want an agent to assemble a CSV and Parquet pipeline on DuckDB and get a file that opens on the canvas
- Before running on real data you need to check that the pipeline compiles without touching the sources
- You need to run pipeline tests with fixed input rows right from the agent conversation
- You need to find where a column in the final table came from: after a run the agent returns column-level lineage
Not a fit when
- You only need a SQL query against DuckDB or MotherDuck: a simpler SQL MCP server fits better
- You need a managed cloud platform: Duckle runs on your server and offers no vendor cloud
- The machine must not run packages via uvx or download the DuckDB engine on first run
- Connections to production databases must not be entrusted to an agent: it manages saved connections and runs pipelines that write to sinks
Example request
Use duckle: list the available components, build a pipeline from orders.csv with an amount filter of 20 or more into Parquet and check it before runningMCP
- Transport
- stdio
- Authentication
- not required
Environment variables
DUCKLE_DUCKDB_BIN- Path to the duckdb executable when it is not on PATH.
Limitations
- The project is in beta and releases come often.
- Running pipelines needs the DuckDB CLI. With uvx it is fetched automatically, and a manual install uses pip install duckdb-cli. The validate command needs no engine.
- The desktop app takes 73 to 110 MB depending on the system, and DuckDB downloads on first launch. The optional local Duckie assistant adds about 1.1 GB.
- It runs on Windows, macOS and Linux, and Python wheels exist for x86-64 and arm64.
- The project is not affiliated with or endorsed by DuckDB Labs or MotherDuck.
How to disable. Run claude mcp remove duckle or delete the duckle entry from mcpServers in the client settings. An installed package is removed with pip uninstall duckle, and the desktop app uninstalls as usual. Downloaded engines live in the app data directory, for example ~/Library/Application Support/io.duckle.app/engines/ on macOS, and can be deleted by hand.
FAQ
How do I connect Duckle to Claude Code through MCP?
Run `claude mcp add duckle -- uvx duckle mcp`. You only need uv; it fetches everything else into a throwaway environment. After a restart ask the agent which components Duckle offers.
How does the agent check a Duckle pipeline before running it?
The validate_pipeline tool compiles the pipeline without touching the sources. The run_tests tool runs pipeline tests on fixed input rows and needs no shell access.
How is Duckle different from dbt?
Duckle builds and runs whole pipelines, from connecting sources to writing sinks, on DuckDB with a canvas, a Python interface and a scheduled server. dbt describes transformations inside a warehouse, and the catalog has a separate MCP server for it.
What does uvx duckle quickstart do?
It creates sample data and a pipeline, compiles it to SQL, runs it on DuckDB and shows the result rows.
Can I run Duckle pipelines in CI?
Yes. The pip install duckle package brings a command runner: duckle validate checks that each pipeline compiles with no sources and no network, and exit codes are stable: 0 for clean, 1 for a pipeline error, 2 if the runner could not start.
Discussion
No questions or reviews yet.
Related
MCP serversDuckDB / MotherDuck MCP Server
DuckDB / MotherDuck Local MCP Server
An MCP server for SQL analytics on DuckDB: local files, in-memory databases, S3-hosted databases and MotherDuck
A desktop SQL workspace with a built-in MCP server: the agent reads the schema and runs queries in the same client you already use
A lightweight database workspace with an MCP server: the agent reads the schema, runs queries and explores data in PostgreSQL, MySQL and more
Official Tableau MCP server: the agent finds data sources, sends queries to them and opens dashboards and Pulse metrics
A token-lean MCP server for PostgreSQL, MySQL, MariaDB, SQL Server and SQLite with a read-only mode
MCP server that connects Claude Code and Codex to an open R or Python session in RStudio and Positron, where your data lives
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| Duckle (this entry) | yes | not required | 1,533 | |
| DuckDB / MotherDuck MCP Server | yes | not required | 536 | an MCP server for SQL queries against DuckDB and MotherDuck, without building or running pipelines |
| dbt MCP | yes | API key | 614 | the official dbt Labs MCP: project metadata and running dbt commands in a warehouse |
| Dagu | yes | API key | 4,488 | a general-purpose workflow orchestrator with MCP and no data components or canvas |
README in short
The core idea is pipelines you own yourself. Besides the uvx quick start, the documentation covers a separate command-line runner, a per-version changelog and three ways to connect the MCP server to Claude, Cursor and other clients.