Looker Alternative: Agent-Native Analytics with a Semantic Layer
Comparing Looker and Bonnard? Bonnard ships governed metrics to AI agents, embedded React charts, and markdown dashboards. Open source. No LookML required.
Looker pioneered the semantic layer. LookML gave data teams a way to define business logic once and query it everywhere. That was a genuine step forward. But Looker is enterprise-only, expensive, and built for a world before AI agents existed.
Bonnard takes the same core idea, a governed semantic layer, and makes it open source, agent-native, and shippable from the terminal. Metrics defined in YAML, served via MCP to AI agents, embedded in your product with React components, and deployed with bon deploy. No LookML. No six-figure contract.
Bonnard vs Looker at a Glance
| Feature | Looker | Bonnard |
|---|---|---|
| Semantic layer | LookML (proprietary) | YAML cubes + views |
| AI agent support (MCP) | No | Native (publishable keys per tenant) |
| Pricing | $60K+/yr (Enterprise only) | Free (Apache 2.0, all features) |
| License | Proprietary | Apache 2.0 (server), MIT (CLI) |
| Multi-tenancy | Row-level access per user group | Built-in (publishable keys + row-level security) |
| Embedded analytics | Looker Embed API + custom build | React SDK (BarChart, LineChart, BigValue) |
| Dashboards | LookML dashboards | Markdown dashboards, deployed via CLI |
| CLI workflow | None | bon init, bon deploy, bon mcp, bon query |
| Pre-aggregation / caching | Persistent Derived Tables | Built-in cache |
| Schema format | LookML | YAML |
| Self-hosting | Not available | Docker Compose, full features |
Where does Looker fall short?
LookML Is Proprietary
LookML is a DSL that only works inside Looker. Your semantic layer is locked to a single vendor. If you leave Looker, you rewrite everything.
Bonnard uses YAML. Same cubes, measures, and dimensions concept, but in a format that lives in your repo, works with any editor, and isn't tied to a proprietary runtime. Version it in Git. Review it in PRs. No vendor lock-in.
No MCP Support
Looker has no MCP integration. You can query Looker's API from custom code, but there's no way for Claude, Cursor, ChatGPT, or CrewAI to connect directly to your Looker instance as a governed data source.
Bonnard deploys as an MCP server. bon mcp generates connection configs for your AI client of choice. For customer-facing use cases, generate publishable keys per tenant so your customers connect their own AI tools to their own data. Row-level security on every query.
Enterprise Pricing
Looker starts at roughly $60K per year and goes up from there. That's before you factor in Google Cloud platform costs, professional services, and the team needed to maintain LookML. For startups and mid-market companies, the math doesn't work.
Bonnard is Apache 2.0. Self-host for free with every feature included: MCP server, React SDK, markdown dashboards, multi-tenancy, pre-aggregation, RBAC, admin UI, CLI. Bonnard Cloud is available for teams that want managed infrastructure.
Embedding Requires Custom Build
Looker's embed SDK gives you iframes and an API. Building a polished embedded analytics experience means writing a custom frontend layer, handling auth flows, and managing Looker's embedding infrastructure.
The @bonnard/react SDK ships BarChart, LineChart, BigValue, and useBonnardQuery as production-ready components. Embed governed, multi-tenant charts directly in your product. No iframe, no custom auth layer.
No Markdown Dashboards
Looker dashboards are built in the Looker UI or defined in LookML. There's no way to author dashboards alongside your code and deploy them from the terminal.
Bonnard dashboards are written in markdown and deployed with bon deploy. Each tenant gets their own view, access-controlled automatically. Dashboards live in your repo next to your schema.
How does Bonnard differ?
YAML, Not LookML
Define total_revenue in a YAML cube. 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. No proprietary DSL. What is a semantic layer?
Agent-Native from Day One
Bonnard was built for a world where AI agents query your data. MCP server, publishable keys per tenant, row-level security on every query. Your customers can connect Claude Desktop or Cursor to their own metrics without your team writing a single integration. Read more about agentic analytics.
Open Source, Full-Featured Self-Host
No tiered pricing. No enterprise-only features. The self-hosted version includes everything: MCP, React SDK, dashboards, multi-tenancy, pre-aggregation, RBAC, audit logging, admin UI, CLI. Apache 2.0.
CLI-First Workflow
bon init scaffolds your project. bon deploy pushes schema and dashboards. bon mcp configures AI agent connections. bon query tests from the terminal. bon datasource add --from-dbt imports existing dbt models. Ship from the terminal, not a GUI.
Who should stay with Looker?
Looker is the right tool if:
- You have a deep Google Cloud investment and Looker is already integrated with BigQuery, Vertex AI, and your GCP stack
- Your team has a large LookML codebase that would be costly to rewrite
- You need Looker's specific visualization capabilities and Explore interface for non-technical analysts
- Enterprise pricing isn't a constraint and you're satisfied with the existing Looker workflow
FAQ
Can I import my LookML into Bonnard?
Not directly. LookML is proprietary to Looker. But the concepts map cleanly: LookML views become Bonnard cubes, dimensions and measures translate to YAML equivalents. A typical migration takes days, not months.
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.
Does Bonnard support BigQuery?
Yes. Same warehouse connectors as any semantic layer: Snowflake, BigQuery, PostgreSQL, Databricks, Redshift, DuckDB, ClickHouse. No data migration required.
How does Bonnard handle governance compared to Looker?
Bonnard defines access control in YAML alongside your schema. Row-level security, RBAC, and audit logging are built in. Every query, from every surface and tenant, resolves to the same governed metric definitions.
Can Bonnard work alongside Looker?
Yes. Some teams layer Bonnard on top of their existing warehouse alongside Looker. Bonnard handles the AI agent and embedded analytics use cases that Looker doesn't cover, while Looker continues serving internal Explore workflows.
Skip the LookML. Ship the metrics.
Define your semantic layer in YAML, deploy with one command, and ship governed analytics to every AI agent and surface.