{"id":"astoriel-dbt-doctor","name":"dbt-doctor","homepage":null,"repo_url":"https://github.com/Astoriel/dbt-doctor","category":"devtools","subcategories":[],"tags":["ai-ml","devtools","infrastructure","dbt","mcp-server","data-profiling","governance","documentation","schema-drift","yaml-generation"],"what_it_does":"dbt-doctor is a Python Model Context Protocol (MCP) server that connects an AI assistant to a dbt project to audit project quality, profile warehouse data, detect schema drift vs manifest.json, suggest dbt tests, and update schema.yml non-destructively via ruamel.yaml.","use_cases":["Assess overall dbt project health (documentation/testing/naming)","Rank models by test coverage and identify gaps","Profile a model/columns in the data warehouse (null rates, cardinality, min/max, uniqueness)","Detect schema drift by comparing warehouse columns to manifest definitions","Generate/merge schema.yml updates and documentation suggestions","Create actionable dbt test recommendations based on profiling statistics"],"not_for":["Running write operations to the warehouse or modifying database schema/data","Production governance workflows that require strict SLAs or formally documented operational guarantees","Organizations needing a REST/GraphQL API or prebuilt SDKs instead of MCP"],"best_when":"You want an AI-assisted, conversational workflow for dbt project auditing and schema.yml governance using MCP, with access to a reachable data warehouse and a compiled dbt target/manifest.json.","avoid_when":"You cannot allow read-only warehouse querying or schema.yml rewriting (even if non-destructive/append-only), or you require a standard HTTP API surface with OpenAPI/SDKs rather than MCP.","alternatives":["dbt-labs/dbt-mcp (dbt command execution via MCP)","dbt-coverage (coverage reporting CLI)","Custom scripts using dbt + manifest.json parsing + YAML templating","dbt packages like audit/quality/test generators (where available)"],"af_score":59.5,"security_score":57.2,"reliability_score":25.0,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T13:49:39.478129+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["MCP server run locally via CLI/args"],"oauth":false,"scopes":false,"notes":"No user-facing auth mechanism described for the MCP server itself. Access control appears to rely on local execution and the underlying warehouse connector configuration provided by the dbt project environment."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Open-source (MIT) package; pricing not described."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":59.5,"security_score":57.2,"reliability_score":25.0,"mcp_server_quality":70.0,"documentation_accuracy":75.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":90.0,"rate_limit_clarity":10.0,"tls_enforcement":60.0,"auth_strength":55.0,"scope_granularity":35.0,"dependency_hygiene":70.0,"secret_handling":70.0,"security_notes":"Security design claims: read-only execution for `execute_query`, SQL identifier validation against a whitelist to reduce injection risk, stateless connections where credentials are instantiated per connection and not cached, and a preview before rewriting schema.yml. However, detailed auth/access control for the MCP server is not described, and the dependency list is limited without evidence of vulnerability status.","uptime_documented":0.0,"version_stability":35.0,"breaking_changes_history":25.0,"error_recovery":40.0,"idempotency_support":"false","idempotency_notes":"README claims non-destructive YAML writing and that it only appends missing information, which suggests some repeatability, but explicit idempotency guarantees (e.g., no duplicate entries, deterministic merges) are not documented.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Requires `dbt compile` prior to usage so `target/manifest.json` exists.","`execute_query` depends on being able to perform read-only SQL against the configured warehouse; failures likely occur if credentials/network permissions are missing.","YAML updates depend on having writable access to schema.yml files; ensure filesystem permissions and review diffs before commit.","Tool coverage: only the listed MCP tools are described; if the assistant requests additional operations, capability gaps may surface as errors."]}}