Cube Alternative: Agent-Native Semantic Layer for B2B

Comparing Cube and Bonnard? Bonnard builds on Cube's engine and adds MCP for AI agents, embedded React analytics, markdown dashboards, multi-tenant publishable keys, and a CLI-first workflow.

6 min read

Cube pioneered the YAML-based semantic layer. If you've used Cube, you know the model: define cubes, measures, and dimensions in schema files, query them via API. Bonnard builds on Cube's query engine and adds everything you need to ship agentic analytics to your customers.

Bonnard wraps Cube with an MCP server, React SDK, markdown dashboards, multi-tenant publishable keys, a deploy API, admin UI with schema catalog, and a CLI-first workflow. You get the battle-tested Cube engine with a product layer built for B2B.

Bonnard vs Cube at a Glance

Feature Cube (standalone) Bonnard (includes Cube)
Semantic layer engine Cube Cube (same engine)
MCP for AI agents No Native (publishable keys per tenant)
Embedded analytics REST API + custom build React SDK (BarChart, LineChart, BigValue)
Dashboards None Markdown dashboards, deployed via CLI
Multi-tenancy Security contexts (manual) Publishable keys + row-level security
Schema deployment File system or Cube Cloud bon deploy API (no restart)
Admin UI Playground (dev mode) Schema catalog with change history + graph view
CLI tooling None bon deploy, bon schema, bon mcp, bon query
TypeScript SDK REST client @bonnard/sdk with type-safe queries
Auth JWT (manual setup) Token exchange + publishable keys
RBAC and audit logging Cube Cloud only Built-in
Pre-aggregation CubeStore Same pre-aggregation engine
Schema format YAML / JavaScript YAML
License Apache 2.0 (server) Apache 2.0 (server), MIT (CLI)
Forward deployed engineers No Available

What Bonnard Adds

MCP Server with Publishable Keys

Cube exposes a REST API and a SQL API. Both work, but neither speaks MCP, the protocol that Claude, Cursor, ChatGPT, and CrewAI use to connect to external data.

Bonnard adds an MCP server with four tools: explore_schema, query, sql_query, and describe_field. Run bon mcp and get connection configs for your AI client of choice.

For customer-facing use cases, generate publishable keys per tenant. Your customers connect their own AI tools to their own data, with row-level security on every query. This is the difference between "deploy an MCP server" and "ship agentic analytics to your customers."

Connecting to the Bonnard MCP server in Claude Desktop

React SDK for Embedded Analytics

Cube gives you a REST API and expects you to build your own frontend. Bonnard ships @bonnard/react with production-ready components: BarChart, LineChart, BigValue, and useBonnardQuery. Drop governed, multi-tenant charts into your product without building a chart layer from scratch.

Markdown Dashboards

Cube has no dashboard layer. Bonnard lets you author dashboards in markdown and deploy them alongside your schema with bon deploy. Each tenant gets their own dashboard view with access controls applied automatically.

Deploy API and CLI

With standalone Cube, updating your schema means modifying files on the server's filesystem or using Cube Cloud. Bonnard adds a deploy API. bon deploy pushes your YAML cubes, views, and dashboards to the running server over HTTP. Schema changes are picked up automatically. No restart, no SSH, no cloud account required.

The CLI also gives you:

  • bon init to scaffold your project (with agent docs, skills, and rules included)
  • bon schema to inspect deployed models
  • bon mcp to configure AI agent connections
  • bon query to test queries from the terminal
  • bon datasource add --from-dbt to import dbt models

Admin UI with Schema Catalog

Cube's Playground is a development tool. Bonnard includes a production admin UI with a full schema catalog: browse models, views, and measures; inspect field definitions and change history with diffs; switch between list view and graph view of your schema relationships. See exactly what your customers will see before it goes live.

Multi-Tenancy That Works Out of the Box

Cube's multi-tenancy uses "security contexts" that require JavaScript configuration and careful connection pool management per tenant.

Bonnard handles multi-tenancy with publishable keys and row-level security. Token exchange maps your existing auth into the security context. Every query is filtered automatically. No JavaScript config, no per-tenant schema compilation.

RBAC and Audit Logging

Cube Cloud gates RBAC and audit logging behind their managed offering. Bonnard includes both. Control who queries what, with permissions per team, role, and consumer. Every query is logged by agent, app, or user.

Self-Host or Bonnard Cloud

Self-hosted (Apache 2.0): Run the full stack on your infrastructure with Docker Compose. All features included: MCP server, React SDK, markdown dashboards, multi-tenancy, pre-aggregation, RBAC, audit logging, admin UI, CLI.

Bonnard Cloud: Same product, managed infrastructure. Automatic updates, monitoring, zero ops.

Enterprise: Dedicated infrastructure, SSO (SAML/OIDC), SCIM, data residency controls, custom SLAs.

Forward deployed engineers: If your team needs help shipping, Bonnard engineers work alongside you to get your semantic layer and analytics into production.

When to Use Cube Directly

Cube standalone makes sense if:

  • You need Cube's JavaScript schema for dynamic model generation (Bonnard uses YAML only)
  • You're building on Cube Cloud and want their managed infrastructure and monitoring
  • You don't need MCP support, embedded React analytics, markdown dashboards, or multi-tenant publishable keys
  • You have existing tooling around Cube's REST/GraphQL APIs and prefer to build your own product layer

Coming from Cube? Migration Is Straightforward

The core concepts are the same: cubes define business entities, measures define calculations, dimensions define grouping axes. If you have existing Cube YAML schemas, drop them into your bonnard/cubes/ and bonnard/views/ directories and run bon deploy. Bonnard doesn't support Cube's JavaScript schemas.

Same warehouse connectors: Snowflake, BigQuery, PostgreSQL, Databricks, Redshift, DuckDB, ClickHouse. No data migration, no new drivers.

Getting Started

npx @bonnard/cli init --self-hosted
docker compose up -d
bon deploy
bon mcp

Read the documentation or view the source on GitHub.

FAQ

Does Bonnard replace Cube?

No. Bonnard includes Cube as its semantic layer engine. Bonnard adds MCP, React SDK, markdown dashboards, multi-tenant publishable keys, a deploy API, admin UI, RBAC, audit logging, and CLI tooling on top.

Can I use my existing Cube schemas with Bonnard?

If you have YAML schemas, yes. Drop them in and run bon deploy. Bonnard doesn't support Cube's JavaScript schemas.

Is Cube open source?

Yes. Cube's server is Apache 2.0, same as the Bonnard server. Cube Cloud adds managed infrastructure and features on top. Bonnard takes a similar approach: open-source server with all features, optional managed cloud.

Is Bonnard compatible with dbt?

Yes. bon datasource add --from-dbt imports your dbt models. Layer Bonnard metrics on top of your existing transformations.

How long does setup take?

From zero to proof of concept in a week. bon init scaffolds the full stack. If your team needs help, Bonnard forward deployed engineers can work alongside you.

Everything Cube gives you, plus the product layer.

MCP server, React SDK, markdown dashboards, multi-tenant publishable keys, and a CLI to ship it all.