Zum Inhalt springen

Per MCP verbinden

Der MCP-Server von D2B ist https://d2b.dev/mcp/ (Streamable HTTP). Auth gibt es in zwei Formen: die Anmeldung des Hosts (OAuth 2.1 — im Browser genehmigen, der Host erneuert ein einstündiges Token selbst) oder ein Bearer-Header mit PAT. Die Tools sind dieselbe Oberfläche wie REST / CLI / SDK, jeweils mit typisiertem Schema für Tool Calling (die Tool-Liste deines Hosts ist immer die aktuelle).

Beim Verbinden enthält die Initialisierungsantwort instructions: die Betriebsregeln (welches Tool wann, Dateien per Referenz einbringen, Ableiten mit Transforms, bei 409 neu lesen, commit_snapshot an Meilensteinen, delete_workbook zum Aufräumen …). Kürzt Ihr Host instructions, ist derselbe Text als Ressource d2b://guide lesbar. Ins Repo gehören nur Verbindung und Wahl des Wegs (D2B aus einem Coding-Agenten nutzen).

Auch das Provisionieren von Workspaces geht per MCP (provision_workspace / delete_workspace; braucht einen Account-weiten Schlüssel mit workspaces:create / workspaces:delete — ein auf einen Workspace gepinnter Schlüssel kann keine Geschwister anlegen).

Nur die URL eintragen: Der Host findet den Autorisierungsserver über die 401 von https://d2b.dev/mcp/ und öffnet die Zustimmungsseite von D2B im Browser. Sie zeigt den App-Namen, den Host, zu dem es zurückgeht, die Berechtigungen (read / write / delete auf Workbooks plus cloud-files:read) und für welches Konto die App handelt (Standardkonto oder eines deiner Entwicklerkonten). Das Zugriffstoken gilt eine Stunde; der Host erneuert es per Refresh-Token. In der Konsole steht es unter Einstellungen > Tokens als oauth:<App-Name>, sodass jede Verbindung einzeln widerrufbar ist.

Der App-Name ist eine Selbstangabe des Hosts; D2B prüft ihn nicht. Lehne eine unerwartete Zustimmungsseite ab. Für Hosts ohne OAuth und für unbeaufsichtigte Umgebungen wie CI bleibt der Bearer-Header mit PAT.

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

Ohne Header registriert, fragt der Host beim ersten Aufruf nach der Anmeldung. Unbeaufsichtigte Umgebungen übergeben stattdessen ein PAT:

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

Bei einem PAT gilt: minimal berechtigt — Workbook-gebunden, mit Ratenlimit (Schnellstart §1).

ZweckTools
Entdeckenlist_my_data / get_schema(include_json_schema) / profile_table / get_lineage / get_downstream / search
Lesenread_table / query_sql / validate_sql
Prüfenreview_table / review_workbook (belegte Befunde: die Formeln der Quelldatei, die Invarianten der Tabelle, Bezeichnung vs. Definition; mode="agent" liefert einen Job — mit get_job verfolgen)
Daten einbringen (Referenz zuerst)ingest_url / request_upload → ingest_upload / list_cloud_files → import_cloud_file / track_onedrive_file / ingest_file
Struktur prüfen / formaterhaltendes reviseanalyze_source / get_parse_spec / update_parse_spec / materialize_source / revise_source
Container (Workbooks, Workspaces)list_my_workspaces / create_workbook / delete_workbook / provision_workspace / delete_workspace
Erstellen & korrigierencreate_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
Formeln & Beschreibungenset_formula_column / list_formula_columns / clear_formula_column / set_artifact_description / set_column_description / set_table_style / get_table_style
Verlauflist_snapshots / commit_snapshot / restore_snapshot / diff_snapshots / recompute_stale / list_ops / undo_op
Konflikte, Sync, Lieferunglist_conflicts / resolve_conflict / export_tables / bind_external_sheet / list_sync_bindings / unbind_external_sheet / list_file_links / sync_file_link

Tool-Eingaben sind strikt typisiert (Enums / strukturierte Modelle, ein Harness kann ungültige Werte schon beim Generieren abweisen). Die einzige datenabhängige Eingabe, upsert_rows.rows, lässt sich zur Laufzeit mit dem Zeilen-JSON-Schema aus get_schema(name, include_json_schema=true) einschränken.

Fehler nutzen dasselbe problem+json-Vokabular wie REST (mit suggested_fix) — Fehler lesen.

Der Transport ist zustandsloses streamable HTTP — serverseitig wird keine Sitzung gehalten; jede Anfrage ist in sich geschlossen (sicher für Retries und horizontale Skalierung).