A Model Context Protocol (MCP) server implementation for DuckDB, providing database interaction capabilities through MCP tools.
It would be interesting to have LLM analyze it. DuckDB is suitable for local analysis.
This server enables interaction with a DuckDB database through the Model Context Protocol, allowing for database operations like querying, table creation, and schema inspection.
Components
Resources
Currently, no custom resources are implemented.
Prompts
Currently, no custom prompts are implemented.
Tools
The server implements the following database interaction tool:
query: Execute any SQL query on the DuckDB database
[!NOTE]
The server provides a single unified query function rather than separate specialized functions, as modern LLMs can generate appropriate SQL for any database operation (SELECT, CREATE TABLE, JOIN, etc.) without requiring separate endpoints.
[!NOTE]
When the server is running in readonly mode, DuckDB's native readonly protection is enforced.
This ensures that the Language Model (LLM) cannot perform any write operations (CREATE, INSERT, UPDATE, DELETE), maintaining data integrity and preventing unintended changes.
Configuration
Required Parameters
db-path (string): Path to the DuckDB database file
Optional Parameters
--readonly: Run server in read-only mode
Installation
Installing via Smithery
To install DuckDB Server for Claude Desktop automatically via Smithery:
Claude Desktop Integration
Configure the MCP server in Claude Desktop's configuration file:
Note: ~/mcp-server-duckdb/data/data.db should be replaced with the actual path to the DuckDB database file.
Development
Prerequisites
Python with uv package manager
DuckDB Python package
MCP server dependencies
Debugging
Debugging MCP servers can be challenging due to their stdio-based communication. We recommend using the MCP Inspector for the best debugging experience.
Using MCP Inspector
Install the inspector using npm:
Open the provided URL in your browser to access the debugging interface
A Model Context Protocol (MCP) server implementation for DuckDB, providing database interaction capabilities through MCP tools.
It would be interesting to have LLM analyze it. DuckDB is suitable for local analysis.
This server enables interaction with a DuckDB database through the Model Context Protocol, allowing for database operations like querying, table creation, and schema inspection.
Components
Resources
Currently, no custom resources are implemented.
Prompts
Currently, no custom prompts are implemented.
Tools
The server implements the following database interaction tool:
query: Execute any SQL query on the DuckDB database
[!NOTE]
The server provides a single unified query function rather than separate specialized functions, as modern LLMs can generate appropriate SQL for any database operation (SELECT, CREATE TABLE, JOIN, etc.) without requiring separate endpoints.
[!NOTE]
When the server is running in readonly mode, DuckDB's native readonly protection is enforced.
This ensures that the Language Model (LLM) cannot perform any write operations (CREATE, INSERT, UPDATE, DELETE), maintaining data integrity and preventing unintended changes.
Configuration
Required Parameters
db-path (string): Path to the DuckDB database file
Optional Parameters
--readonly: Run server in read-only mode
Installation
Installing via Smithery
To install DuckDB Server for Claude Desktop automatically via Smithery:
Claude Desktop Integration
Configure the MCP server in Claude Desktop's configuration file:
Note: ~/mcp-server-duckdb/data/data.db should be replaced with the actual path to the DuckDB database file.
Development
Prerequisites
Python with uv package manager
DuckDB Python package
MCP server dependencies
Debugging
Debugging MCP servers can be challenging due to their stdio-based communication. We recommend using the MCP Inspector for the best debugging experience.
Using MCP Inspector
Install the inspector using npm:
Open the provided URL in your browser to access the debugging interface