PluginBench
Skill
Pass
Audit score 90

wren

canner/wrenai

Semantic SQL layer for 22+ databases—connect, query, and build shareable analytics apps with AI agents.

What is wren?

Wren CLI provides a semantic SQL abstraction over PostgreSQL, MySQL, BigQuery, Snowflake, Spark, and 17+ other databases. Use it when users ask data questions, need to connect databases or SaaS sources (HubSpot, Stripe, Salesforce), generate data models, enrich business context, or deploy analytics dashboards.

  • Connect and query 22+ databases through a unified semantic layer
  • Generate and regenerate MDL (Wren Modeling Language) projects from database schemas
  • Connect SaaS data sources via dlt (HubSpot, Stripe, Salesforce, GitHub, Slack)
  • Enrich data models with business context (enums, units, computed metrics like ARR, DAU, churn)
  • Build and deploy shareable GenBI web apps and dashboards to Vercel or Cloudflare
  • Execute SQL queries, dry-run transpilation, and manage connection profiles

How to install wren

npx skills add https://github.com/canner/wrenai --skill wren
Prerequisites
  • Python 3.8+
  • pip install wrenai
  • A supported database connection (Postgres, MySQL, BigQuery, Snowflake, Spark, etc.)
Claude Code
Cursor
Windsurf
Cline

How to use wren

  1. 1.Run `wren skills list` to see available workflow guides
  2. 2.Load the relevant guide: `wren skills get onboarding` (setup), `wren skills get usage` (querying), `wren skills get generate-mdl` (schema modeling), `wren skills get dlt-connector` (SaaS data), `wren skills get enrich-context` (business context), or `wren skills get genbi` (dashboards)
  3. 3.Follow the guide's step-by-step instructions within the CLI
  4. 4.Use `wren ask "<question>"` to query data through the semantic layer
  5. 5.Run `wren context show / build / validate` to manage your MDL project

Use cases

Good for
  • Answer ad-hoc data questions (how many customers, top revenue products, trends over time)
  • Set up a new data warehouse connection and auto-generate its semantic model
  • Load CRM or payment data from SaaS platforms into your analytics layer
  • Add business logic and metric definitions to make data self-service for non-technical users
  • Create and share an interactive analytics dashboard without building a custom app
Who it's for
  • Data engineers setting up semantic layers and MDL projects
  • AI agents and coding assistants answering data questions
  • Analytics teams building self-service BI tools
  • Developers deploying shareable analytics web apps

wren FAQ

What databases does Wren support?

Wren supports 22+ databases including Postgres, MySQL, BigQuery, Snowflake, Spark, and others. Run `wren docs connection-info <ds>` to see required and optional connection fields for a specific data source.

How do I connect a SaaS platform like Stripe or HubSpot?

Use the `wren skills get dlt-connector` guide to connect SaaS sources via dlt. Wren supports HubSpot, Stripe, Salesforce, GitHub, and Slack.

Can I deploy an analytics dashboard?

Yes. Use `wren skills get genbi` to build a shareable GenBI web app from your semantic layer and deploy it to Vercel or Cloudflare.

What is MDL and do I need to write it manually?

MDL (Wren Modeling Language) defines your semantic layer. You can auto-generate it from your database schema using `wren skills get generate-mdl`, then enrich it with business context.

How do I ask data questions through Wren?

Use `wren ask "<question>"` with `--guided` for weaker LLMs (strict task flow) or `--direct` for stronger LLMs (minimal wrapping).

Full instructions (SKILL.md)

Source of truth, from canner/wrenai.


name: wren description: "Wren CLI for AI agents — a semantic SQL layer over 22+ databases (Postgres, MySQL, BigQuery, Snowflake, Spark, …). The actual workflow guides live inside the wren CLI itself; this is just a discovery stub. Use whenever the user asks a data question (how many, show me, top N, compare, trend, breakdown, metric, revenue, customers, orders), wants to install / set up Wren Engine, connect a new database, connect SaaS data via dlt (HubSpot, Stripe, Salesforce, GitHub, Slack), generate or regenerate an MDL project from a database schema, enrich a project with business context (enum meanings, units, cubes like ARR / DAU / churn), or turn a project's context layer into a shareable GenBI web app / dashboard and deploy it to Vercel or Cloudflare. Triggers: 'install wren', 'set up wren engine', 'connect database to wren', 'connect SaaS to wren', 'load hubspot / stripe / salesforce data', 'generate mdl', 'scaffold wren project', 'enrich wren context', 'augment my project', 'add cubes', 'build a dashboard', 'make a shareable analytics app', 'deploy my context layer as a web app', 'genbi app', 'wren onboarding', 'wren usage', 'wren generate mdl', 'wren dlt connector', 'wren enrich context', 'wren genbi'." license: Apache-2.0 allowed-tools: Bash(wren:*)

Wren CLI

This is a discovery stub. The actual workflow guides and prompt helpers live inside the wren CLI itself, so they always match the installed wrenai version (no skill cache, no version drift).

Install: pip install wrenai.

Workflow guides

wren skills list                        # all available workflow guides
wren skills get onboarding              # set up Wren end-to-end
wren skills get usage                   # day-to-day querying
wren skills get generate-mdl            # generate MDL from a database schema
wren skills get dlt-connector           # connect SaaS sources via dlt
wren skills get enrich-context          # add business context (units, enums, cubes)
wren skills get genbi                   # build & deploy a shareable GenBI web app
# add --full to include the skill's reference docs
# add --script <name> to fetch a bundled script (e.g. dlt-connector / introspect_dlt)

Reference docs

Full reference docs live on the web: https://github.com/Canner/WrenAI/tree/main/docs/core

wren docs connection-info <ds>          # required + optional connection fields for a data source

Prompt enhancement (wraps a user question for an agent)

wren ask "<question>" --guided          # for weaker LLMs (strict task flow)
wren ask "<question>" --direct          # for stronger LLMs (minimal wrapping)

Day-to-day data commands (not a sub-app — top-level)

wren --sql '...'                        # execute SQL through the MDL layer
wren query --sql '...'                  # same, explicit
wren dry-plan --sql '...'               # transpile only, no DB hit
wren context show / build / validate    # project / MDL lifecycle
wren profile add / list / switch        # named connection profiles
wren memory index / recall / store      # semantic memory (needs `[memory]` extra)

Run wren --help for the full surface; load the matching wren skills get <name> guide before driving any multi-step workflow.