Pular para o conteúdo

Conectar via MCP

O servidor MCP do D2B fica em https://d2b.dev/mcp/ (Streamable HTTP). Há duas formas de autenticação: o login do host (OAuth 2.1 — aprova no browser e o host renova sozinho um token de uma hora) ou um header Bearer com PAT. As ferramentas são a mesma superfície do REST / CLI / SDK, cada uma com schema tipado para tool calling (a lista de ferramentas do seu host é sempre a atual).

Ao conectar, a resposta de inicialização traz instructions: as normas de uso (qual ferramenta quando, trazer arquivos por referência, derivar com transforms, reler em 409, commit_snapshot nos marcos, delete_workbook para limpar …). Se o host truncar instructions, o mesmo texto pode ser lido como o recurso d2b://guide. No repositório bastam a conexão e a escolha do caminho (Usar o D2B a partir de um agente de código).

O provisionamento de workspaces também funciona via MCP (provision_workspace / delete_workspace; exige uma chave de toda a conta com os scopes workspaces:create / workspaces:delete — uma chave fixada a um workspace não cria irmãos).

Registe apenas o URL: o host descobre o servidor de autorização a partir do 401 de https://d2b.dev/mcp/ e abre no browser a página de consentimento do D2B. Ela mostra o nome da app, o host para onde volta, as permissões concedidas (read / write / delete em workbooks mais cloud-files:read) e em nome de que conta a app age (a sua conta predefinida ou uma das suas contas de programador). O token de acesso dura uma hora; o host renova-o com um refresh token. Aparece em Definições > Tokens na consola como oauth:<nome da app>, pelo que cada ligação se revoga separadamente.

O nome da app é declarado pelo host; o D2B não o verifica. Recuse uma página de consentimento inesperada. Para hosts sem OAuth e ambientes sem operador, como CI, mantenha o header Bearer com PAT.

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

Registado sem header, o host pede login na primeira utilização. Ambientes sem operador passam um PAT:

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

Se usar um PAT, que seja de privilégio mínimo — limitado a um workbook, com limite de taxa (Início rápido §1).

FinalidadeFerramentas
Descobrirlist_my_data / get_schema(include_json_schema) / profile_table / get_lineage / get_downstream / search
Lerread_table / query_sql / validate_sql
Revisarreview_table / review_workbook (apontamentos com evidência: as fórmulas do arquivo de origem, as invariantes da tabela, rótulos vs. definições; mode="agent" devolve um job — acompanhe com get_job)
Trazer dados (referência primeiro)ingest_url / request_upload → ingest_upload / list_cloud_files → import_cloud_file / track_onedrive_file / ingest_file
Inspecionar estrutura / revise fielanalyze_source / get_parse_spec / update_parse_spec / materialize_source / revise_source
Contêineres (workbooks, workspaces)list_my_workspaces / create_workbook / delete_workbook / provision_workspace / delete_workspace
Criar e corrigircreate_table / add_transform / list_transforms / upsert_rows / delete_rows / write_a1 / put_sheet / get_sheet / list_sheets
Schemaadd_column / rename_column / retype_column / drop_column / rename_table
Fórmulas e descriçõesset_formula_column / list_formula_columns / clear_formula_column / set_artifact_description / set_column_description / set_table_style / get_table_style
Históricolist_snapshots / commit_snapshot / restore_snapshot / diff_snapshots / recompute_stale / list_ops / undo_op
Conflitos, sincronização, entregalist_conflicts / resolve_conflict / export_tables / bind_external_sheet / list_sync_bindings / unbind_external_sheet / list_file_links / sync_file_link

As entradas são estritamente tipadas (enums / modelos estruturados; um harness pode rejeitar valores inválidos na geração). A única entrada dependente dos dados, upsert_rows.rows, pode ser restringida em tempo de execução com o JSON Schema por linha de get_schema(name, include_json_schema=true).

Os erros usam o mesmo vocabulário problem+json do REST (com suggested_fix) — Lendo erros.

O transporte é streamable HTTP sem estado — nenhuma sessão é mantida no servidor; cada requisição é autocontida (segura para retentativas e escala horizontal).