CW

canner/wrenai

Developer tools
18K stars Quality 71 Trend 62NOASSERTION

WrenAI is the open-source . It gives the AI agents you already use (Claude Code, Cursor, MCP clients, LangChain) a and an , so they turn business questions into correct SQL, ship the answer as a...

Overview

WrenAI is the open-source . It gives the AI agents you already use (Claude Code, Cursor, MCP clients, LangChain) a and an , so they turn business questions into correct SQL, ship the answer as a...

README


What WrenAI is

WrenAI is the open-source generative BI (GenBI) engine. It gives the AI agents you already use (Claude Code, Cursor, MCP clients, LangChain) a governed semantic layer and an AI context layer, so they turn business questions into correct SQL, ship the answer as a shareable dashboard, and stay inside your guardrails.

Schemas tell an agent where data lives. Wren tells it what the data means: approved metric definitions, enums, units, joins, worked examples, and the tribal knowledge buried in docs and chat threads. All of it lives as reviewable YAML and Markdown in a repo you own.

Quickstart

Three commands, then your agent does the rest. Works with Claude Code, Cursor, Cline, Codex, and 50+ other agents.

1. Install the CLI

pip install wrenai

Add connector extras as you need them, for example pip install "wrenai[postgres,memory]".

2. Teach your agent about Wren

npx skills add Canner/WrenAI

This installs a ~50-line discovery stub. Your agent fetches full workflow guides from the CLI on demand, so instructions always match the installed version.

3. Open your agent in a project folder and ask

“Use Wren to set up my Postgres database.”

The agent checks your environment, creates a connection profile, scaffolds the project, and runs a first query.

No database handy? Say “Use Wren with the bundled jaffle_shop sample” and run the same flow against a real sample warehouse.

Then keep going

Once you’re connected, these three prompts cover the whole GenBI loop:

Beat Ask your agent What happens
Know “Enrich my Wren project with the business context in raw/.” Runs wren skills get enrich-context. Writes definitions, examples, and memory as reviewable files.
Generate “Who are our top 10 customers by sales this quarter?” Recalls MDL context and past queries, writes governed SQL, executes via wren query.
Deploy “Turn that into a dashboard I can filter and share, deployed to Vercel.” Runs wren skills get genbi. Builds a browser-side app and returns a live URL on your Vercel or Cloudflare Pages account.

Why agent builders pick WrenAI

  • Answers and dashboards, not just SQL. Generate a governed answer, deploy it as a dashboard, share the URL. One agent-driven loop, end to end.
  • Correct instead of confidently wrong. Schema-aware retrieval, MDL planning, dry-plan validation, row limits, value profiling, and structured errors with hints keep agent SQL inside guardrails.
  • Business meaning lives in Git. Metric definitions, enums, approved joins, and proven examples are versioned files. Review them in a pull request. Diff them. Take them with you.
  • Works through the agents you already run. Claude Code, Cursor, Cline, Codex, MCP clients, LangChain. Wren is a layer, not another chat UI to adopt.
  • Sits on your existing stack. Warehouse, transformation pipelines, existing semantic models. 22+ sources on one Apache DataFusion engine.
  • Open by default. Core engine, SDK, and skills under Apache-2.0. It runs without us.

How Wren compares

A raw LLM agent A traditional BI tool A bare semantic layer WrenAI
Writes SQL for you ✅ (often wrong) ❌ ❌ ✅ governed
Knows your business definitions ❌ partial, in-tool ✅ (schema only) ✅ + non-schema knowledge
Generates & deploys dashboards ❌ ✅ (manual, in-tool) ❌ ✅ agent-driven
Works through your agents (Claude Code, Cursor, MCP…) ✅ ❌ ❌ ✅
Open, reviewable, Git-friendly context ❌ ❌ partial ✅
Governed execution across 22+ sources ❌ per-connector ✅ (definitions only) ✅

Wren is for you if…

  • You want AI agents to produce trustworthy BI, answers and dashboards, not just plausible SQL.
  • Your business logic (definitions, enums, units, approved joins) lives outside the database and your agents keep getting it wrong.
  • You want a context layer that is open, reviewable, and version-controlled, usable by every agent and every person, not gated behind one vendor’s UI.

Skip Wren if you only need a one-off chart from a single CSV, or you’re happy letting an agent guess at SQL with no governance.

Take it to your team with git push

Everything Wren writes on your laptop is plain YAML and Markdown in a repo you own. Git Sync turns that same repo into a governed, team-wide GenBI deployment in Wren Cloud or a self-hosted installation, including air-gapped. Nothing to export, nothing to re-model.

  • No new CLI to learn. Bind a directory once with wren cloud create or wren cloud link. After that, git push and git pull are the entire interface.
  • Metrics reviewed like code. A change to net_revenue shows up as a readable diff in a pull request on GitHub, GitLab, Bitbucket, or your own remote. Run CI on it. Promote staging to production like application code.
  • You keep the repo, always. Clone it, back it up, feed it to another tool, or leave with it, any time.
  • No reusable credential on disk. Every push authenticates with a fresh token that expires in 600 seconds. The durable key stays in ~/.wren/cloud.yml (mode 0600) and is never handed to git.
$ git push
To cloud.getwren.ai/acme/wren-analytics.git
   9f2c1a4..b71e0d3  main -> main
✔ deploy queued · model queryable in Wren Cloud

Open core: what’s OSS, what’s commercial

The engine in this repo (MDL semantic layer, governed text-to-SQL, MCP server, CLI, 22+ connectors) is Apache-2.0, free forever, and self-hostable. The following are commercial, delivered as Wren AI Cloud or self-hosted Enterprise Plus:

  • Row- and column-level security and access control with users and groups
  • GenBI UI, dashboards, embedded and APIs
  • Scenario AI harnesses: GenBI Apps, Agentic Mode, AI-assisted context preparation
  • Advanced security and audit, support and SLAs, plus cloud, VPC, and air-gapped deployment

Same engine underneath. Your MDL stays in your Git either way. Read the published boundary →

Under the hood

Semantic layer (MDL)

Wren is a governed semantic layer, expressed in the Modeling Definition Language (MDL): a Git-friendly definition of what your data means, not just where it lives. Every answer and dashboard is planned against it.

  • Models, columns, relationships, views: the shape of your data, decoupled from any one warehouse.
  • Cubes and metrics: approved, reusable definitions so “revenue” means the same thing everywhere.
  • Context beyond the schema: enums, units, approved joins, and definitions in instructions.md and queries.yml.

What’s included

  • Engine: Apache DataFusion based. BigQuery, Snowflake, PostgreSQL, ClickHouse, Amazon Redshift, Databricks, DuckDB, and more. Connect a database →
  • GenBI dashboards: agent-built, browser-side apps powered by wren-core-wasm, deployable to Vercel or Cloudflare Pages
  • Knowledge and memory: version-controlled instructions.md and queries.yml, plus a local LanceDB memory index with hybrid retrieval
  • Agent SDKs: wren-langchain (LangChain / LangGraph), wren-pydantic, and a reference Python integration for other stacks. SDK overview →
  • Governed execution primitives: functions, dry-plan validation, row limits, structured errors

Day-to-day commands

wren skills get onboarding         # workflow guide: set up project + first query
wren skills get enrich-context     # workflow guide: add business context
wren skills get genbi              # workflow guide: build & deploy a dashboard

wren query --sql '...'             # query through the MDL semantic layer
wren ask "" --guided     # wrap a question for a weaker agent
wren ask "" --direct     # wrap a question for a stronger agent

Full reference: CLI · MDL · Architecture

What’s next

  • End-to-end correctness primitives: value profiling, rich retrieval, structured errors, golden eval runner
  • Agent-native distribution: first-class SDKs across major agent frameworks

Vote on what ships next in GitHub Discussions →

FAQ

Documentation

Community

  • 💬 Discord: get unstuck fast, chat with the team and other builders
  • 🐙 GitHub Discussions: design conversations, RFCs, roadmap votes
  • 🐦 Twitter / X: release notes and short updates
  • 🗞 Blog: vision, post-mortems, deep dives

Contributing

We build in the open. Issues, PRs, connectors, SDK integrations, and docs fixes are all welcome.

Contributors

License

Apache 2.0. See LICENSE.


View the full README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add canner/wrenai
New to MCP? Start with the mcpskill.org guide →