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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions