MCPcopy
hub / github.com/rilldata/rill

github.com/rilldata/rill @v0.87.8 sqlite

repository ↗ · DeepWiki ↗ · release v0.87.8 ↗
40,087 symbols 97,028 edges 2,247 files 14,112 documented · 35%
README
<a href="https://rilldata.com/" target="_blank">
    <img width="10%" src="https://cdn.prod.website-files.com/659ddac460dbacbdc813b204/660b0f85094eb576187342cf_rill_logo_sq_gradient.svg" alt="Rill logo">
</a>

Agent-first, human-friendly business intelligence

<a href="https://github.com/rilldata/rill/raw/v0.87.8/LICENSE.md" target="_blank">
    <img src="https://img.shields.io/github/license/rilldata/rill.svg" alt="GitHub license">
</a>
<a href="https://github.com/rilldata/rill/releases" target="_blank">
    <img src="https://img.shields.io/github/tag/rilldata/rill.svg" alt="GitHub tag (latest SemVer)">
</a>
<a href="https://github.com/rilldata/rill/commits" target="_blank">
    <img src="https://img.shields.io/github/commit-activity/y/rilldata/rill.svg" alt="GitHub commit activity">
</a>
<a href="https://github.com/rilldata/rill/graphs/contributors" target="_blank">
    <img src="https://img.shields.io/github/contributors-anon/rilldata/rill.svg" alt="GitHub contributors">
</a>
<a href="https://github.com/rilldata/rill/releases" target="_blank">
    <img src="https://img.shields.io/github/downloads/rilldata/rill/total.svg" alt="GitHub downloads">
</a>
<a href="https://github.com/rilldata/rill/actions/workflows/rill-cloud.yml" target="_blank">
    <img src="https://github.com/rilldata/rill/actions/workflows/rill-cloud.yml/badge.svg" alt="CI/CD">
</a>

Docs · Data Talks


Rill dashboard

Rill is the fastest BI tool for humans and agents, powered by OLAP engines like ClickHouse and DuckDB.

Get Started

curl https://rill.sh | sh        # install
rill start my-project            # create a project and open the UI

Scaffold a project with agent context

Use rill init to scaffold a project interactively:

➜ rill init
? Project name my-rill-project
? OLAP engine duckdb
? Agent instructions claude

Created a new Rill project at ~/my-rill-project
Added Claude instructions in .claude and .mcp.json

Success! Run the following command to start the project:

  rill start my-rill-project

Why Rill?

  • Build with agents — BI-as-code (YAML + SQL) means coding agents like Claude Code and Cursor can author projects, dashboards, and security policies end-to-end
  • Semantic layer — Single source of truth for dimensions, measures, and time grains — defined in YAML, generating SQL at query time against your OLAP engine
  • Explore with agents — Conversational BI lets business users query metrics in natural language; the MCP server connects AI agents directly to your semantic layer
  • Real-time performance — Sub-second queries at any scale; ClickHouse for billions of rows, DuckDB for smaller datasets and fast iteration
  • Embeddable — Dashboards, APIs, and agent interfaces you can ship in your product

Capabilities

Rill Developer (local)

  • Connectors — S3, GCS, databases, and 20+ sources
  • OLAP Engines — Managed ClickHouse or DuckDB included, or connect an external engine (ClickHouse Cloud, Druid, Pinot, MotherDuck)
  • SQL Models — Transform raw data with SQL, join models together
  • Data Profiling — Instant column stats and distributions
  • Incremental Ingestion — Load only new data on each run to keep large datasets current without full refreshes
  • Semantic Layer — Dimensions, measures, and time grains in YAML
  • Row Access Policies — Per-user, per-group data access control
  • Local Dashboards — Preview and explore dashboards locally

Rill Cloud

How It Works

Define everything in code — models, metrics, dashboards — and Rill handles the rest.

1. Connect datamodels/events.yaml

type: model
connector: duckdb
materialize: true

sql: |
  select * from read_parquet('gs://rilldata-public/auction_data.parquet')

2. Define metricsmetrics/events_metrics.yaml

version: 1
type: metrics_view
model: events
timeseries: timestamp

dimensions:
  - name: country
    column: country
  - name: device
    column: device_type

measures:
  - name: total_events
    expression: count(*)
  - name: revenue
    expression: sum(price * quantity)
    description: Total revenue

3. Create a dashboarddashboards/events_explore.yaml

type: explore

display_name: "Events Dashboard"
metrics_view: events_metrics

dimensions: "*"
measures: "*"

4. Deploy

rill deploy                      # push to Rill Cloud

Your metrics view is immediately queryable on Rill Cloud — add YAML files to configure dashboards, alerts, and custom APIs.

Learn More

Getting Started with Rill DeveloperExploring Data with RillData Talks on the RocksAgentic Analytics with Claude Code and Rill

Examples

Example Description Links
Programmatic Ads Bidstream data for pricing and campaign performance GitHub · Demo
Cost Monitoring Cloud infra merged with customer data GitHub · Demo
GitHub Analytics Contributor activity and commit patterns GitHub · Demo

Or explore a live embedded dashboard.

Community

Discord Twitter GitHub Discussions

Contributing

We welcome contributions! See our Contributing Guide to get started.

Extension points exported contracts — how you extend this code

Reconciler (Interface)
Reconciler implements reconciliation logic for all resources of a specific kind. Reconcilers are managed and invoked by [14 …
runtime/controller.go
Resolver (Interface)
Resolver represents logic, such as a SQL query, that produces output data. Resolvers are used to evaluate API requests, [13 …
runtime/resolver.go
ModelExecutor (Interface)
ModelExecutor executes models. A ModelExecutor may either be the a model's input or output connector. [16 implementers]
runtime/drivers/models.go
Connection (Interface)
Connection is a connection that may be cached. [29 implementers]
runtime/pkg/conncache/conncache.go
Tool (Interface)
Tool is an interface for an AI tool. [22 implementers]
runtime/ai/ai.go
Driver (Interface)
Driver is the interface for DB drivers. [28 implementers]
admin/database/database.go
LocalServiceClient (Interface)
LocalServiceClient is a client for the rill.local.v1.LocalService service. [5 implementers]
proto/gen/rill/local/v1/localv1connect/api.connect.go
BaseCanvasComponentConstructor (Interface)
(no doc) [12 implementers]
web-common/src/features/canvas/components/util.ts

Core symbols most depended-on inside this repo

Errorf
called by 5533
runtime/testruntime/testmode/expensive.go
String
called by 2471
runtime/drivers/dialect.go
Validate
called by 1397
runtime/resolver.go
Context
called by 1391
runtime/testruntime/testruntime.go
Run
called by 961
runtime/controller.go
Error
called by 751
admin/database/errors.go
Close
called by 634
runtime/drivers/olap.go
push
called by 474
web-common/src/runtime-client/v2/heap.ts

Shape

Method 25,930
Function 7,689
Struct 2,782
Class 1,846
Interface 889
TypeAlias 847
Enum 86
FuncType 18

Languages

Go73%
TypeScript27%
Python1%

Modules by API surface

proto/gen/rill/admin/v1/api.pb.validate.go4,973 symbols
proto/gen/rill/admin/v1/api.pb.go3,524 symbols
web-common/src/proto/gen/rill/admin/v1/api_pb.ts2,659 symbols
proto/gen/rill/runtime/v1/api.pb.validate.go1,612 symbols
proto/gen/rill/runtime/v1/queries.pb.validate.go1,430 symbols
proto/gen/rill/runtime/v1/queries.pb.go1,316 symbols
proto/gen/rill/runtime/v1/api.pb.go1,139 symbols
proto/gen/rill/runtime/v1/resources.pb.go1,058 symbols
proto/gen/rill/runtime/v1/resources.pb.validate.go1,027 symbols
web-common/src/proto/gen/rill/runtime/v1/api_pb.ts872 symbols
proto/gen/rill/admin/v1/api_grpc.pb.go826 symbols
web-common/src/proto/gen/rill/runtime/v1/queries_pb.ts774 symbols

Dependencies from manifests, versioned

cel.dev/exprv0.25.1 · 1×
cloud.google.com/gov0.121.0 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.8 · 1×
cloud.google.com/go/bigqueryv1.66.2 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
cloud.google.com/go/monitoringv1.24.0 · 1×
cloud.google.com/go/storagev1.52.0 · 1×
connectrpc.com/connectv1.16.2 · 1×
connectrpc.com/vanguardv0.3.0 · 1×
dario.cat/mergov1.0.2 · 1×

Datastores touched

postgresDatabase · 1 repos
(mysql)Database · 1 repos
my-dbDatabase · 1 repos
my-dbDatabase · 1 repos
mydbDatabase · 1 repos
analyticsDatabase · 1 repos
dbDatabase · 1 repos
dbnameDatabase · 1 repos

For agents

$ claude mcp add rill \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact