mcp-server-duckdb
The mcp-server-duckdb server enables interaction with a DuckDB database through SQL operations and schema management:
Execute SQL Queries: Run SELECT, INSERT, UPDATE, DELETE statements
Schema Management: List tables, describe table schemas, create new tables
Security Options: Operate in read-only mode to prevent write operations
Configuration: Customizable via command-line parameters (database path, read-only mode, connection reuse)
Integration: Works with Claude Desktop and can be debugged using MCP Inspector tool
The server provides a unified query interface that allows modern LLMs to generate appropriate SQL for any supported database operation.
Provides database interaction capabilities with DuckDB through MCP tools, allowing for operations like querying, table creation, and schema inspection
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-server-duckdbshow me the top 10 customers by total sales"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-server-duckdb
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.
Overview
This server enables interaction with a DuckDB database through the Model Context Protocol, allowing for database operations like querying, table creation, and schema inspection.
Related MCP server: mcp-server-motherduck
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
Input:
query(string) - Any valid DuckDB SQL statementOutput: Query results as text (or success message for operations like CREATE/INSERT)
The server provides a single unifiedquery 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.
When the server is running inreadonly 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
The server will automatically create the database file and parent directories if they don't exist
If
--readonlyis specified and the database file doesn't exist, the server will fail to start with an error
Optional Parameters
--readonly: Run server in read-only mode (default:
false)Description: When this flag is set, the server operates in read-only mode. This means:
The DuckDB database will be opened with
read_only=True, preventing any write operations.If the specified database file does not exist, it will not be created.
Security Benefit: Prevents the Language Model (LLM) from performing any write operations, ensuring that the database remains unaltered.
Reference: For more details on read-only connections in DuckDB, see the DuckDB Python API documentation.
--keep-connection: Re-uses a single DuckDB connection mode (default:
false)Description: When this flag is set, Re-uses a single DuckDB connection for the entire server lifetime. Enables TEMP objects & slightly faster queries, but can hold an exclusive lock on the file.
Installation
Installing via Smithery
To install DuckDB Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install mcp-server-duckdb --client claudeClaude Desktop Integration
Configure the MCP server in Claude Desktop's configuration file:
MacOS
Location: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows
Location: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"duckdb": {
"command": "uvx",
"args": [
"mcp-server-duckdb",
"--db-path",
"~/mcp-server-duckdb/data/data.db"
]
}
}
}Note:
~/mcp-server-duckdb/data/data.dbshould be replaced with the actual path to the DuckDB database file.
Development
Prerequisites
Python with
uvpackage managerDuckDB 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:
npx @modelcontextprotocol/inspector uv --directory ~/codes/mcp-server-duckdb run mcp-server-duckdb --db-path ~/mcp-server-duckdb/data/data.dbOpen the provided URL in your browser to access the debugging interface
The inspector provides visibility into:
Request/response communication
Tool execution
Server state
Error messages
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceA Model Context Protocol server implementation that connects AI assistants to DuckDB, enabling them to query and analyze data from various sources including CSV, Parquet, JSON, and cloud storage through SQL.Last updated17MIT
- Alicense-qualityDmaintenanceAn MCP server that enables SQL analytics on DuckDB and MotherDuck databases, allowing AI assistants and IDEs to query and analyze data.Last updatedMIT
- Alicense-qualityDmaintenanceA local MCP server implementation that interacts with DuckDB and MotherDuck databases, providing SQL analytics capabilities to AI Assistants and IDEs.Last updatedMIT
- AlicenseAqualityCmaintenanceA Model Context Protocol (MCP) server that exposes tools for exploring and querying SQLite and PostgreSQL databases. It allows Large Language Models (LLMs) to inspect table structures, perform statistical profiling, generate entity-relationship diagrams, and execute queries safely.Last updated7MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
GibsonAI MCP server: manage your databases with natural language
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/ktanaka101/mcp-server-duckdb'
If you have feedback or need assistance with the MCP directory API, please join our Discord server