Skip to content

RFC: First-class support for agentic / autonomous agent use #107

@stumelius

Description

@stumelius

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 json vs --output text mode? Should errors be machine-readable?
  • Discoverability: Can an agent easily discover what commands exist and what arguments they take? (e.g. --help output, 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 --wait is 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions