DuckDB / MotherDuck MCP:让智能体用 SQL 分析本地数据
MotherDuck 官方的 DuckDB MCP。智能体用分析型 SQL 查本地文件、S3 上的库或 MotherDuck 云,默认只读,无需部署数据库。
项目与安装文档
查看项目https://github.com/motherduckdb/mcp-server-motherduck
手上有一堆导出的数据,想让智能体做几轮分组统计,专门搭个分析数据库太麻烦。DuckDB 是嵌入式的分析数据库,一个文件或者一块内存就能跑列式 SQL。这个由 MotherDuck 官方维护的 MCP 服务把它交给智能体,同一套工具既能接本地文件,也能接 S3 和 MotherDuck 云。截至 2026-10-06 约 530 star。
能做什么
- 跑 SQL:
execute_query用 DuckDB 方言执行查询,结果默认最多 1024 行、5 万字符,可用--max-rows、--max-chars调整。 - 看目录:
list_databases、list_tables、list_columns浏览库、表和列。 - 切换连接:加
--allow-switch-databases后,switch_database_connection可以在本地文件、S3 和 MotherDuck 之间切换。 - 控制风险:默认只读,
--read-write才开放写入;--query-timeout限制查询时长,--init-sql在启动时执行初始化语句。 - 云端细节:连 MotherDuck 靠
motherduck_token环境变量或--motherduck-token;DuckDB 用HOME环境变量找扩展和配置文件,容器里没设就要用--home-dir指定;读 S3 等云存储时也认AWS_SESSION_TOKEN这类临时凭据。
适合谁
- 想让 Claude 直接对本地 DuckDB 文件做探索式分析的数据分析师。
- 已经在用 MotherDuck、希望在 IDE 里让智能体查云端数据的数据工程师。
接入方式
需要 uv。以只读方式连一个本地 DuckDB 文件(Claude Code):
claude mcp add --scope user duckdb --transport stdio -- uvx mcp-server-motherduck --db-path /absolute/path/to/db.duckdb
编辑点评
数据这一格里,它和处理消息流的 Confluent MCP 分工不同,自己管分析查询。分析型数据库这一格选它而不是 ClickHouse 的服务,是因为门槛低:没有服务要部署,一个文件就能开始,需要上云时再切到 MotherDuck。只读默认值和行数上限也让它适合放心试。要注意,开发模式示例同时打开了 --read-write 和 --allow-switch-databases,智能体能读写本机任意 DuckDB 文件、导出到本地文件系统。README 也提醒,只读模式仍能访问本地文件系统和修改 DuckDB 设置,要给第三方用,应改用 MotherDuck 托管的远程服务,或用专门的服务账号配 read-scaling token,再开 SaaS 模式限制本地文件访问、配合 --init-sql 加安全设置。MotherDuck 只读连接需要专门的 read-scaling token,普通 token 必须加 --read-write。许可证为 MIT。