duckdb-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AWS_PROFILE | No | AWS profile name for S3 authentication. | |
| AWS_ACCESS_KEY_ID | No | AWS access key ID for S3 authentication. | |
| DUCKDB_MCP_TIMEOUT | No | Query timeout in seconds. | 120 |
| DUCKDB_MCP_MAX_ROWS | No | Maximum rows per result. | 500 |
| DUCKDB_MCP_MAX_BYTES | No | Maximum result text size in bytes (200 KB). | 200000 |
| AWS_SECRET_ACCESS_KEY | No | AWS secret access key for S3 authentication. |
Capabilities
Features and capabilities supported by this server
| 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 |
|---|---|
| queryA | Run a read-only DuckDB SQL statement and return the rows as a markdown table. Only a single SELECT (including WITH/DESCRIBE/SUMMARIZE/SHOW) or EXPLAIN
statement is accepted; anything that writes data, files or settings is
rejected. Read files by quoting their path in the FROM clause, e.g.
Args: sql: The statement to run. max_rows: Row cap for this call (defaults to the server's limit). |
| describe_fileA | Return the column names and types of a data file, plus its row count. Works for any path DuckDB can read -- csv, parquet, json/ndjson, xlsx, compressed variants, globs matching many files, http(s) URLs and s3 URIs. Args: path: File path, glob or URL, e.g. 'data/sales_*.parquet'. include_row_count: Set False to skip counting rows on very large inputs. |
| preview_fileA | Show the first rows of a data file so you can see real values. Args: path: File path, glob or URL. rows: How many rows to show (default 20). |
| list_filesA | List data files in a directory (local, or an s3:// prefix). Args: path: Directory or bucket prefix to list. pattern: Glob pattern for the file name, e.g. '*.parquet'. recursive: Descend into subdirectories. data_files_only: Keep only extensions DuckDB can read; set False to see everything. |
| profile_columnsA | Profile a file's columns: null counts, approximate distinct counts, min/max and the most frequent values of low-cardinality columns. This scans the whole file, so prefer describe_file when you only need types. Args: path: File path, glob or URL. columns: Restrict to these columns (default: all). top_k: Number of most-frequent values to show; 0 to skip that pass. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lab1702/duck-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server