[hypequery](https://hypequery.com/) › dbt Semantic Layer Alternatives (2026): 9 Options Compared | hypequery
Index for agents: https://hypequery.com/llms.txt
Canonical page: https://hypequery.com/semantic-layer/dbt-semantic-layer-alternatives

> Alternatives to the dbt Semantic Layer compared by model format, supported databases (including ClickHouse), query APIs, MCP for AI agents, licence and whether you keep dbt: Cube, hypequery, Lightdash, Wren AI, Boring Semantic Layer, Malloy, AtScale and warehouse-native layers.

[Open sourceApache 2.0](https://github.com/hypequery/hypequery)

Semantic layer

# dbt Semantic Layer alternatives

Last updated November 14, 2026

Nine options for teams that like defining metrics as code but need something the dbt Semantic Layer does not give them: a database it does not support, APIs without a paid plan, metrics served inside a product, or an agent that cannot write SQL.

[Comparison table ](#compare)[Why teams switch](#why)

Definition

## What is the dbt Semantic Layer?

The dbt Semantic Layer lets you define semantic models and metrics in YAML inside a dbt project, and query them by name through GraphQL, JDBC and Python APIs and BI integrations. It is powered by MetricFlow, which is open source, while the hosted APIs are part of the paid dbt platform.

An alternative replaces the metric definitions and the serving layer. It does not replace dbt itself: every option below can read tables that dbt builds.

Why teams look elsewhere

## Five reasons to look beyond the dbt Semantic Layer

| Reason                                 | Detail                                                                                                                                                                                                               | Options to look at                                   |
| -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| Your database is not supported         | The dbt Semantic Layer supports Snowflake, BigQuery, Databricks, Redshift, Postgres and Trino. ClickHouse, MySQL and others are not on the list.                                                                     | hypequery (ClickHouse), Cube, Wren AI, Lightdash     |
| You need APIs without a paid plan      | MetricFlow is open source, but the Semantic Layer APIs and integrations need a dbt Starter, Enterprise or Enterprise+ plan. Caching and multiple credentials are Enterprise features.                                | Cube Core, hypequery, Wren AI, Boring Semantic Layer |
| Metrics are served inside your product | Customer-facing analytics needs tenant isolation and an API your app calls in-process or over HTTP. The dbt Semantic Layer applies the warehouse credentials mapped to each token, with no tenant rule in the model. | hypequery, Cube                                      |
| The consumers are agents               | You want an MCP server that only queries named metrics. The dbt MCP server includes SQL and CLI tools alongside its Semantic Layer tools; each can be switched off.                                                  | hypequery, Cube, AtScale, Boring Semantic Layer      |
| Everything is on one platform          | If all data and users are in Snowflake or Databricks, a semantic model stored in the warehouse removes a moving part.                                                                                                | Snowflake semantic views, Databricks metric views    |

At a glance

## The options side by side

Checked against each project’s own docs, repository or pricing page on November 13 and 14, 2026. The dbt Semantic Layer is the first row, for reference.

|                        | Model format               | Databases                                                         | How apps query it                             | MCP for agents                           | Licence or plan                   |
| ---------------------- | -------------------------- | ----------------------------------------------------------------- | --------------------------------------------- | ---------------------------------------- | --------------------------------- |
| dbt Semantic Layer     | YAML in the dbt project    | Snowflake, BigQuery, Databricks, Redshift, Postgres, Trino        | GraphQL, JDBC, Python SDK; BI integrations    | dbt MCP server                           | Paid dbt plan (Starter and up)    |
| Cube                   | YAML or JavaScript         | Many, including ClickHouse                                        | REST, GraphQL, Postgres-wire SQL              | Hosted, Cube Cloud                       | Core Apache 2.0; Cloud paid       |
| hypequery              | TypeScript or Python       | ClickHouse only                                                   | Typed HTTP API, React hooks, in-process calls | Built in, no SQL tool                    | Apache 2.0                        |
| Lightdash              | dbt YAML or Lightdash YAML | dbt adapters, including ClickHouse                                | BI UI                                         | Lightdash Cloud; Enterprise to self-host | MIT, enterprise folder commercial |
| Wren AI                | MDL                        | 22+, including ClickHouse                                         | CLI                                           | Yes                                      | Apache 2.0 code; Cloud commercial |
| Boring Semantic Layer  | Python                     | Ibis backends                                                     | Python                                        | Built in                                 | MIT                               |
| Malloy                 | Malloy language            | BigQuery, Snowflake, DuckDB, Postgres and more; no ClickHouse     | Publisher REST                                | Publisher                                | MIT                               |
| AtScale                | SML (YAML)                 | Snowflake, Databricks, BigQuery, Redshift and more; no ClickHouse | BI tool integrations                          | Remote, read-only tools                  | Commercial; SML Apache 2.0        |
| Snowflake / Databricks | SQL DDL / YAML             | Their own platform                                                | Platform SQL and APIs                         | Platform agents and MCP                  | Platform pricing                  |

The options

## Nine alternatives, and who each suits

### Cube

A standalone semantic layer service. Cube Core’s backend is Apache 2.0; models are YAML or JavaScript files. Serves REST, GraphQL and SQL over the Postgres wire protocol, and Cube Cloud adds a hosted MCP server on all plans.

**Best for:** One model over several databases, feeding BI tools, applications and agents at once.

**Watch out:** Another service to run, or a Cube Cloud bill. Metrics move out of the dbt project into Cube’s model files.

### hypequery

A semantic layer defined in TypeScript or Python inside your application. Datasets, measures, relationships and a tenant key are code; the same definition serves a typed HTTP API, React hooks and an MCP server. Apache 2.0.

**Best for:** ClickHouse, which the dbt Semantic Layer does not support, and analytics that live inside your product.

**Watch out:** ClickHouse only. No BI tool integrations, no dashboards. Python is in beta. Metrics live in the app repo, not the dbt project.

### Lightdash

An open-source BI tool that reads metrics from your dbt YAML, or from standalone Lightdash YAML. MIT, except an enterprise folder under a commercial licence. Adapters include ClickHouse.

**Best for:** dbt teams that want BI on top of their existing YAML without moving definitions.

**Watch out:** It is a BI tool first. Its MCP server is on Lightdash Cloud; self-hosting it needs an Enterprise licence.

### Wren AI

An open-source semantic layer and AI agent stack. Models are written in its Modeling Definition Language (MDL); built on Apache DataFusion; MCP server and CLI; 22+ connectors including ClickHouse. Code Apache 2.0.

**Best for:** Text-to-SQL and chat over a governed model, on many databases.

**Watch out:** A separate modelling language from dbt. Cloud and Enterprise Plus editions are commercial.

### Boring Semantic Layer

A small Python semantic layer built on Ibis, with a built-in MCP server. MIT.

**Best for:** Python teams that want a lightweight model and agent access with little setup.

**Watch out:** Young project. Its docs do not name ClickHouse among tested backends.

### Malloy

A semantic modelling and query language built on SQL. MIT. Malloy Publisher serves models over REST and MCP.

**Best for:** Analysts who want a modelling language that composes better than SQL.

**Watch out:** A new language to learn. Engines include BigQuery, Snowflake, DuckDB, Postgres and others, but not ClickHouse.

### AtScale

A commercial semantic layer for enterprise BI, with an open model format (SML, YAML, Apache 2.0) and a remote MCP server whose tools are read-only.

**Best for:** Enterprises serving Excel and Power BI from Snowflake, Databricks or BigQuery.

**Watch out:** Commercial and enterprise-sized. Its integrations list does not include ClickHouse.

### Snowflake semantic views and Databricks metric views

Semantic models stored in the warehouse itself: CREATE SEMANTIC VIEW in Snowflake, Unity Catalog metric views in YAML on Databricks. Each has an agent on top (Cortex Analyst, Genie).

**Best for:** Teams whose data, users and agents all live on one platform.

**Watch out:** Definitions do not travel to other platforms.

### MetricFlow on its own

The engine behind the dbt Semantic Layer is Apache 2.0. You can define metrics and query them locally with the mf CLI without a dbt platform plan.

**Best for:** Keeping dbt metric YAML and generating SQL yourself.

**Watch out:** Without the paid platform there are no Semantic Layer APIs or integrations, so you build the serving layer.

On ClickHouse

## If your metrics need to run on ClickHouse

This is the most common reason the dbt Semantic Layer is off the table: dbt can transform data in ClickHouse, but the Semantic Layer cannot query it. Your choices are a service that supports ClickHouse among many sources (Cube, Wren AI), BI on top of dbt YAML (Lightdash), or a layer built for ClickHouse.

hypequery is the last kind. Datasets are TypeScript or Python files that point at the tables dbt builds; measures can use ClickHouse aggregates; a tenant key scopes every query; and the same definitions serve your API, React hooks and [an MCP server with no SQL tool](https://hypequery.com/semantic-layer/analytics-mcp-server). The [dbt MetricFlow guide](https://hypequery.com/semantic-layer/dbt-metricflow) maps each MetricFlow concept to its hypequery equivalent.

How to choose

## A short decision path

1. Is your database on dbt’s supported list, and are you on a paid plan? If yes, and your consumers are BI tools, the dbt Semantic Layer may be the least work. Stay.
2. Is everything on one warehouse platform? Look at its native semantic model first.
3. Do you need one model across many databases and BI tools? Cube.
4. Do you mainly want BI over the dbt YAML you already have? Lightdash.
5. Is the data in ClickHouse, and are the consumers your product and its agents? hypequery.
6. Enterprise Excel and Power BI on Snowflake or Databricks? AtScale.

Questions

## dbt Semantic Layer alternatives FAQ

### What are the best alternatives to the dbt Semantic Layer?

It depends on why you are leaving. For ClickHouse, hypequery and Cube are the main options, since the dbt Semantic Layer does not support ClickHouse. For one model across many databases and BI tools, Cube. For BI on top of existing dbt YAML, Lightdash. For a single platform, Snowflake semantic views or Databricks metric views. For enterprise Excel and Power BI, AtScale.

### Does the dbt Semantic Layer support ClickHouse?

No. dbt’s FAQ lists Snowflake, BigQuery, Databricks, Redshift, Postgres and Trino as the supported platforms, and says other platforms are not available at this time. You can still use dbt to transform data in ClickHouse; it is the Semantic Layer that is not supported.

### Is there an open-source alternative to the dbt Semantic Layer?

Yes. Cube Core (Apache 2.0 backend), hypequery (Apache 2.0), Wren AI (Apache 2.0 code), Boring Semantic Layer (MIT), Malloy (MIT) and Lightdash (MIT apart from an enterprise folder) are all open source. MetricFlow itself is Apache 2.0, but the hosted Semantic Layer APIs are part of the paid dbt platform.

### Does the dbt Semantic Layer have caching?

Yes, on Enterprise and Enterprise+ plans. dbt describes a result cache and a declarative cache, both stored in your data platform, and activated by client opt-in. Starter plans have the Semantic Layer without caching.

### Can I keep dbt and use a different semantic layer?

Yes, and most teams do. dbt builds the tables; the semantic layer defines metrics over them. Lightdash reads metrics straight from dbt YAML; Cube, hypequery and the others query the tables dbt builds, so dbt keeps the transformation work.

### How hard is it to move metrics off the dbt Semantic Layer?

The concepts map closely: semantic models become datasets or cubes, entities become joins, simple metrics become measures, ratio and derived metrics become formulas. The work is rewriting YAML in the new format and re-pointing every consumer at a new API. Conversion metrics usually have no direct equivalent.

Guides

## More on semantic layers

### [What is a semantic layer](https://hypequery.com/semantic-layer)

[What a semantic layer is, the five places one can live, and how dbt MetricFlow, Snowflake semantic views, Databricks metric views and OSI compare with a layer defined in code.](https://hypequery.com/semantic-layer)

[Read](https://hypequery.com/semantic-layer)

### [dbt Semantic Layer and MetricFlow](https://hypequery.com/semantic-layer/dbt-metricflow)

[Semantic models, metric types and the Semantic Layer APIs, compared with a semantic layer defined in code.](https://hypequery.com/semantic-layer/dbt-metricflow)

[Read](https://hypequery.com/semantic-layer/dbt-metricflow)

### [Snowflake semantic views](https://hypequery.com/semantic-layer/snowflake-semantic-views)

[CREATE SEMANTIC VIEW, the SEMANTIC_VIEW() query and Cortex Analyst, compared with a semantic layer defined in code.](https://hypequery.com/semantic-layer/snowflake-semantic-views)

[Read](https://hypequery.com/semantic-layer/snowflake-semantic-views)

### [Databricks metric views](https://hypequery.com/semantic-layer/databricks-metric-views)

[Unity Catalog metric views in YAML, the MEASURE() function and Genie, compared with a semantic layer defined in code.](https://hypequery.com/semantic-layer/databricks-metric-views)

[Read](https://hypequery.com/semantic-layer/databricks-metric-views)

### [Open Semantic Interchange (OSI)](https://hypequery.com/semantic-layer/open-semantic-interchange)

[The vendor-neutral spec for exchanging semantic models: who is behind it, what the format covers and what it leaves out.](https://hypequery.com/semantic-layer/open-semantic-interchange)

[Read](https://hypequery.com/semantic-layer/open-semantic-interchange)

### [Open-source semantic layer tools](https://hypequery.com/semantic-layer/open-source-tools)

[Open-source semantic layers compared by licence, model format, databases, APIs and MCP support, including Cube Core, MetricFlow and hypequery.](https://hypequery.com/semantic-layer/open-source-tools)

[Read](https://hypequery.com/semantic-layer/open-source-tools)

### [Semantic layer for AI agents](https://hypequery.com/semantic-layer/ai-agents)

[Why agents need named metrics instead of raw SQL, what to check (no SQL tool, tenant scope, query limits) and how each semantic layer exposes MCP tools.](https://hypequery.com/semantic-layer/ai-agents)

[Read](https://hypequery.com/semantic-layer/ai-agents)

### [Analytics MCP server](https://hypequery.com/semantic-layer/analytics-mcp-server)

[Database MCP servers that run SQL versus semantic layer servers that query named metrics, what to check before production, and how the main servers compare.](https://hypequery.com/semantic-layer/analytics-mcp-server)

[Read](https://hypequery.com/semantic-layer/analytics-mcp-server)

### [Data access control](https://hypequery.com/semantic-layer/access-control)

[Tenant isolation, row-level and column-level rules, cache scoping and a pre-launch test list for dashboards, embedded analytics and agents.](https://hypequery.com/semantic-layer/access-control)

[Read](https://hypequery.com/semantic-layer/access-control)

### [ClickHouse semantic layer](https://hypequery.com/clickhouse-semantic-layer)

[Define datasets, measures and tenant keys for ClickHouse in TypeScript or Python.](https://hypequery.com/clickhouse-semantic-layer)

[Read](https://hypequery.com/clickhouse-semantic-layer)

### [hypequery vs Cube](https://hypequery.com/compare/hypequery-vs-cube)

[A code-first library compared with a standalone semantic layer service.](https://hypequery.com/compare/hypequery-vs-cube)

[Read](https://hypequery.com/compare/hypequery-vs-cube)

## Sources

Vendor pages used for this page, all read on November 13 and 14, 2026.

- dbt Labs

  - [docs.getdbt.com/docs/use-dbt-semantic-layer/sl-faqs](https://docs.getdbt.com/docs/use-dbt-semantic-layer/sl-faqs)
  - [docs.getdbt.com/docs/dbt-cloud-apis/sl-api-overview](https://docs.getdbt.com/docs/dbt-cloud-apis/sl-api-overview)
  - [github.com/dbt-labs/metricflow](https://github.com/dbt-labs/metricflow)
  - [github.com/dbt-labs/dbt-mcp/blob/main/README.md](https://github.com/dbt-labs/dbt-mcp/blob/main/README.md)

- Cube

  - [github.com/cube-js/cube](https://github.com/cube-js/cube)
  - [github.com/cube-js/cube/blob/master/docs-mintlify/docs/integrations/mcp-server.mdx](https://github.com/cube-js/cube/blob/master/docs-mintlify/docs/integrations/mcp-server.mdx)
  - [github.com/cube-js/cube/blob/master/docs-mintlify/reference/core-data-apis/sql-api/index.mdx](https://github.com/cube-js/cube/blob/master/docs-mintlify/reference/core-data-apis/sql-api/index.mdx)

- hypequery

  - [github.com/hypequery/hypequery](https://github.com/hypequery/hypequery)
  - [hypequery.com/docs/datasets/overview](https://hypequery.com/docs/datasets/overview)

- Lightdash

  - [github.com/lightdash/lightdash/blob/main/LICENSE](https://github.com/lightdash/lightdash/blob/main/LICENSE)
  - [docs.lightdash.com/references/integrations/lightdash-mcp](https://docs.lightdash.com/references/integrations/lightdash-mcp)

- Wren AI

  [github.com/Canner/WrenAI/blob/main/README.md](https://github.com/Canner/WrenAI/blob/main/README.md)

- Boring Semantic Layer

  [github.com/boringdata/boring-semantic-layer](https://github.com/boringdata/boring-semantic-layer)

- Malloy

  - [github.com/malloydata/malloy/blob/main/README.md](https://github.com/malloydata/malloy/blob/main/README.md)
  - [github.com/malloydata/publisher/blob/main/README.md](https://github.com/malloydata/publisher/blob/main/README.md)

- AtScale

  - [github.com/semanticdatalayer/SML](https://github.com/semanticdatalayer/SML)
  - [www.atscale.com/integrations/](https://www.atscale.com/integrations/)
  - [www.atscale.com/use-cases/semantic-context-ai-mcp/](https://www.atscale.com/use-cases/semantic-context-ai-mcp/)

Next step

## Define a semantic layer in your own codebase

hypequery datasets are TypeScript or Python files: dimensions, measures, joins and a tenant key, served to your API, React hooks and AI agents over MCP. Open source, for ClickHouse.

[Read the datasets docs ](https://hypequery.com/docs/datasets/overview)[ClickHouse semantic layer](https://hypequery.com/clickhouse-semantic-layer)
