数据库#数据分析

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。