跳转到内容

通过 MCP 连接

D2B 的 MCP 服务器位于 https://d2b.dev/mcp/(Streamable HTTP)。认证有两种:宿主的登录(OAuth 2.1,在浏览器中批准,宿主自动续期 1 小时令牌)或 PAT 的 Bearer 头。工具与 REST / CLI / SDK 是同一套接口,每个工具都带类型化 schema 供工具调用(宿主的工具列表始终是最新的)。

连接时,初始化响应中的 instructions 包含运行规范(用哪个工具、何时用,文件按引用导入,派生用 transform,遇到 409 重新读取,在节点处 commit_snapshot,用 delete_workbook 清理 ……)。若宿主截断 instructions,同样的文本可作为资源 d2b://guide 读取。仓库里只需要连接方式和路径选择(从编码智能体使用 D2B)。

工作区的创建也可以通过 MCP 完成(provision_workspace / delete_workspace;需要具备 workspaces:create / workspaces:delete 范围的整账户密钥;固定到某个工作区的密钥无法创建同级工作区)。

只需登记 URL:宿主从 https://d2b.dev/mcp/ 的 401 发现授权服务器,并在浏览器中打开 D2B 的同意页面。页面显示应用名称、返回的宿主、授予的权限(workbooks 的 read / write / delete 以及 cloud-files:read),以及以哪个账户运行(默认账户或你的某个开发者账户),确认后批准。访问令牌有效 1 小时,宿主用刷新令牌续期。它会以 oauth:<应用名> 出现在控制台的 设置 > 令牌 中,因此可按连接逐个吊销。

应用名称由宿主自行申报,D2B 不作验证。遇到意料之外的同意页面请拒绝。宿主不支持 OAuth,或 CI 之类的无人环境,继续使用 PAT 的 Bearer 头。

Terminal window
claude mcp add d2b --transport http https://d2b.dev/mcp/

不带头登记时,首次使用会要求登录。无人环境改为传 PAT:

Terminal window
claude mcp add d2b --transport http https://d2b.dev/mcp/ \
--header "Authorization: Bearer $D2B_PAT"

若使用 PAT,建议使用限定到 workbook 并带速率上限的最小权限令牌(快速开始 §1)。

目的工具
发现list_my_data / get_schema(include_json_schema) / profile_table / get_lineage / get_downstream / search
读取read_table / query_sql / validate_sql
核查review_table / review_workbook(有依据的问题:源文件的公式、表的不变量、标签与定义是否一致;mode="agent" 返回作业,用 get_job 等待)
导入数据(引用优先)ingest_url / request_upload → ingest_upload / list_cloud_files → import_cloud_file / track_onedrive_file / ingest_file
检查结构 / 保留原件的 reviseanalyze_source / get_parse_spec / update_parse_spec / materialize_source / revise_source
容器(工作簿、工作区)list_my_workspaces / create_workbook / delete_workbook / provision_workspace / delete_workspace
创建与修正create_table / add_transform / list_transforms / upsert_rows / delete_rows / write_a1 / put_sheet / get_sheet / list_sheets
模式add_column / rename_column / retype_column / drop_column / rename_table
公式与说明set_formula_column / list_formula_columns / clear_formula_column / set_artifact_description / set_column_description / set_table_style / get_table_style
历史list_snapshots / commit_snapshot / restore_snapshot / diff_snapshots / recompute_stale / list_ops / undo_op
冲突、同步、交付list_conflicts / resolve_conflict / export_tables / bind_external_sheet / list_sync_bindings / unbind_external_sheet / list_file_links / sync_file_link

工具输入是严格类型化的(枚举 / 结构化模型;harness 可在生成时拒绝非法值)。唯一依赖数据、无法静态类型化的 upsert_rows.rows,可用 get_schema(name, include_json_schema=true) 返回的「该表一行的 JSON Schema」在运行时约束。

错误使用与 REST 相同的 problem+json 词汇(带 suggested_fix)— 阅读错误。

传输是无状态的 streamable HTTP — 服务器不保存会话,每个请求自包含(对重试和水平扩展安全)。