DuckDB MCP
Executes SQL against DuckDB with read-only mode for analytical queries and Parquet or CSV exploration.
Delv Safety Grade: B
Score 72/100 · assessed 2026-04-28
DuckDB MCP is a community server from solo maintainer ktanaka101 that executes SQL queries against DuckDB databases. The read-only default mode is a strong safety feature for LLM-driven queries, limiting blast radius to data exfiltration rather than corruption. The server requires filesystem read access to load Parquet and CSV files, and can execute arbitrary SQL within DuckDB's sandbox. Distribution via PyPI as mcp-server-duckdb with uvx installation is standard and reasonably verifiable. The repository is open source with basic documentation, though activity appears modest. No known security incidents. Main risk is that SQL execution, even read-only, can be used to exfiltrate sensitive data files if the LLM is prompted maliciously. The maintainer is a solo developer with limited track record, raising bus factor concerns. Overall a competent implementation with sensible defaults, but community provenance and single-maintainer status warrant caution.
Lethal Trifecta (prompt-injection exposure)
ONE OF THREELocal DB.
Green flags
- Read-only mode by default prevents data corruption
- DuckDB provides sandboxed SQL execution environment
- Standard PyPI distribution with uvx installation
- Open source with clear repository and documentation
- No environment variables or secrets required
Red flags
- Solo maintainer with limited public track record
- Read-only mode can still exfiltrate sensitive data via SQL queries
- Filesystem read access allows scanning arbitrary local files
- Modest repository activity suggests potential maintenance risk
Permissions requested
Install
uvx mcp-server-duckdb
Review
Install this if you're already comfortable with DuckDB and want to query local files or in-memory data through Claude. Skip it if your data lives in a remote database or if you need write access regularly. It's a sharp tool for a specific job, not a general-purpose database client.
Good at
- Read-only by default prevents accidental data corruption during exploratory queries.
- Handles Parquet and CSV natively, so you can query files without importing them first.
- In-memory mode is fast for small datasets and doesn't require a database file.
- DuckDB's SQL dialect is close to Postgres, so queries feel familiar if you know standard SQL.
- Installation is a single command with no external dependencies beyond Python.
Watch out
- Memory usage spikes on large datasets because DuckDB loads data into RAM for performance.
- No direct access to DuckDB extensions like spatial or JSON functions without pre-configuring the database.
- Error messages from DuckDB are terse and Claude sometimes misinterprets them, requiring manual debugging.
- Only useful if your data is local or you're comfortable with DuckDB's file formats.
- Write mode requires manual config and trust in your prompts, which isn't ideal for production workflows.
Use cases
- analytical SQL
- Parquet exploration
- ad-hoc data science
- local warehouse queries
Getting started
Works with
Similar MCPs
- NeonNeon's official MCP for serverless Postgres. Manage projects, branches, and run SQL against any of your databases.
- SupabaseSupabase's official MCP — query Postgres, manage auth, inspect storage buckets, all from your agent.
- PostgresQuery Postgres databases with natural language. Read-only access by default - the agent sees your schema and runs SELECT queries safely.
- ClickHouseClickHouse MCP for fast analytical queries. Built by ClickHouse Inc, supports cluster topology discovery.