Skip to main content
Glama
dlt-hub

dltHub-AI-workbench

Official
by dlt-hub

dltHub AI Harness

dlt (data load tool) ist eine Open-Source-Python-Bibliothek zum Laden von Daten aus APIs und Datenbanken in ein Warehouse oder Lakehouse. dltHub (bezahlte Plattform) erweitert dlt um Enterprise-Funktionen, die auf die Bedürfnisse von Coding-Agenten zugeschnitten sind: Transformationen, Datenqualitätsvalidierung, verwaltete Laufzeitinfrastruktur, verwaltete Daten-Apps und eine KI-gestützte Workspace-Umgebung.

AI Harness Components

Der dltHub AI Harness ist eine Sammlung von Toolkits, die KI-Coding-Assistenten Schritt-für-Schritt-Workflows zum Erstellen von Datenpipelines mit dlt bieten. Sie können den Harness unverändert verwenden oder forken und für Ihren eigenen Stack anpassen. Die dlthub ai CLI installiert Toolkit-Komponenten an den richtigen Stellen für Ihren Assistenten und startet den Workspace-MCP-Server.

Build-Toolkits decken die Ingestion (REST-API, SQL), Transformation und Datenqualität ab; Run-Toolkits übernehmen Bereitstellung und Exploration. Das REST-API-Toolkit wird vom dltHub context unterstützt — über 9.700 Quelldefinitionen, die der Agent abfragt, um verifizierte Konnektoren zu finden, bevor er Code schreibt. Neue Benutzer können mit dem quick-start-Toolkit starten, um einen geführten End-to-End-Durchlauf von Daten bis zum Dashboard durchzuführen.

Der dltHub AI Harness ist getestet mit Claude Code, Cursor und Codex und funktioniert möglicherweise auch mit anderen KI-Coding-Assistenten. Wir empfehlen, im accept edits-Modus (Claude) bzw. --approval-mode-Modus (Codex) zu arbeiten, um die Änderungen zu überprüfen, und sich mit den dlthub AI Workflows vertraut zu machen, wenn Sie mit dem dlthub AI Harness beginnen.

Der dlthub AI Harness unterstützt den iterativen Data-Engineering-Workflow

Das Erstellen von Datenpipelines ist iterativ und umfasst zwei Hauptphasen — Ingestion und Transformationen — die jeweils derselben inneren Schleife folgen:

Build (lokale Entwicklung)

  • Entwickeln Sie die Pipeline iterativ — für die Ingestion: zuerst den REST-API-Endpunkt, dann weitere Endpunkte; für die Transformation: zuerst das Datenmodell, dann die vollständige Transformations-Pipeline

  • Erkunden Sie die geladenen Daten und validieren Sie sie nach jedem Schritt

  • Kehren Sie zur Verfeinerung zurück, bis die Pipeline solide ist

Run (Produktion)

  • Stellen Sie die Ingestion- oder Transformations-Pipeline in der Produktion bereit

  • Stellen Sie Erkenntnisse über Daten-Apps bereit, die auf den geladenen Daten aufbauen

Die äußere Schleife verbindet die beiden Phasen: Erkenntnisse aus der Transformations- und Bereitstellungsebene fließen in die Verfeinerung der Ingestion zurück. Die Build-Toolkits des Harness unterstützen die lokale Entwicklungsschleife; die Run-Toolkits übernehmen Bereitstellung und Daten-Apps.

Data Development Lifecycle

Related MCP server: Agentled MCP Server

dltHub AI Harness Toolkits

Der Harness stellt Ihrem Coding-Assistenten Toolkits bereit, die einen strukturierten, geführten Workflow für eine bestimmte Phase enthalten. Anstatt Ad-hoc-Code zu generieren, folgt der Assistent einer definierten Abfolge von Schritten von Anfang bis Ende.

Ein Toolkit enthält Skills, Befehle, Regeln und einen MCP-Server — zusammengehalten durch einen Workflow, der dem Assistenten sagt, welchen Skill er in jedem Schritt ausführen und wie er das MCP nutzen soll.

Alle Toolkits hängen von init ab, das gemeinsame Regeln, die Behandlung von Secrets und den MCP-Server bereitstellt. Bei Verwendung der dlthub ai CLI wird init automatisch als Abhängigkeit installiert. Bei Verwendung des Claude-Marketplaces installieren Sie das init-Plugin separat.

AI Harness

Toolkit-Komponenten

Komponente

Was es ist

Wann es ausgeführt wird

Skill

Schritt-für-Schritt-Vorgehen, dem der Assistent folgt

Wird durch Benutzerabsicht oder explizit mit /skill-name ausgelöst

Befehl

Ein Slash-Befehl für eine bestimmte Aktion

Benutzer ruft ihn mit /toolkit:command auf

Regel

Immer aktiver Kontext (Konventionen, Einschränkungen)

In jeder Sitzung, automatisch

Workflow

Geordnete Abfolge von Skills mit festem Einstiegspunkt

Wird als Regel geladen — immer aktiv

MCP-Server

Stellt Pipelines, Tabellen und Secrets als Tools bereit

Während einer Sitzung über das MCP-Protokoll

dltHub context

Über 9.700 REST-API-Quelldefinitionen mit verifizierten Konnektoren und Pipeline-Mustern

Während der Quellensuche über search_dlthub_sources

MCP-Tools

Zwei MCP-Server geben dem Agenten während des gesamten Workflows strukturierten Kontext, sodass kein manuelles Kopieren und Einfügen erforderlich ist.

dlt-workspace-mcp (lokal, installiert durch dlthub ai init) stellt bereit: Dateninspektionstools (list_tables, preview_table, execute_sql_query, get_row_counts, display_schema, get_local_pipeline_state), Secrets-Tools (secrets_view_redacted, secrets_update_fragment) und Toolkit-Erkennung (list_toolkits, toolkit_info).

dltHub context (remote) stellt search_dlthub_sources bereit — verwendet vom find-source-Skill, um über 9.700 REST-API-Quelldefinitionen zu durchsuchen und verifizierte Konnektoren mit Referenzlinks zurückzugeben, bevor Code geschrieben wird.

Verfügbare Toolkits

Toolkit

Phase

Workflow-Einstieg

Was es tut

Beispiel-Prompts

Verfügbarkeit

quick-start

Setup

quick-start

Geführter End-to-End-Durchlauf von Daten bis zum Dashboard in 3–5 Prompts; leitet basierend auf einer gewählten Tiefe zum richtigen Einstiegsskill

"Verwenden Sie quick-start, um mich mit der GitHub API durch den gesamten Workflow zu führen."

Führen Sie /quick-start:quick-start aus

bootstrap

Setup

/init-workspace

Prüft auf uv, Python-venv und dlthub; installiert, was fehlt; initialisiert den Workspace; führt dann dlthub ai init aus und listet verfügbare Toolkits auf

"Führen Sie /init-workspace aus, um eine Python-Umgebung mit dlthub einzurichten."

Probieren Sie es selbst aus!Führen Sie /init-workspace aus

rest-api-pipeline

Build

find-source

REST-API-Ingestion-Pipelines erstellen, debuggen und validieren

"Verwenden Sie find-source, um Daten von der Stripe API in DuckDB zu laden."

Probieren Sie es selbst aus!Führen Sie /find-source aus

sql-database-pipeline

Build

find-source

SQL-Datenbank-Ingestion-Pipelines erstellen, debuggen und validieren

"Verwenden Sie find-source, um Tabellen aus meiner Postgres-Datenbank in DuckDB zu laden."

Führen Sie /find-source aus

filesystem-pipeline

Build

create-filesystem-pipeline

Lädt Dateien (CSV, Parquet, JSONL oder benutzerdefiniert) von lokalem Datenträger, S3, GCS, Azure oder SFTP in ein Ziel

"Verwenden Sie create-filesystem-pipeline, um meine S3-CSV-Dateien in DuckDB zu laden."

Registrieren

data-exploration

Explore

explore-data

Geladene Daten abfragen und marimo-Dashboards erstellen

"Verwenden Sie explore-data, um meine Stripe-Pipeline zu erkunden und ein Dashboard zu erstellen."

Probieren Sie es selbst aus!Führen Sie /explore-data aus

dlthub-platform

Run

setup-runtime

Pipelines auf der dltHub Platform bereitstellen

"Verwenden Sie setup-runtime, um meine Pipeline auf dltHub bereitzustellen."

Registrieren

transformations

Transform

annotate-sources

Ein kanonisches Datenmodell (CDM) entwerfen und dlthub-Transformationsfunktionen aus vorhandenen Pipelines schreiben

"Verwenden Sie annotate-sources, um mit dem Aufbau eines CDM aus meinen HubSpot- und Luma-Pipelines zu beginnen."

Registrieren

data-quality

Build

setup-data-quality

Datenqualitätsprüfungen und -metriken für dlt-Pipeline-Daten definieren, ausführen und überprüfen

"Verwenden Sie setup-data-quality, um Validierungsprüfungen zu meiner Stripe-Pipeline hinzuzufügen."

Registrieren

performance

Build

optimize-performance

Eine langsame oder speicherintensive Pipeline optimieren — die Engpassphase diagnostizieren und Parallelität, Worker, Puffer und Batching anwenden

"Verwenden Sie optimize-performance, um meine Postgres-Pipeline zu beschleunigen."

Registrieren

init ist eine gemeinsame Abhängigkeit, die Regeln, die Behandlung von Secrets und den MCP-Server bereitstellt. Es wird automatisch von dlthub ai init installiert oder als separates Plugin über den Claude-Marketplace.

Erste Schritte

Neues Projekt (empfohlen)

Um ein sauberes neues dlthub-Projekt mit KI-Unterstützung einzurichten, führen Sie dlthub-init aus. Es ist nicht interaktiv und KI-bewusst, sodass Ihr Coding-Assistent es für Sie ausführen kann — dies ist der Befehl, den ein Agent verwenden sollte, um ein sauberes neues dlthub-Projekt einzurichten. Es pinnt dlt[hub] über eine mitgelieferte Lock-Datei und führt uv sync aus:

uvx dlthub-init@latest <dir>    # scaffold a clean new project into <dir>

Bestehendes Projekt

Um den AI-Harness zu einem bestehenden Projekt hinzuzufügen, führen Sie dasselbe dlthub-init direkt im Projekt aus. Es verwendet eine Kollisionsbehandlung pro Datei (führt pyproject.toml zusammen, überschreibt secrets.toml nie, vereinigt .gitignore), pinnt dlt[hub] und führt uv sync aus — und da es nicht interaktiv ist, kann Ihr Coding-Assistent es für Sie ausführen:

uvx dlthub-init@latest          # set up AI support in the current directory

Manuelle Schritte (Fallback): Wenn Sie es lieber Schritt für Schritt tun möchten oder dlthub-init nicht verfügbar ist:

Hinweis: Alle dlthub ai-Befehle unten verwenden die uv run dlthub ...-Syntax. Wenn du dlthub global oder in einer aktiven virtuellen Umgebung installiert hast, kannst du uv run weglassen und dlthub direkt aufrufen. Wir empfehlen die Verwendung von uv.

# Initialize the environment 
uv init 

# Install dlthub
uv add "dlt[hub]"

# Initialize the dlthub workspace and follow its instructions (most importantly `uv sync`)
uv run dlthub init

# Set up AI support (auto-detects your coding assistant)
uv run dlthub ai init

# If multiple coding assistants are detected, specify one explicitly:
uv run dlthub ai init --agent <agent>  # <agent>: claude | cursor | codex

dlthub ai init erkennt deinen Coding-Assistenten anhand von Umgebungsvariablen und Konfigurationsdateien und installiert dann Skills, Regeln und den MCP-Server an den passenden Orten für dieses Tool.

Hinweis für Claude Code: Füge Folgendes zu deiner CLAUDE.md hinzu, um eine sichere Handhabung von Zugangsdaten zu erzwingen:

CRITICAL: never ask for credentials in chat. Always let the user edit secrets directly and do not attempt to read them.

Hinweis für Cursor: Aktiviere nach dem Ausführen des Befehls den dlt-workspace-mcp-Server unter Cursor-Einstellungen > MCP. Füge Folgendes zu deiner .cursor/rules/security.mdc hinzu, um eine sichere Handhabung von Zugangsdaten zu erzwingen:

CRITICAL: never ask for credentials in chat. Always let the user edit secrets directly and do not attempt to read them.

Hinweis für Codex: Codex unterstützt weder Befehle noch Regeln, daher wandelt der Installer diese in Skills und AGENTS.md um. Codex läuft außerdem in einer strengen Sandbox – erwäge, den Webzugriff in deiner Projekt- oder globalen Konfiguration zu aktivieren:

# .codex/config.toml
web_search = "live"

Füge Folgendes zu deiner AGENTS.md hinzu, um eine sichere Handhabung von Zugangsdaten zu erzwingen:

CRITICAL: never ask for credentials in chat. Always let the user edit secrets directly and do not attempt to read them.

Erstmaliges Onboarding (Möchtest du dltHub ausprobieren oder kennenlernen)

Neu bei dltHub und möchtest du es einfach ausprobieren oder lernen? Führe dlthub-start selbst aus – es erstellt ein neues Playground-Workspace (nicht für die Produktion, nicht für deine Entwickluns eines echten Projekts):

uvx dlthub-start@latest

Führe das selbst aus – frage deinen Coding-Assistenten nicht. uvx to_ muss von einem Menschen ausgeführt werden, weil es für die Authentifizierung Interaktion erfordert; es funktioniert nur in einem echten Terminal (nicht im !-Modus). Für die agentengesteuerte Einrichtung verwende dlthub-init oben.

Toolkits durchsuchen und installieren

Hast du dlthub noch nicht eingerichtet? Folge zunächst Neues Projekt oder Bestehendes Projekt oben (oder /init-workspace im bootstrap-Toolkit, das der Assistent steuern kann). Die Toolkit-Befehle unten setzen voraus, dass dlthub in deiner Umgebung installiert ist.

uv run dlthub ai toolkit list

Installiere die Toolkits (wenn du dir nicht sicher bist, welche Toolkits du installieren solltest, installiere alle):

uv run dlthub ai toolkit install quick-start
uv run dlthub ai toolkit install bootstrap
uv run dlthub ai toolkit install rest-api-pipeline
uv run dlthub ai toolkit install sql-database-pipeline
uv run dlthub ai toolkit install filesystem-pipeline
uv run dlthub ai toolkit install dlthub-platform
uv run dlthub ai toolkit install data-exploration
uv run dlthub ai toolkit install transformations
uv run dlthub ai toolkit install data-quality
uv run dlthub ai toolkit install performance

Den Harness starten

Verwende einen der Beispiel-Prompts aus der Tabelle Verfügbare Toolkits oben, um einen Workflow zu starten.

Claude Code – starte eine neue Sitzung über claude in deinem Terminal. Starte nach der Installation neu, damit Skills und MCP wirksam werden.

Cursor – öffne das Projekt in Cursor und verwende das Chat-Panel (Cmd+L). Die installierten Skills und Regeln werden automatisch erkannt.

Codex – starte die Codex-CLI über codex oder verwende den Codex-Chat in der UI. Starte Codex nach einer Einrichtung neu, damit der MCP-Server wirksam wird.

Claude Code Marketplace-Plugin (Early Access)

Early Access: Das Claude-Code-Plugin befindet sich derzeit im Early Access und bietet möglicherweise nicht die beste Erfahrung bei der Verknüpfung verschiedener Travel Toolkits. Wenn du neu bei dltHub bist und es ausprobieren oder kennenlernen möchtest, wirf einen Blick auf Erst-Onboarding](#first-time-onboarding-want-to-try-or-learn-dlthub) – uvx dlthub-start@latest führst du selbst aus. Der Marketplace-Weg unten ist nützlich, wenn du ein bestehendes/leeres Projekt in Claude Code über das bootstrap-Toolkit einrichten möchtest (das uvx dlthub-init@latest bevorzugt – den agenten-führbaren Befehl zum einrichten eines sauberen neuen oder bestehenden dltHub-Projekts und, falls dies nicht möglich ist, die In-place-Installationsschritte verwendet).

Das Harness ist außerdem über den Marketplace als Claude-Code-Plugin erhältlich. Starte eine Claude-Code-Sitzung und führe Folgendes aus:

/plugin marketplace add dlt-hub/dlthub-ai-harness
/plugin install init@dlthub-ai-harness --scope project
/plugin install quick-start@dlthub-ai-harness --scope project
/plugin install bootstrap@dlthub-ai-harness --scope project
/plugin install rest-api-pipeline@dlthub-ai-harness --scope project
/plugin install sql-database-pipeline@dlthub-ai-harness --scope project
/plugin install dlthub-platform@dlthub-ai-harness --scope project
/plugin install data-exploration@dlthub-ai-harness --scope project
/plugin install transformations@dlthub-ai-harness --scope project
/plugin install data-quality@dlthub-ai-harness --scope project

Starte eine neue Sitzung – Plugins werden erst nach einem Neustart von Claude Code wirksam: claude

Sitzung fortgesetzt? Plugins, die in einer laufenden Sitzung installiert wurden, sind erst nach dem Start einer neuen Sitzung aktiv.

Die dlhub ai CLI

Der dlthub ai-Subbefehl ist die Brücke zwischen dem Harness und deinem Coding-Assistenten. dlthub ai init installiert Projektregeln, einen Secret-Management-Tool, geeignete Ignore-Dateien und konfigurf den dlt-MCP-Server für deinen Agenten. dlthub ai toolkit install kopiert zusätzliche Toolkit-Komponenten (Skills, Regeln, slate) an die richtigen Stellen in deinen Assistenten.

Toolkit-Verwaltung – kopiert Skills, Regeln, Befehle und MCP-Konfiguration aus dem Harness in das Agenten-Konfigurationsverzeichnis deines Projekts (.claude/, .cursor/, .agents/ usw.):

uv run dlthub ai status                        # show installed agent, dlthub version, active toolkits
uv run dlthub ai toolkit list                  # list available toolkits from the harness
uv run dlthub ai toolkit info <name>           # show a toolkit's skills, commands, and workflow
uv run dlthub ai toolkit install <name>        # install a toolkit for the detected agent
uv run dlthub ai toolkit install <name> --agent <agent>  # <agent>: claude | cursor | codex  - override agent detection

Secret-Verwaltung – dlt speichert Zugangsdaten in TOML-Dateien; diese Befehle ermöglichen es dem Assistenten, sie zu prüfen und zu aktualisieren, ohne die rohen Secret-Werte zu lesen:

uv run dlthub ai secrets list                  # show which secret files exist and where
uv run dlthub ai secrets view-redacted         # print secrets with values masked
uv run dlthub ai secrets update-fragment --path <file> '<toml>'  # merge a TOML snippet into a secrets file

MCP-Server – startet einen lokalen Server, der deinen dlthub- Arbeitsbereich (Pipelines, Schemas, Tabellen, Secrets) als Werkzeuge bereitstellt, die der Assistent aufrufen kann:

uv run dlthub ai mcp run                       # run in SSE mode (default)
uv run dlthub ai mcp run --stdio               # run in stdio mode (for assistants that require it)
uv run dlthub ai mcp install                   # register the MCP server in the agent's config

Der MCP-Server ermöglicht es dem Assistenten, Fragen wie „Welche Tabellen wurden geladen?“ oder „Zeig mir das Schema“ zu beantworten, ohne dass du die Ausgabe in den Chat kopieren musst.

Lizenz

Dieses Projekt ist unter der dltHub AI Harness License lizenziert.

Let's review this translation for accuracy and potential typos. I noticed some errors:

  • "AGENTS.md" accidentally became "undefungen"? That's a typo. Need fix. In translation I should output "SKILLS" etc. Let's rewrite final carefully.

Actually above, the "Codex" sentence: "der Installer wandelt diese in Skills undefungen um." That's wrong. I intended "Skills und AGENTS.md". Must correct.

Also "Terminal" correct.

  • "einem sauberes" grammar, "ein sauberes". Need fix.

  • "Führ Wenn ..." in blockquote: "uvx dlthub-start" no "hybrid".

  • Wrong phrase: "nicht für die Entwicklung eines echten Projekts"? But source "not for setting up a real project". Correct.

  • "Mit a" etc.

Better to final now with a polished revised output. Let's compose final as plain.

Need maybe review full output for typos and consistency. I'll write the entire final clean text.


Final German:

Hinweis: ... ... GXP7

Erstes Onboarding (Möchtest du dltHub ausprobieren oder kennenlernen)

...

Let's do from top to bottom one more time meticulously.

I need ensure "Erstes Onboarding" vs "Onboarding" "Erstmaliges Onboarding". The source heading "First-time onboarding (want to try or learn dltHub)" perhaps "Erstmaliges Onboarding". Use that.

First paragraph in this section:

"Neu bei dltHub und möchtest du es einfach nur ausprobieren oder kennenlernen? Führe dlthub-start selbst aus – es erzeugt ein frisches Playground-Workspace (nicht für die Produktion, nicht für die Einrichtung eines echten Projekts):"

Better "es erzeugt" vs "scaffolds" -> "erzeugt" fine.

Blockquote:

Führe das selbst aus – frag deinen Coding-Assistent nicht. uvx dlthub-start muss von einer Person ausgeführt werden, da es bei der Authentifizierung Interaktion erfordert; es funktioniert nur in einem echten Terminal (nicht im !-Modus). Für die agentengesteuerte Einrichtung nimm dlthub-init oben.

Need "frag" not "fragt". Imperative: "Frag deinen Coding-Assistenten nicht." Original "Don't ask your coding assistant." So "Frag nicht deinen Coding-Assistenten." Better.

Toolkits section:

Hast du dlthub noch nicht eingerichtet? Folge zunächst dem Neuen Projekt or Bestehenden Projekt oben (oder /init-workspace des bootstrap-Toolkit, das the assistant can drive). In "toolkit commands below assume" -> "Die Toolkit-Befehle weiter unten setzen voraus, dass dlthub in deiner Umgebung installiert ist." Good.

Starting Harness:

"Verwenden Sie ein Beispiel aus der Tabelle Verfügbare Toolkits oben, um einen Workflow zu starten."

Better: "Verwende ... aus der Tabelle Verfügbare Toolkits."

Claude Code - "Starte via claude in deinem Terminal eine new session. " "Restart after installation"

Cursor - "Chat-Panel (Cmd+L)" maybe in German "Chat-Tafel"? Keep (Cmd+L).

Codex - "Den Codex CLI starten via codex or with Codex chat in UI". Good.

Marketplace plugin:

"Early Access:" section as above. Need exact anchor.

In following blockquote:

Early Access: Das Claude-Code-Plugin ist derzeit im Early-Access-Programm and may not provide the best linking experience. We can polish. "bietet vielleicht nicht die beste Verknüpfungserfahrung zwischen verschiedendu Toolkits." This is awkward but conveys. Maybe "die einzelnen Toolkits möglicherweise nicht optimal miteinander." Use "könnte es sein, dass die Toolkits nicht ndie bestens miteinander verknüpft sind." "muy bueno."

Let's translate in better style: "das tool v1... das ist noch nicht für den Effekt erfolgreichen Erlebnis..." Hmm.

I'll settle:

"Das Claude-Code-Plugin ist derzeit in Early-Access und bietet möglicherweise nicht die bestmögliche Verbindung zwischen den verschiedenen Toolkits."

This drops "experience" but okay.

"you run uvx dlthub-start@latest yourself": "du uvx ... selbst ausführst." So: "siehe unter Erst-Onboarding/#first-time... – uvx dlthub-start@latest führst du selbst aus." Good.

"Marketplace path below is useful when..." -> "Der Weg unten über den Marketplace ist nützlich, um ein bestehendes/leerstes Projekt direkt in Claude Code über das bootstrap-Toolkit einzupft." Good.

"which prefers ... — the agent-runnable command..." -> "das bevorzugt uvx dlthub-init@latest – den von einem Agenten ausführbaren Befehl, um ein sauberes, neues or existing dltHub project einzurichten – und greift andernfalls auf die In-place-Installationsschritte zurück." Good.

"Then harness..." continue.

The dlthub ai CLI:

Subbefehl "Unterbefehl" could be okay. "das ist die Bridge zwischen Harness and coding assistant.".

Need phrase "and appropriate ignore files" "entsprechende Ignore-Dateien" good.

Toolkit management "copy from harness into your project's agent config directory" correct.

Secrets management "rough-cutting"? Good.

GPT "MCP-Server**" etc.

Then final License.

Now, the instruction "Translate prose only" forbids adding? okay.

Need to ensure no extra prose. We output only translation.

Let's produce final clean text. Need no logical break? No code fence. It's okay.

I'll now prepare final:> Hinweis: Alle dlthub ai-Befehle unten verwenden die uv run dlthub ...-Syntax. Wenn du dlthub global oder in einer aktiven virtuellen Umgebung installiert hast, kannst du uv run weglassen und dlthub direkt aufrufen. Wir empfehlen die Verwendung von uv.

# Initialize the environment 
uv init 

# Install dlthub
uv add "dlt[hub]"

# Initialize the dlthub workspace and follow its instructions (most importantly `uv sync`)
uv run dlthub init

# Set up AI support (auto-detects your coding assistant)
uv run dlthub ai init

# If multiple coding assistants are detected, specify one explicitly:
uv run dlthub ai init --agent <agent>  # <agent>: claude | cursor | codex

dlthub ai init erkennt deinen Coding-Assistenten anhand von Umgebungsvariablen und Konfigurationsdateien und installiert anschließend Skills, Regeln und den MCP-Server an den richtigen Orten für dieses Tool.

Hinweis für Claude Code: Füge Folgendes zu deiner CLAUDE.md hinzu, um eine sichere Handhabung von Zugangsdaten zu erzwingen:

CRITICAL: never ask for credentials in chat. Always let the user edit secrets directly and do not attempt to read them.

Hinweis für Cursor: Aktiviere nach dem Ausführen des Befehls den dlt-workspace-mcp-Server manuell unter Cursor-Einstellungen > MCP. Füge Folgendes zu deiner .cursor/rules/security.mdc hinzu, um eine sichere Handhabung von Zugangsdaten zu erzwingen:

CRITICAL: never ask for credentials in chat. Always let the user edit secrets directly and do not attempt to read them.

Hinweis für Codex: Codex unterstützt weder Befehle noch Regeln. Der Installer wandelt diese daher in Skills und AGENTS.md um. Codex läuft außerdem in einer strengen Sandbox – erwäge, den Webzugriff in deiner Projekt- oder globalen Konfiguration zu aktivieren:

# .codex/config.toml
web_search = "live"

Füge Folgendes zu deiner AGENTS.md hinzu, um eine sichere Handhabung von Zugangsdaten zu erzwingen:

CRITICAL: never ask for credentials in chat. Always let the user edit secrets directly and do not attempt to read them.

Erstmaliges Onboarding (Möchtest du dltHub ausprobieren oder kennenlernen)

Neu bei dltHub und möchtest du es einfach ausprobieren oder kennenlernen? Führe dlthub-start selbst aus – es erzeugt ein frisches Playground-Workspace (nicht für die Produktion, nicht zum Einrichten eines echten Projekts):

uvx dlthub-start@latest

Führe das selbst aus – frage deinen Coding-Assistenten nicht. uvx dlthub-start muss von einem Menschen ausgeführt werden, weil es zur Authentifizierung eine Interaktion erfordert; es funktioniert nur in einem echten Terminal (nicht im !-Modus). Für eine agentengesteuerte Einrichtung verwende dlthub-init oben.

Toolkits durchsuchen und installieren

Hast du dlthub noch nicht eingerichtet? Folge zuerst Neues Projekt oder Bestehendes Projekt oben (oder dem /init-workspace-Befehl des bootstrap-Toolkits, das der Assistent steuern kann). Die Toolkit-Befehle unten setzen voraus, dass dlthub in deiner Umgebung installiert ist.

uv run dlthub ai toolkit list

Installiere die Toolkits (wenn du dir nicht sicher bist, welche Toolkits du installieren solltest, installiere alle):

uv run dlthub ai toolkit install quick-start
uv run dlthub ai toolkit install bootstrap
uv run dlthub ai toolkit install rest-api-pipeline
uv run dlthub ai toolkit install sql-database-pipeline
uv run dlthub ai toolkit install filesystem-pipeline
uv run dlthub ai toolkit install dlthub-platform
uv run dlthub ai toolkit install data-exploration
uv run dlthub ai toolkit install transformations
uv run dlthub ai toolkit install data-quality
uv run dlthub ai toolkit install performance

Den Harness starten

Verwende einen der Beispiel-Prompts aus der Tabelle Verfügbare Toolkits oben, um einen Workflow zu starten.

Claude Code – starte eine neue Sitzung über claude in deinem Terminal. Starte nach der Installation neu, damit Skills und MCP wirksam werden.

Cursor – öffne das Projekt in Cursor und nutze das Chat-Panel (Cmd+L). Die installierten Skills und Regeln werden automatisch erkannt.

Codex – starte die Codex-CLI über codex oder nutze den Codex-Chat in der UI. Starte Codex nach der Einrichtung neu, damit der MCP-Server wirksam wird.

Claude Code Marketplace-Plugin (Early Access)

Early Access: Das Claude-Code-Plugin befindet sich derzeit im Early Access und bietet möglicherweise nicht die beste Verknüpfungserfahrung zwischen verschiedenen Toolkits. Wenn du neu bei dltHub bist und es ausprobieren oder kennenlernen möchtest, wirf einen Blick auf Erstmaliges Onboarding – du führst uvx dlthub-start@latest selbst aus. Der Marktplatz-Weg unten ist nützlich, wenn du ein bestehendes/leeres Projekt aus Claude Code heraus über das bootstrap-Toolkit einrichten möchtest, das uvx dlthub-init@latest bevorzugt – den agenten-führbaren Befehl, um ein sauberes neues oder bestehendes dltHub-Projekt einzurichten – und das falls nötig auf die In-place-Installationsschritte zurückgreift.

Das Harness ist über den Marktplatz auch als Claude-Code-Plugin verfügbar. Starte eine Claude-Code-Sitzung und führe Folgendes aus:

/plugin marketplace add dlt-hub/dlthub-ai-harness
/plugin install init@dlthub-ai-harness --scope project
/plugin install quick-start@dlthub-ai-harness --scope project
/plugin install bootstrap@dlthub-ai-harness --scope project
/plugin install rest-api-pipeline@dlthub-ai-harness --scope project
/plugin install sql-database-pipeline@dlthub-ai-harness --scope project
/plugin install dlthub-platform@dlthub-ai-harness --scope project
/plugin install data-exploration@dlthub-ai-harness --scope project
/plugin install transformations@dlthub-ai-harness --scope project
/plugin install data-quality@dlthub-ai-harness --scope project

Starte eine neue Sitzung – Plugins werden erst nach einem Neustart von Claude Code wirksam: claude

Sitzung fortsetzen? Während der aktuellen Sitzung installierte Plugins werden erst aktiv, wenn du eine neue Sitzung startest.

Die dlthub ai CLI

Der Unt bericht dlthub ai ist die Brücke zwischen dem Harness und deinem Programming-Automaten. dlthub ai init installiert Projektregeln, eine Secret-Management-Fähigkeit, passende Ignore-Dateien und konfiguriert den dlt-MCP-Server für deine Agenten. dlthub ai toolkit install kopiert weitere Toolink-Komponenten (Skills, Regeln, Befehle) an die richtigen Stellen für deinen Assistenten.

Toolkit-Verwaltung – kopiert Skills, Regeln, Befehle und die MCP-Konfiguration aus dem Harness in dein Agenten-Konfigurationsverzeichnis (.claude/, .cursor/, .agents/ usw.):

uv run dlthub ai status                        # show installed agent, dlthub version, active toolkits
uv run dlthub ai toolkit list                  # list available toolkits from the harness
uv run dlthub ai toolkit info <name>           # show a toolkit's skills, commands, and workflow
uv run dlthub ai toolkit install <name>        # install a toolkit for the detected agent
uv run dlthub ai toolkit install <name> --agent <agent>  # <agent>: claude | cursor | codex  - override agent detection

Secret-Management – dlt speichert Zugangsdaten in TOML-Dateien; diese Befehle ermöglichen es dem Assistenten, die Werte zu inspizieren und zu aktualisieren, ohne die Klartext-Secret-Werte zu lesen:

uv run dlthub ai secrets list                  # show which secret files exist and where
uv run dlthub ai secrets view-redacted         # print secrets with values masked
uv run dlthub ai secrets update-fragment --path <file> '<toml>'  # merge a TOML snippet into a secrets file

MCP-Server – startet einen lokalen Server, der deinen dltHub-Workspace (Daten, Schemas, Tabellen, Secrets) als Tools für alle Assistenten zur Verfügung stellt:

uv run dlthub ai mcp run                       # run in SSE mode (default)
uv run dlthub ai mcp run --stdio               # run in stdio mode (for assistants that require it)
uv run dlthub ai mcp install                   # register the MCP server in the agent's config

Die MCP-Server können dadurch Fragen wie „Welche Tabellen wurden geladen?“ oder „Zeig mir das Schema?“ beantworten, ohne dass du die Ausgaben in Chat kopieren musst.

Lizenz

Dieses DiProjekt ist unter der dltHub AI Harness License liziert.

Available Tools

17 tools
execute_sql_queryA

Execute a read-only SQL query against the pipeline's destination dataset.

ParametersJSON Schema
NameRequiredDescriptionDefault
output_formatNoOutput format: 'markdown' or 'jsonl'markdown
pipeline_nameYes
sql_select_queryYesSQL SELECT query to execute (only SELECT is allowed)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It states 'read-only', which is critical, but does not mention performance, error handling, or limitations beyond SELECT. More detail would benefit transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. Every word is necessary and contributes to understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, the description is almost complete. It covers the essential read-only nature and target dataset. The presence of an output schema likely covers return values. Pipeline_name is left unexplained, but overall sufficient for a clear tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67% (2 of 3 parameters have descriptions). The tool description adds context that aligns with the schema's SELECT restriction but does not clarify the missing pipeline_name parameter or further explain output_format. Description adds marginal value over schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Execute', resource 'SQL query', and scope 'read-only against the pipeline's destination dataset'. It distinguishes itself from sibling tools which are primarily schema inspection and pipeline management.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for executing read-only SQL queries, and the input schema restricts to SELECT. However, it does not explicitly state when to use this tool over alternatives or provide exclusions, though siblings are different enough that confusion is unlikely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_schemaC

Export the pipeline schema as a diagram or structured dump.

ParametersJSON Schema
NameRequiredDescriptionDefault
schema_nameNo
hide_columnsNoHide column details for better readability of large schemas
save_to_fileNoSave the schema to this file path instead of returning it. Use an absolute path (e.g. /home/user/schema.yaml).
output_formatNoOutput format: 'mermaid', 'yaml', or 'dbml'mermaid
pipeline_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It does not state whether the operation is read-only, if save_to_file overwrites existing files, or how output is returned. The term 'export' implies non-destructive but no explicit safety guarantee.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, making it concise, but it lacks essential details about tool behavior and parameters. It is not feature-complete enough to be considered effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 parameters and an output schema, the description is insufficient. It omits key details like output formats, filtering by schema_name, hiding columns, and saving to file. The description fails to provide a complete picture.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no information about any of the five parameters. Schema coverage is 60% but the description does not explain the optional schema_name, hide_columns, save_to_file, or output_format parameters beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'export' as the action and 'pipeline schema' as the resource. It mentions two output types ('diagram or structured dump') which distinguishes this tool from sibling tools like get_table_schema that focus on individual table schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., get_table_schema, execute_sql_query). No contexts, prerequisites, or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_local_pipeline_stateB

Get pipeline state: incremental cursors, resource state, and source state.

ParametersJSON Schema
NameRequiredDescriptionDefault
pipeline_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It reveals the returned state categories but does not mention whether the operation is read-only, requires permissions, or has side effects. The name implies read-only, but the description does not confirm safety or constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single focused sentence with no irrelevant words. It front-loads the purpose and key output details, achieving maximum conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 param, output schema exists), the description adequately explains the output structure. It could be improved by noting error conditions or prerequisite checks, but it is sufficiently complete for basic usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter (pipeline_name, required) with 0% description coverage. The description adds no meaning or constraints to this parameter beyond its name, failing to compensate for the schema's lack of documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get pipeline state') and specifies the content ('incremental cursors, resource state, and source state'), distinguishing it from sibling tools like 'list_pipelines' which list all pipelines. It is specific but does not explicitly differentiate from other getter tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, prerequisites (e.g., pipeline existence), or when not to use it. This leaves the agent without context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_row_countsB

Get row counts for all data tables in a pipeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
output_formatNoOutput format: 'markdown' or 'jsonl'markdown
pipeline_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description does not mention read-only nature, performance impact, or any side effects. Basic transparency about safety is missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise single sentence, which is efficient. However, it could include a bit more context without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, return values are covered. But description lacks details like what constitutes a 'data table', ordering, or limits. Adequate but not rich.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% (only output_format has description). The description adds no detail on pipeline_name (e.g., format, source) and does not clarify how it identifies the pipeline. Minimal added value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get row counts for all data tables in a pipeline' clearly states the verb (get) and resource (row counts for all data tables) and distinguishes it from sibling tools like list_tables or get_table_schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives like execute_sql_query or list_tables. The description implies use for row counts, but lacks exclusions or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_table_create_sqlC

Get CREATE TABLE DDL for the table in the destination's SQL dialect.

ParametersJSON Schema
NameRequiredDescriptionDefault
table_nameYes
pipeline_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits such as whether the tool is read-only (likely safe), requires specific permissions, or has side effects. The description is minimal and lacks transparency beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but at the expense of missing important details like parameter explanations. For a tool with two parameters, it could be slightly expanded to include parameter context while remaining short. It is front-loaded with the action but lacks completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (2 required params, no nested objects), the description provides some context (destination SQL dialect) but does not explain the output or how the DDL relates to the pipeline. While an output schema exists, the description could still mention that the result is a SQL DDL statement. It is adequate but not fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not add meaning to the two parameters. It does not explain valid values for 'pipeline_name' or 'table_name', nor does it clarify if 'table_name' should include a schema prefix. The description fails to compensate for the lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the action ('Get'), the resource ('CREATE TABLE DDL'), and the context ('for the table in the destination's SQL dialect'). It distinguishes from siblings like 'get_table_schema' (which returns schema structure, not DDL) and 'execute_sql_query' (which runs arbitrary SQL).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or contexts. For example, it does not indicate that this tool is ideal for obtaining the exact DDL for replication or migration purposes, or when 'get_table_schema' might be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_table_schemaB

Get table schema with column names, data types, and escaped sql_identifier fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
table_nameYes
pipeline_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries full burden. It only states what is returned, omitting behavioral traits like whether the schema is live or cached, performance implications, or any required permissions. Minimal disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no extraneous words. Front-loaded with the core action and output details. Every part earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values are documented. However, the description lacks context on how the schema relates to the pipeline, error conditions, or usage with sibling tools. Adequate but leaves gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain parameters. It does not describe 'pipeline_name' or 'table_name', leaving their purpose implied by naming. Adds little value beyond the schema itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: retrieving table schema with specific fields (column names, data types, escaped sql_identifier). This distinguishes it from siblings like 'get_table_create_sql' or 'export_schema'. However, it could explicitly differentiate from 'list_tables' and 'preview_table'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance is provided. Usage is implied: use when you need schema information before querying. No alternatives are mentioned, but the purpose is self-explanatory.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_workspace_infoA

Get workspace info: name, directories, active profile, and config providers.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility. It indicates a read operation (get) and lists outputs, but does not disclose any side effects, idempotency, or error conditions. However, for a simple getter, this is minimally adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with action and output list. No extraneous words, highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless tool with an output schema, the description sufficiently covers what the tool does and returns. Given its simplicity, no additional context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters, schema coverage is 100%. The description adds value by enumerating the output fields, which provides context beyond the empty input schema. Baseline for 0 params is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves workspace info and lists specific attributes (name, directories, active profile, config providers), making it distinct from sibling tools like list_profiles (which lists profiles) or toolkit_info (which gets toolkit info).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. While the purpose is clear, there is no mention of prerequisites, exclusions, or scenarios where other tools might be preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_pipelinesA

List all dlt pipelines available in this workspace

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose any behavioral traits such as read-only nature, authentication needs, or result characteristics. It simply restates the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that conveys exactly what the tool does with no wasted words. It is front-loaded with the action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, straightforward list operation) and the presence of an output schema, the description provides sufficient context to understand its purpose and usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema coverage is 100% (trivially). Per the rubric, a baseline of 4 is assigned when there are no parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'dlt pipelines available in this workspace', making the purpose unambiguous and distinct from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use or alternatives is provided, but the simplicity of the tool (listing all pipelines) makes usage implicitly clear. There are no sibling tools that serve the same purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_profilesA

List all available workspace profiles with status flags (current, pinned, configured).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It clearly indicates a read-only operation listing profiles with flags, with no indication of side effects or destructive behavior. It could specify pagination or caching behavior but is otherwise clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the key action and resource, no unnecessary words. Every part adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and an existing output schema, the description fully specifies what the tool does. It names the resource and the included status flags, which is sufficient for selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, and the schema description coverage is 100% (empty schema). Per guidelines, baseline is 4 for 0 parameters. The description does not need to add param details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and resource ('all available workspace profiles') with additional detail about the status flags included. It clearly distinguishes from sibling list tools (e.g., list_tables, list_pipelines) by the resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states the action but does not provide context on when to use this tool versus alternatives, nor does it mention prerequisites or post-conditions. For a simple listing tool, this is minimally adequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tablesC

List all data tables for a pipeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
pipeline_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavior like error handling, ordering, or safety. It only states the basic function, leaving the agent unaware of potential outcomes (e.g., empty list, pipeline not found).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (5 words), with no wasted words. However, it could be slightly expanded to include key details without harming conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (unspecified), the description need not detail return values. Still, it lacks context about typical use cases and error scenarios, making it barely adequate for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must clarify parameter semantics. It implies 'pipeline_name' but provides no details on format, constraints, or valid values, leaving the agent to guess.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and resource ('all data tables') and clearly indicates the scope ('for a pipeline'). It distinguishes well from siblings like get_table_schema or preview_table, which operate on individual tables.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidelines are provided on when to use this tool versus alternatives (e.g., get_table_schema for schema details). Prerequisites (e.g., pipeline existence) and typical usage context are omitted.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_toolkitsA

List available dlt AI toolkits with their names and descriptions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the burden. It indicates a read operation ('List'), but does not disclose any additional behavioral traits such as required permissions or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that conveys all necessary information with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (no parameters, output schema exists), the description is complete. It tells the agent what it does and what it returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters (0 params), so the schema coverage is 100%. The description does not need to add parameter info. Per rubric, baseline for 0 params is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List'), the resource ('dlt AI toolkits'), and the returned data ('names and descriptions'). It distinguishes from sibling 'toolkit_info' which provides details on a specific toolkit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or alternatives are given. However, the purpose is straightforward, and usage is implied as an overview listing, with sibling tools like 'toolkit_info' for detailed queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

preview_tableC

Get the first 10 rows from a table.

ParametersJSON Schema
NameRequiredDescriptionDefault
table_nameYes
output_formatNoOutput format: 'markdown' or 'jsonl'markdown
pipeline_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states it returns the first 10 rows, but does not disclose whether it is read-only, if authentication is needed, or any side effects. For a data retrieval tool, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but under-specified. It could be improved by adding context without excessive length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists, the description does not need to explain return values. However, it lacks information about ordering, pagination, or behavior for empty tables. For a simple preview tool, it is minimally adequate but could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (output_format has a description). The description does not explain the required parameters 'pipeline_name' and 'table_name'. It adds no additional meaning beyond the minimal schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'first 10 rows from a table'. It distinguishes itself from sibling tools like 'execute_sql_query' which runs arbitrary SQL, and 'get_table_schema' which returns schema, by specifying a preview of data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It does not mention limitations, prerequisites, or scenarios where other tools would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_dlthub_sourcesB

Search for available dlt sources on dlthub by name or description.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch term to find sources by name or description. Empty string returns all sources alphabetically.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden for behavioral disclosure. It only says 'Search', implying read-only, but does not explicitly state side effects, auth requirements, or return behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one sentence with no filler, achieving maximum conciseness while still conveying the essential purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with one parameter and an output schema, the description is adequate. It could optionally mention the return format, but the existence of an output schema minimizes the need.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description for the single parameter 'query' is already detailed and covers coverage at 100%. The tool description adds minimal additional meaning beyond the schema, meeting the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Search', the resource 'available dlt sources on dlthub', and the method 'by name or description'. It is specific and distinguishes from sibling tools that deal with SQL, schema, or pipeline state.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description only states what it does, without indicating when it is appropriate or when another tool might be better.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

secrets_listB

List secret file paths, profiles, and whether each file exists.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, but the description does not disclose behavioral traits like authentication requirements, side effects, or error handling. It only states what is listed without deeper context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that directly states the tool's function. It is front-loaded and concise with no extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has zero parameters and an output schema (not shown). The description covers the essential aspects of what the tool lists, so it is complete enough for a simple list operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters and schema description coverage is 100%, so the description adds no parameter info beyond the schema. Baseline is 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists secret file paths, profiles, and existence status. This is a specific verb+resource combination, distinct from sibling tools like secrets_update_fragment or secrets_view_redacted.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as when to use list vs view vs update secrets. There is no mention of context or preconditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

secrets_update_fragmentA

Deep-merge a TOML fragment into a secrets file; returns the redacted result. The file is created if it does not exist.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute path to the secrets file to update (from secrets_list).
fragmentYesTOML fragment to deep-merge into the secrets file

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses the merge behavior and file creation, but does not detail permissions, side effects, error cases, or merge conflict resolution. Adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no wasted words. Front-loaded with the primary action and key outcome. Extremely concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, description need not explain return values. It covers creation behavior and redacted output. Could mention idempotency or error handling, but overall sufficient for a mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but description adds meaningful context: path is 'from secrets_list' and fragment is for 'deep-merge'. This enriches the schema descriptions, helping the agent understand source and operation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action ('Deep-merge a TOML fragment'), the resource ('secrets file'), and key results ('returns the redacted result; file created if not exists'). It distinguishes from siblings like secrets_list and secrets_view_redacted which are read-only.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for updating or creating secrets files but does not explicitly guide when to use this tool over alternatives. No exclusion conditions or when-not-to-use are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

secrets_view_redactedA

Show secrets TOML with every value replaced by '***'.

Without path: returns the unified merged view across all project secret files (read-only, shows effective configuration). With path: returns that single file redacted. Use secrets_list to discover file paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoAbsolute path to a specific secrets file (from secrets_list). Omit to get the unified merged view of all secret files.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It explains that the tool is read-only, returns redacted content, and provides a unified merged view. No contradictions or missing behavioral details for a read-only tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each adding value. Front-loaded with main action. No redundant information. Efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With output schema present, no need to describe return values. Mentions related tool secrets_list. Complete for a read-only tool with one optional parameter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with path parameter described. Description adds meaning: optional, absolute path required if used, omission gives unified view. This goes beyond the schema's description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it shows secrets TOML with values replaced by '***', and distinguishes between with and without path. Sibling tools include secrets_list and secrets_update_fragment, so purpose is distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly describes when to use with path vs without path, and references secrets_list for file paths. However, no explicit when-not-to-use or alternatives beyond the one sibling mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toolkit_infoC

Show detailed contents of a dlt AI toolkit.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the toolkit to inspect

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
tagsYes
rulesYes
skillsYes
versionYes
commandsYes
has_ignoreYes
descriptionYes
mcp_serversNo
dependenciesNo
workflow_entry_skillNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description should disclose behavioral traits. It does not mention side effects, read-only nature, or any other behavioral aspects beyond a simple retrieval operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise with one sentence, no wasted words. However, it could be expanded slightly to include more context without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (one parameter, output schema present), the description is minimally adequate. But considering sibling tools and lack of usage guidance, it's not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear description for the single parameter. The tool description adds no additional semantic meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Show' and the resource 'detailed contents of a dlt AI toolkit', distinguishing it from sibling tools like 'list_toolkits' which likely provide summaries, not details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like list_toolkits or other inspection tools. Missing context about prerequisites or typical workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 17 tool updatesv0.1.0
    • First observedexecute_sql_query
    • First observedexport_schema
    • First observedget_local_pipeline_state
    • First observedget_row_counts
    • First observedget_table_create_sql
    • First observedget_table_schema
    • First observedget_workspace_info
    • First observedlist_pipelines
    • First observedlist_profiles
    • First observedlist_tables
    • First observedlist_toolkits
    • First observedpreview_table
    • First observedsearch_dlthub_sources
    • First observedsecrets_list
    • First observedsecrets_update_fragment
    • First observedsecrets_view_redacted
    • First observedtoolkit_info

TDQS

A3.7/5.0

Scored across 17 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: SQL queries, schema export, pipeline state, row counts, table DDL, table schema, workspace info, pipeline listing, profiles, tables, toolkits, preview, source search, and secrets management. No significant overlap.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (e.g., execute_sql_query, list_pipelines, secrets_update_fragment). No mixing of conventions.

Tool Count5/5

17 tools is well-scoped for a dlt pipeline workbench, covering schema, state, secrets, and workspace information without being overwhelming.

Completeness4/5

Covers most exploration and configuration needs, but lacks pipeline execution or creation tools, which could be a gap for an AI workbench.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers