Metabase Alternative: Open-Source Agentic Analytics

Looking for a Metabase alternative with AI agent support, multi-tenancy, and a semantic layer? Bonnard is the open-source analytics layer built for B2B products.

8 min read

Metabase is great for internal dashboards. Stand it up, point it at a database, drag and drop. But if you're building analytics into a B2B product, you hit walls fast: no semantic layer, no native multi-tenancy, no AI agent support, and embedding requires an Enterprise license.

Bonnard takes a different approach. Instead of another dashboard tool, it's a governed analytics layer for B2B products. Define metrics in YAML, and ship them to your customers via MCP, embedded React charts, markdown dashboards, REST API, or the TypeScript SDK. Multi-tenancy and row-level security are built in from bon init.

Bonnard vs Metabase at a Glance

Feature Metabase Bonnard
Primary use case Internal dashboards Customer-facing analytics for B2B
Semantic layer No Yes (YAML cubes + views)
AI agent support No MCP server with publishable keys per tenant
Multi-tenancy Manual (separate DBs or sandboxing) Built-in (row-level security, token exchange)
Embedded analytics Enterprise license ($500+/mo) React SDK (BarChart, LineChart, BigValue)
Dashboards Visual builder Markdown dashboards, deployed via CLI
SDKs REST only React, TypeScript, REST, SQL
Pre-aggregation / caching No Yes (built-in cache)
Metric governance No Yes (YAML definitions, audit logging)
RBAC Enterprise only Built-in
Self-host pricing Free (OSS) / $500+/mo (Pro) Free (Apache 2.0, all features)
License AGPL (Enterprise: proprietary) Apache 2.0 (server), MIT (CLI)

Where Metabase Falls Short for B2B

No Semantic Layer

Metabase lets anyone write questions against raw tables. Two analysts can define "revenue" differently in two saved questions, and both live in the same collection. There's no central metric definition. No single source of truth.

With Bonnard, metrics are defined once in YAML as cubes and views. Every query, from every surface and every tenant, resolves to the same definition. Your customers get the same numbers your internal team sees. Read more about why semantic layers matter for AI agents.

Multi-Tenancy Is Bolted On

Metabase's "sandboxing" feature isolates data per group, but it requires the Enterprise license and significant configuration. The alternative is running separate Metabase instances per tenant, which doesn't scale.

Bonnard handles multi-tenancy at the semantic layer. Row-level security rules filter every query based on tenant context. Token exchange maps your existing auth into the security context. No extra instances, no enterprise-only features. It works from day one.

No AI Agent Integration

Metabase has no MCP support and no agent-ready APIs. You can hit the Metabase API, but you're querying saved questions, not governed metric definitions.

Bonnard deploys as an MCP server. Add the HTTP URL (like https://mcp.bonnard.dev/mcp) to your MCP client config for Claude Desktop, Cursor, Claude Code, and other compatible clients. Auth uses OAuth 2.0 with PKCE. For customer-facing use cases, create publishable keys per tenant in Settings > API Keys so your customers can connect their own AI tools to their own data, with row-level security enforced on every query.

Embedding Requires Enterprise License

Metabase's free tier can't embed dashboards. Static embedding is Pro ($500+/month). Interactive embedding is Enterprise (custom pricing). For B2B products where embedded analytics is the core feature, that cost adds up fast.

The @bonnard/react SDK ships BarChart, LineChart, BigValue, DashboardViewer, BonnardChart, and useBonnardQuery as production-ready components. Embed governed, multi-tenant analytics directly in your product. No per-seat license conversation. Theming uses CSS custom properties (--bon-bg, --bon-text, --bon-border, --bon-radius) and built-in color palettes (default, tableau, observable, metabase, or a custom array) via the palette prop on BonnardProvider.

On top of that, markdown dashboards let you author and deploy dashboards alongside your schema with bon deploy. Every tenant gets their own view, access-controlled automatically.

How Bonnard Differs

One Schema, Every Surface

Define total_revenue in YAML. Query it from an AI agent via MCP, render it in a React BarChart, display it on a markdown dashboard, or fetch it from the TypeScript SDK. Same number everywhere. What is a semantic layer?

Customer-Facing from Day One

Publishable keys per tenant. MCP configs per customer. Row-level security on every query. Bonnard is built for shipping analytics to your customers, not just your internal team.

Embedded Analytics Without the License Fee

The React SDK gives you chart components that query the semantic layer directly. useBonnardQuery handles loading, caching, and access control. Build the analytics your customers actually want.

Full CLI Workflow

bon init scaffolds your project and generates agent configs for Claude Code, Cursor, and Codex. bon deploy pushes schema and dashboards. bon diff previews changes before deploying. bon pull downloads deployed models locally. bon schema explores deployed measures, dimensions, and views. bon docs browses documentation from the CLI. bon mcp outputs MCP connection configs for your agents. bon query tests from the terminal. bon datasource add --from-dbt imports existing dbt models. Ship from the terminal, not a GUI.

Admin UI and Schema Catalog

Browse deployed models, views, and measures. Inspect field definitions and change history with diffs. Graph view of your schema relationships. See exactly what your customers will see before it goes live.

Self-Host or Cloud

Self-host for free with Apache 2.0, all features included. Or use Bonnard Cloud for managed infrastructure with automatic updates and zero ops. Enterprise plans add SSO, SCIM, data residency, and custom SLAs.

If your team needs help shipping, our forward deployed engineers can work alongside you to get analytics into production.

Metabase embedding vs Bonnard React SDK

This is the most common comparison for B2B teams. Here's the detail:

Metabase embedding tiers:

  • Static embedding (Pro, $500+/mo): Embed a dashboard as a read-only iframe. No interactivity. Limited styling. Suitable for simple reporting.
  • Interactive embedding (Enterprise, custom pricing): Full Metabase experience inside an iframe. Users can filter, drill, and explore. More flexible but still an iframe with Metabase's UI.
  • Both require Metabase Pro or Enterprise licensing. The open-source version can embed individual questions via public links but with no auth, no multi-tenancy, and no branding control.

Bonnard React SDK:

  • Native React components (BigValue, BarChart, LineChart, AreaChart, PieChart, DataTable, DashboardViewer, BonnardChart). Not iframes.
  • Styled with your design system via CSS custom properties (--bon-bg, --bon-text, --bon-border, --bon-radius). Built-in color palettes (tableau, observable, metabase, default) or custom.
  • Multi-tenancy via BonnardProvider with publishable key or token exchange (fetchToken for production B2B).
  • Free. Apache 2.0. No per-seat, per-embed, or per-tenant licensing.

For teams evaluating Metabase for customer-facing analytics: the Pro/Enterprise licensing cost alone often exceeds the total cost of running Bonnard Cloud. And Metabase's embedding is dashboards only. Bonnard serves dashboards, APIs, AI agents, and SDK components from the same governed definitions.

Migrating from Metabase

Phase 1: Add governed metrics alongside Metabase. Keep Metabase for internal dashboards. Add Bonnard as the semantic layer on the same database. Define your key metrics in YAML. This gives you AI agent access and API serving immediately without touching existing dashboards.

Phase 2: Replace customer-facing embeds. If you're embedding Metabase for customers, replace iframes with @bonnard/react components. Multi-tenancy moves from Metabase sandboxing to publishable keys with structural row-level security. The React components are native to your product's UI.

Phase 3: Migrate internal dashboards (optional). Replace high-traffic Metabase dashboards with markdown dashboards deployed via bon dashboard deploy. Keep Metabase for ad-hoc exploration if your team prefers the visual query builder.

Most teams don't fully replace Metabase. They use Bonnard for the use cases Metabase can't handle (AI agents, multi-tenant SDK embedding, governed APIs) and keep Metabase for internal drag-and-drop exploration.

Who Should Stay with Metabase

Metabase is the right tool if:

  • You need visual dashboards for non-technical users with drag-and-drop query building
  • Internal-only analytics with no multi-tenancy or customer-facing requirements
  • You're already deep in the Metabase ecosystem with hundreds of saved questions
  • You don't need AI agent integration, a semantic layer, or embedded analytics in your product

If you're evaluating other tools alongside Metabase, see our comparisons with Looker, Tableau, and dbt Metrics.

FAQ

Is the Bonnard server free to self-host?

Yes. Apache 2.0. The self-hosted version includes every feature: MCP server, React SDK, markdown dashboards, multi-tenancy, pre-aggregation, RBAC, admin UI, CLI.

Can I self-host like Metabase?

Yes. npm install -g @bonnard/cli and npx @bonnard/cli init --self-hosted followed by docker compose up -d gets you running in minutes. For Cloud, use bon init instead. The GitHub repo covers production deployment.

Does Bonnard have a visual query builder?

Bonnard focuses on governed, multi-tenant analytics shipped via MCP, SDKs, and dashboards. The admin UI includes a schema catalog for exploring your semantic layer. For ad-hoc visual exploration, your AI agent becomes the query interface.

Can I migrate from Metabase?

Bonnard isn't a drop-in replacement. Metabase is a dashboarding tool; Bonnard is a semantic layer that ships governed analytics to AI agents and B2B products. If you're looking to add governed metrics, multi-tenancy, or AI agent support to your data stack, Bonnard complements or replaces the analytics layer.

What about Metabase's community?

Metabase has a large, established community. Bonnard is newer but growing. Join our Discord or open a GitHub issue.

Analytics your customers can query.

Governed metrics, multi-tenant access control, and MCP for AI agents. Self-host free or use Bonnard Cloud.