mcp-server-motherduck is an open-source MCP server that connects an AI assistant to DuckDB databases and the MotherDuck cloud service. Through the server, an assistant can run DuckDB-dialect SQL and inspect database structure, including databases, tables, and columns. It can connect to a local DuckDB file, an in-memory database, an S3-hosted database, or MotherDuck, so the assistant can work with the data available through the configured connection.
The server runs locally or in a self-hosted environment. Its access depends on the connection paths and credentials supplied to it, and its write and database-switching capabilities are disabled unless explicitly enabled.
What can mcp-server-motherduck do?
The server exposes a query tool for executing DuckDB-dialect SQL. It also provides tools for listing databases, tables, and columns, giving an assistant a way to inspect available database structure before working with data. Database switching is supported when enabled, letting the server move among configured connection paths.
- Execute DuckDB-dialect SQL queries against the configured database.
- List databases, tables, and columns to inspect database structure.
- Connect to local DuckDB files and in-memory databases.
- Connect to S3-hosted databases or MotherDuck.
- Switch among configured database paths when database switching is enabled.
Query results have default row and character limits, and those limits can be configured. The server’s query tool is therefore suited to retrieving results within the configured bounds rather than assuming every result will be returned in full.
How mcp-server-motherduck connects and authenticates
mcp-server-motherduck runs locally or self-hosted and supports stdio or HTTP transport. For MotherDuck, it authenticates with an access token supplied through a command-line option or an environment variable. S3 connections can use supplied AWS credentials. The repository documents setup for Claude Desktop, Claude Code, Codex CLI, Gemini CLI, Cursor, and Kiro, and states that any MCP-compatible client can use the server. It does not describe a hosted server service for this project.
Who is mcp-server-motherduck best for?
Choose mcp-server-motherduck if you want an MCP-compatible assistant to query DuckDB data or inspect database structure through a server you run or self-host. It supports local and in-memory work as well as connections to S3-hosted databases and MotherDuck, making it relevant to people working across those configured data sources. For MotherDuck connections, you need a MotherDuck access token and a MotherDuck account or plan that provides the service access you need. The server itself is MIT-licensed; MotherDuck service pricing and usage charges are separate.
What mcp-server-motherduck can access and change
The server can access the database path and external resources configured for it. Access to S3 depends on the AWS credentials supplied, and the repository documents a SaaS mode that restricts local access. The server can execute queries and inspect database metadata. Write access is disabled by default; enabling it permits SQL writes, which can change database contents. The repository describes unrestricted development mode as having no guardrails. Database switching is also disabled by default; when enabled, it can switch to another configured local, S3, or MotherDuck connection. Query results are subject to configurable row and character limits.
Alternatives to mcp-server-motherduck
PostgreSQL MCP is a related option for working with PostgreSQL databases, while SQLite MCP is another database-focused server for SQLite. Supabase MCP Server is another option when the service you want to connect to is Supabase. These alternatives differ in the database or service they target; check each listing for its own connection methods and capabilities.