-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Labels
Description
Overview
dbt-cloud-cli is well-suited to be used as a tool by autonomous AI agents (LangChain, PydanticAI, Claude, etc.) — either invoked as a subprocess or imported as a library. This issue is a placeholder to think through what first-class agentic support actually means in practice, beyond surface-level changes like updating the README.
Background
- Issue Request: Migrate to Pydantic v2 for compatibility with modern Python stacks #106 requests migration to Pydantic v2, motivated largely by agent framework compatibility (LangChain, PydanticAI, FastAPI all require Pydantic v2). That's a prerequisite.
- dbt has its own MCP server, but it is currently unstable and not widely adopted. CLIs are often preferred by agent frameworks due to speed, simplicity, and predictability.
- There is a clear appetite for integrating dbt Cloud into agentic data workflows.
Questions to answer
- Invocation model: Should the primary integration path be subprocess (CLI) or library import? What are the tradeoffs for agents?
- Output format: Are the current JSON responses structured well for LLM consumption? Should there be a
--output jsonvs--output textmode? Should errors be machine-readable? - Discoverability: Can an agent easily discover what commands exist and what arguments they take? (e.g.
--helpoutput, a manifest endpoint, OpenAPI-style schema) - Structured tool definitions: Should we ship pre-built tool definitions for popular frameworks (LangChain
Tool, PydanticAI tool schema, OpenAI function spec)? - Authentication UX for agents: Env vars work fine for agents, but is there anything to improve around credential handling in headless/automated contexts?
- Error handling and exit codes: Are error messages and exit codes consistent enough for agents to reliably detect and recover from failures?
- Polling / async jobs:
job run --waitis already useful for agents — are there other patterns (webhooks, structured status) that would help? - Scope: Which commands matter most for agentic workflows? (e.g. triggering runs, checking status, reading artifacts — vs. admin commands like creating connections)
Related
- Request: Migrate to Pydantic v2 for compatibility with modern Python stacks #106 — Pydantic v2 migration (prerequisite for library import path)
Reactions are currently unavailable