che-duckdb-mcp
Guide for using the che-duckdb-mcp MCP tools to search DuckDB documentation and operate local DuckDB databases. Use when user asks about DuckDB SQL syntax, DuckDB functions (read_csv, json_extract, etc.), querying local .duckdb files, or anything related to DuckDB.
What this skill does
# che-duckdb-mcp — DuckDB Documentation & Local Database
14 tools split into documentation queries (8) and local database operations (6). The MCP runs the tools; this skill tells you *when* to use them vs alternatives.
## Decision tree: which tool for which question?
### "How do I use DuckDB function X?"
```
mcp__plugin_che-duckdb-mcp_duckdb__get_function_docs { function_name: "X" }
```
- Supports fuzzy matching: `read_csvs` → `read_csv`, `JSON_EXTRACT` → `json_extract`
- **Prefer this over WebFetch** — offline cached, Levenshtein-tolerant
- **Prefer this over Grep** — already indexed by the parser
### "What's the DuckDB SQL syntax for X?"
```
mcp__plugin_che-duckdb-mcp_duckdb__get_sql_syntax { statement: "COPY" } # SELECT, INSERT, CREATE TABLE, etc.
```
- Use for SQL statements (SELECT, INSERT, CREATE, COPY, ATTACH, etc.)
- For general concepts ("window functions", "CTEs") use `search_docs` instead
### "Search DuckDB docs for keyword X"
```
mcp__plugin_che-duckdb-mcp_duckdb__search_docs { query: "window functions", mode: "all", limit: 10 }
```
- Uses TF-IDF ranking (not substring match) — order matters, first result is usually best
- `mode`: `title` (fastest), `content`, `all` (default)
- Results include `source` field: `llms.txt` (concise) or `duckdb-docs.md` (full); llms.txt hits get 1.5× score bonus
- **Prefer this over WebFetch duckdb.org** — offline, ranked, no network round trip
### "Show me section X of the docs"
```
mcp__plugin_che-duckdb-mcp_duckdb__list_sections [{ level: 2 }] # browse structure
mcp__plugin_che-duckdb-mcp_duckdb__get_section { id: "..." } # fetch by anchor id
mcp__plugin_che-duckdb-mcp_duckdb__get_section { title: "COPY" } # fuzzy title match
```
### "List all DuckDB functions"
```
mcp__plugin_che-duckdb-mcp_duckdb__list_functions
```
### "My doc results look outdated"
```
mcp__plugin_che-duckdb-mcp_duckdb__refresh_docs # force re-download both llms.txt + duckdb-docs.md
mcp__plugin_che-duckdb-mcp_duckdb__get_doc_info # shows per-source lastUpdated, sectionCount, cachePath
```
Normally not needed — the MCP uses ETag/Last-Modified conditional HTTP caching, so it auto-refreshes when upstream changes.
---
## Local database operations
### "Connect to a .duckdb file"
```
mcp__plugin_che-duckdb-mcp_duckdb__db_connect { path: "/abs/path/to/file.duckdb", read_only: true }
```
- `path` omitted → in-memory database
- **Storage version check** happens automatically before opening — incompatible files return a structured `storageVersionMismatch` error with upgrade suggestion
- For **remote / MotherDuck cloud** databases, use `mcp-server-motherduck` instead (this MCP is local-only)
### "Run a SELECT query"
```
mcp__plugin_che-duckdb-mcp_duckdb__db_query { sql: "SELECT ...", format: "markdown", limit: 1000 }
```
- Allowed: SELECT / WITH / SHOW / DESCRIBE / EXPLAIN / PRAGMA
- DDL / DML → `db_execute`
- `format`: `json` (default), `markdown` (best for reading), `csv`
- Default `limit: 1000` — override explicitly if user needs full table
### "Run CREATE / INSERT / UPDATE / DELETE"
```
mcp__plugin_che-duckdb-mcp_duckdb__db_execute { sql: "CREATE TABLE ... AS SELECT ..." }
```
### "What tables are there? What's this table's schema?"
```
mcp__plugin_che-duckdb-mcp_duckdb__db_list_tables [{ include_views: true, schema: "main" }]
mcp__plugin_che-duckdb-mcp_duckdb__db_describe { table: "users" } # by name
mcp__plugin_che-duckdb-mcp_duckdb__db_describe { query: "SELECT a+b FROM t" } # result schema
```
### "What version / state is the DB in?"
```
mcp__plugin_che-duckdb-mcp_duckdb__db_info
```
Returns DuckDB engine version, `swiftBindingRevision` (pinned), connection path, table count, read-only state.
---
## When NOT to use this MCP
| User wants | Use instead |
|------------|-------------|
| MotherDuck cloud database | `mcp-server-motherduck` |
| Remote / S3 .duckdb files | `mcp-server-motherduck` (supports `s3://`) |
| DuckDB installation / build guide | WebFetch `duckdb.org/docs/installation` |
| Very recent DuckDB release notes (hours old) | WebFetch `github.com/duckdb/duckdb/releases` |
| Writing SQL for other dialects (Postgres, SQLite) | Don't use this — DuckDB-specific |
## Error messages to expect
**Real DuckDB errors now surface cleanly** (as of v2.0.0):
- `Binder Error: Referenced column "X" not found in FROM clause! Candidate bindings: "Y"` — typo in column name
- `Catalog Error: Table with name X does not exist! Did you mean "Y"?` — typo in table name
- `Parser Error: syntax error at or near "X"` — SQL syntax problem
- `storageVersionMismatch` — file newer than current duckdb-swift
Previously these were all `DuckDB.DatabaseError error N` opaque strings — if you see that, the MCP binary is outdated and needs rebuild from the fix commit `a8b5a88` or later.
## Architecture notes
- MCP source: https://github.com/PsychQuant/che-duckdb-mcp
- `duckdb-swift` pinned to commit `d90cf8d` (DuckDB v1.5.0-dev)
- Docs cache at `~/.cache/che-duckdb-mcp/` (llms.txt + duckdb-docs.md + cache-meta.json)
- Both documentation sources are merged into a single TF-IDF inverted index at startup
Related in Backend & APIs
jfrog
IncludedInteract with the JFrog Platform via the JFrog CLI and REST/GraphQL APIs. Use this skill when the user wants to manage Artifactory repositories, upload or download artifacts, manage builds, configure permissions, manage users and groups, work with access tokens, configure JFrog CLI servers, search artifacts, manage properties, set up replication, manage JFrog Projects, run security audits or scans, look up CVE details, query exposures scan results from JFrog Advanced Security, manage release bundles and lifecycle operations, aggregate or export platform data, or perform any JFrog Platform administration task. Also use when the user mentions jf, jfrog, artifactory, xray, distribution, evidence, apptrust, onemodel, graphql, workers, mission control, curation, advanced security, exposures, or any JFrog product name.
cupynumeric-migration-readiness
IncludedPre-migration readiness assessor for porting NumPy to cuPyNumeric. Use BEFORE substantial porting work begins when the user asks whether code will scale on GPU, whether they should migrate to cuPyNumeric, which NumPy patterns transfer cleanly, what must be refactored before porting, or mentions pre-port assessment, scaling analysis, or refactor planning. Inspect the user's source code, look up NumPy usage, cross-reference the cuPyNumeric API support manifest, and distinguish distributed-scaling-friendly patterns from blockers such as unsupported APIs, scalar synchronization, host round-trips, Python/object-heavy control flow, shape/data-dependent branching, and in-place mutation hazards. Produce a verdict of READY, LIGHT REFACTOR, SIGNIFICANT REFACTOR, or NOT RECOMMENDED, with concrete refactor pointers.
alibabacloud-data-agent-skill
IncludedInvoke Alibaba Cloud Apsara Data Agent for Analytics via CLI to perform natural language-driven data analysis on enterprise databases. Data Agent for Analytics is an intelligent data analysis agent developed by Alibaba Cloud Database team for enterprise users. It automatically completes requirement analysis, data understanding, analysis insights, and report generation based on natural language descriptions. This tool supports: discovering data resources (instances/databases/tables) managed in DMS, initiating query or deep analysis sessions, real-time progress tracking, and retrieving analysis conclusions and generated reports. Use this Skill when users need to query databases, analyze data trends, generate data reports, ask questions in natural language, or mention "Data Agent", "data analysis", "database query", "SQL analysis", "data insights".
token-optimizer
IncludedReduce OpenClaw token usage and API costs through smart model routing, heartbeat optimization, budget tracking, and native 2026.2.15 features (session pruning, bootstrap size limits, cache TTL alignment). Use when token costs are high, API rate limits are being hit, or hosting multiple agents at scale. The 4 executable scripts (context_optimizer, model_router, heartbeat_optimizer, token_tracker) are local-only — no network requests, no subprocess calls, no system modifications. Reference files (PROVIDERS.md, config-patches.json) document optional multi-provider strategies that require external API keys and network access if you choose to use them. See SECURITY.md for full breakdown.
resend-cli
IncludedUse this skill when the task is specifically about operating Resend from an AI agent, terminal session, or CI job via the official resend CLI: installing/authenticating the CLI, sending/listing/updating/cancelling emails, batch sends, domains and DNS, webhooks and local listeners, inbound receiving, contacts, topics, segments, broadcasts, templates, API keys, profiles, or debugging Resend CLI/API failures. Trigger on mentions of Resend CLI, `resend`, `resend doctor`, `resend emails send`, `resend domains`, `resend webhooks listen`, `resend emails receiving`, or agent-friendly terminal automation.
alibabacloud-odps-maxframe-coding
IncludedUse this skill for MaxFrame SDK development and documentation navigation on Alibaba Cloud MaxCompute (ODPS). Helps answer MaxFrame API, concept, official example, and supported pandas API questions; create data processing programs; read/write MaxCompute tables; debug jobs (remote or local); and build custom DPE runtime images. Trigger when users mention MaxFrame, MaxCompute with MaxFrame, ODPS table processing, DPE runtime, MaxFrame docs/examples, DataFrame/Tensor operations, or GPU runtime setup. Works for both English and Chinese queries about Alibaba Cloud data processing with MaxFrame.