SuperAPI AI 工具集

motherduck-connect

数据与分析

查看项目

更新于 10-15 14:55

技能介绍

用途

MotherDuck Connect 用于设置或排查 MotherDuck 的连接、认证、客户端运行时以及读取扩展(read scaling)。它面向需要连接 MotherDuck 的开发者与数据工作者,帮助选择正确的连接路径并完成验证。

主要能力

  • 连接方式选择:为后端应用、BI 工具和无服务器运行时推荐 PG endpoint(MotherDuck 的 Postgres 兼容端点);在需要本地文件、本地/云端混合执行或直接 DuckDB 控制时使用原生 DuckDB API;在多数据库探索、引导流程和临时验证环境使用 md: 工作区连接。
  • 认证与令牌处理:将 MotherDuck 令牌放入环境管理的密钥中,而不是源代码;复用用户上下文中已有的连接、连接器或环境管理的令牌,不索取可从活动工作区发现的密钥。
  • 运行时选择:将连接方式与运行时分开考虑,运行时包括 MotherDuck MCP、MotherDuck CLI、Python 或 Node 进程、DuckDB CLI。对于回答、审查或规划类请求,先检查可用运行时并推荐路径而不安装任何东西;仅在用户要求连接、构建或更改应用时才安装或配置运行时。
  • 版本固定:在安装 DuckDB 客户端前检查 https://motherduck.com/docs/duckdb-versions.json 并固定 MotherDuck 支持的版本;除非任务需要升级,否则保留已有的兼容固定版本。
  • 读取扩展评估:如果工作负载是读取密集且并发的,评估读取扩展和 session_hint;从单个连接开始,仅在存在真实并发读取压力时才添加连接池或读取扩展。
  • 连接验证:使用 SELECT 1 AS connected 验证连接,然后列出可访问的表。

使用方式

该技能建议按以下工作流操作:

  1. 为工作负载选择连接路径;当摄取路径与服务路径需求不同时,保持二者分离。
  2. 将 MotherDuck 令牌放入环境管理的密钥中,而非源代码。
  3. 在需要时使用显式 SSL 设置建立连接。
  4. 使用 SELECT 1 AS connected 验证连接,然后列出可访问的表。
  5. 如果工作负载读取密集且并发,评估读取扩展和 session_hint。

参考资料方面,仅阅读当前任务所需的参考章节:references/CONNECTION_GUIDE.md 涵盖连接方式选择、PG endpoint 与原生 DuckDB 示例、令牌处理、读取扩展、attach 模式以及常见失败模式;references/RUNTIME_SELECTION.md 涵盖 MCP 与 Python、Node、CLI 的决策树、检测命令、安装片段以及 DuckDB 版本固定工作流。

如果可用的 MotherDuck MCP ask_docs_question 工具,应优先使用它获取当前连接行为;不可用时,在对接字符串、令牌类型或读取扩展行为做出明确断言前,应依据公开文档核实。

适用场景

  • 为后端应用、BI 工具(如当前文档列为支持的 Power BI 和 Tableau Cloud)或无服务器运行时配置 Postgres 线协议兼容的连接。
  • 需要本地文件、本地/云端混合执行或直接 DuckDB 控制时配置原生 DuckDB API。
  • 多数据库探索、引导流程和临时验证环境。
  • 排查连接、认证、运行时或读取扩展相关问题。
  • 在聊天式探索中使用 MCP,在文件形态的 Dive/Flight 工作或大输出场景使用 MotherDuck CLI。

限制

  • 资料未提供具体的安装命令、代码示例或价格信息。
  • 关于连接字符串、令牌类型或读取扩展行为的具体细节,需依据当前公开文档核实,资料未给出具体值。
  • 该技能本身不执行查询或管理操作;相关能力由关联技能提供:motherduck-explore 用于发现数据库、表、列和共享;motherduck-query 用于执行 DuckDB SQL;motherduck-duckdb-sql 用于 DuckDB 语法与函数查询;motherduck-rest-api 用于控制平面管理操作(使用 MOTHERDUCK_ADMIN_TOKEN,该令牌从不用于数据库连接);motherduck-cli 用于终端查询和面向文件的 Dive/Flight 编写。
  • 仅在缺少能力时加载相关技能,并复用已建立的上下文。