duckdb-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SCHEMA | No | Default schema. Corresponds to the --schema option. Default: 'main'. | main |
| INIT_SQL | No | Path to a SQL file executed once on startup. Corresponds to the --init-sql option. | |
| READ_ONLY | No | Set to 'true' to open the database read-only, 'false' for read-write. Corresponds to the --read-only flag. Default: 'false'. | false |
| DATABASE_PATH | No | Path to the DuckDB database. Use ':memory:' for an in-memory database. Corresponds to the --db/--database option. Default: ':memory:'. | :memory: |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| queryB | Execute a SQL SELECT query and return the results. |
| executeA | Execute a SQL statement (INSERT, UPDATE, DELETE, CREATE, ...) without returning rows. |
| read_csvC | Read a CSV file into a table. |
| read_parquetC | Read a Parquet file into a table. |
| list_catalogsA | List all catalogs. |
| list_databasesA | List all databases. |
| list_schemasA | List all schemas. |
| list_tablesA | List all tables in the current schema. |
| list_columnsB | List the columns of a table. |
| list_extensionsA | List loaded extensions. |
| list_environmentsA | List environment variables as key: value, with values masked (**** / empty). |
| check_versionA | Check the DuckDB version. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Each tool targets a distinct action or resource: query vs execute clearly separate read vs write operations, read_csv vs read_parquet handle different file formats, and the list_* tools each inspect a unique metadata level (catalogs, databases, schemas, tables, columns, extensions, environments). There is no overlap or ambiguity.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., list_tables, read_csv, check_version). The verbs vary appropriately for the action, but the naming style is uniform and predictable.
With 12 tools, the server is well-scoped for a DuckDB interface. The set covers querying, executing statements, file ingestion, and metadata inspection without being bloated or too sparse.
Core workflows are covered: SQL query/execute, CSV/Parquet ingestion, and full metadata listing. Minor gaps exist, such as no write_csv/write_parquet output tools and no extension management beyond listing, but these are not critical for most DuckDB use cases.