{"id":"pragunbhutani-dbt-llm-agent","name":"dbt-llm-agent","homepage":"https://ragstar.vercel.app","repo_url":"https://github.com/pragunbhutani/dbt-llm-agent","category":"ai-ml","subcategories":[],"tags":["ai-data-analysis","dbt","mcp","rag","semantic-search","slack","self-hosted"],"what_it_does":"Self-hosted web app/agent for answering data questions about a dbt project using a knowledge base built from dbt models and documentation. It includes a Next.js dashboard, a Django/DRF backend, background workers, and an optional self-hosted MCP server with OAuth2 authentication for LLM clients to query dbt model/project information.","use_cases":["Natural-language Q&A over dbt models and documentation","Assisted data analysis workflows for analytics teams using dbt as the source of truth","LLM clients querying dbt model metadata via MCP (self-hosted deployments)","Semantic search across dbt docs/models to find relevant tables and logic","Slack-based /ask integration for querying and exploration"],"not_for":["Hosted/SaaS deployments where MCP is not available (per README limitation)","Use cases requiring a client-agnostic, fully documented public API contract (OpenAPI/SDKs not shown)","Strict environments that disallow OAuth client auto-registration or relaxed CORS settings (ALLOWED_ORIGINS='*' is mentioned as a config example)"],"best_when":"You run Ragstar self-hosted with Docker Compose, have a dbt project connected, and want LLM-driven analysis plus optional MCP tool access from compatible LLM clients.","avoid_when":"You cannot or will not handle OAuth2 configuration, database/pgvector setup, and operational overhead of a self-hosted stack (Django/Next.js/Celery/DB).","alternatives":["Semantic search + RAG over dbt docs with custom pipelines (vector store + embeddings + LLM)","dbt documentation + internal wiki/search with LLM augmentation","Text-to-SQL tools integrated with your warehouse and dbt metadata (custom tooling)","Other MCP-capable data/DB assistants (where available) or direct MCP wrappers over dbt artifacts"],"af_score":44.2,"security_score":65.0,"reliability_score":23.8,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T13:39:53.325696+00:00","interface":{"has_rest_api":true,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":"http://localhost:8080","has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["NextAuth (session cookies) for dashboard login (NEXTAUTH_SECRET/NEXTAUTH_URL) ","OAuth 2.0 (PKCE) for MCP server (self-hosted only) using RFC 8414 metadata discovery"],"oauth":true,"scopes":true,"notes":"README indicates organization-scoped access for MCP via OAuth2 with PKCE and JWT tokens. For MCP, configuration includes an ALLOWED_ORIGINS option (example shows '*' which may be risky if used as-is)."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"No SaaS pricing described; project appears MIT open source and self-hosted. Costs depend on LLM provider API keys, embedding generation, and infrastructure."},"requirements":{"requires_signup":true,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":44.2,"security_score":65.0,"reliability_score":23.8,"mcp_server_quality":68.0,"documentation_accuracy":55.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":70.0,"rate_limit_clarity":10.0,"tls_enforcement":60.0,"auth_strength":80.0,"scope_granularity":75.0,"dependency_hygiene":40.0,"secret_handling":60.0,"security_notes":"README documents OAuth2 with PKCE and organization-scoped access for MCP, plus JWT token expiry behavior. However, it provides a potentially unsafe CORS example (ALLOWED_ORIGINS='*') and does not provide details on TLS enforcement, secrets logging practices, or dependency/Vuln management. LLM provider API keys are required via environment variables.","uptime_documented":0.0,"version_stability":35.0,"breaking_changes_history":35.0,"error_recovery":25.0,"idempotency_support":"false","idempotency_notes":null,"pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["MCP server is described as self-hosted only and may be temporarily disabled while stabilizing streaming support (beta/experimental caveat).","1:1 client-server relationship: each MCP client needs a dedicated server instance per README limitation.","ALLOWED_ORIGINS example is set to '*'—agents/services in security-restricted environments should override to specific origins.","Need dbt models loaded/connected; otherwise MCP 'No Models Found' scenario is possible."]}}