OpenPipeline

From SELECT * to plain English.

OpenPipeline turns every dbt model into a story anyone can read. Every change, from a teammate or an AI agent, goes to the data's owner before it lands.

Try the live demo Read the docs GitHub

The OpenPipeline model graph for the jaffle_shop example

Agents propose, owners approve

1. Propose

A teammate opens a pull request, or an AI agent files a proposal through the MCP server after checking its idea on sample rows.

2. Understand

The change is explained in plain English or your own business words, with every model, column, rule and owner it touches downstream.

3. Approve

The owner accepts or rejects it on the graph. Nothing is written to your dbt files until a person says yes.

Built for the people around your data

Business readers

Click a box and read what the model does, where its data comes from, and what one row means. No SQL needed. Business rules are named, owned, and linked to the models that carry them.

Data engineers

Nothing to migrate. It reads your plain dbt files, writes plain dbt files, does not run dbt, and needs no warehouse credentials. Stop any time and your project is as it was.

AI agents

An MCP server lets agents such as Claude read the project and propose changes. A person reviews each one on the graph and accepts or rejects it. Agents never write to your project directly.

Try it in one command

pip install openpipeline
openpipeline demo

This copies the bundled jaffle_shop example to a temporary folder, files one pending proposal from an imaginary agent, and starts the server at http://127.0.0.1:8484. Or poke at a read-only copy right here.

What it looks like

A model open in OpenPipeline: its plain-English story, columns, and rules next to the graph
Each model explained step by step, in plain words.
A pending proposal shown on the graph, with the new model in green
A proposed change shown on the graph before anyone accepts it.