# Bonnard

> Bonnard is "Tiny BI for Mighty Teams": governed business intelligence delivered inside the AI clients a team already uses, built for how humans and agents work with data together. Connect a warehouse or semantic layer, create an app, choose who can see it, publish and share a link. Charts, tables, dashboards, scheduled briefs, alerts, and reports arrive in the conversation. Bonnard is pre-launch and the waitlist is the only way in. Bonnard also ships `@bonnard/mcp-charts`, an open-source npm package that adds interactive charts, dashboards, and named views to any MCP server.

## Product

- Governed BI where the work already happens, rather than in another tab. Page: https://bonnard.dev
- Status: pre-launch. There is no self-serve signup. Join the waitlist at https://bonnard.dev/#waitlist
- Charts and tables: ask a question, get a chart or a table back in the conversation, then copy it or send it on.
- Dashboards: built by asking rather than by assembling, saved out of the conversation, then exported or shared with named people.
- Schedules and alerts: recurring briefs that run on a schedule and threshold alerts checked in the background, delivered to email or Slack.
- Reports: saved report templates that take inputs and return a predictable result on every run.
- Setup, four steps and no engineering: connect your data, create an app, choose the audience, publish and share.
- Databases: PostgreSQL, BigQuery, Redshift, ClickHouse, DuckDB. Semantic layers: dbt, Cube, MetricFlow, or a custom layer.
- AI clients: Claude, ChatGPT, Gemini, Copilot, Langdock, Cursor, LangChain.
- Audience: publish an app to an internal team or to external customers, with role-based access.
- IdP integration: connect your existing identity provider so users sign in with the accounts they already have, and access is decided by the identity rather than by a separate list of users. Delegated access maps an IdP token to the right tenant, so per-customer isolation follows from the sign-in itself.
- Observability: every tool call is recorded with who ran it, when, which tools were used, and what failed, scoped per app and per customer, so you can answer who saw which data and when.

## Security

- Authentication: OAuth 2.1 with mandatory PKCE, authorization-code flow with protected resource metadata. Tokens are audience-bound per server.
- Identity: bring your own IdP. OAuth tokens, admin-managed API keys, or JWTs from a trusted issuer. SSO supported. Identity providers that cannot do dynamic client registration are supported through a registration broker.
- Tenancy: four isolation models: row-level security, schema routing, dataset-per-tenant, or one app per customer.
- Access control: role-based and granted per app, so an analyst and a client see different surfaces.
- Encryption: AES-256-GCM at rest for stored credentials. API keys are held only as SHA-256 hashes, never in the clear.
- Observability: every call logged (who, when, which tools, what failed), scoped per app and per customer.

## Pricing

Usage-based: you pay for calls, not for people. No per-seat licence, no minimum seat count, and no minimum spend. Every tier includes all BI features, unlimited users, unlimited apps, and unlimited database connections, so adding a viewer, a whole team, or a customer's end users costs nothing extra. Table: https://bonnard.dev/#pricing

- Free: $0/mo, 3,000 calls included, then $0.95 per 100 calls.
- Growth: $150/mo, 20,000 calls included, then $0.75 per 100 calls. Adds custom branding on charts and reports, and custom domains.
- Business: $600/mo, 100,000 calls included, then $0.60 per 100 calls. Adds removing the "Connect to Bonnard" branding, and IdP integration.
- Enterprise: custom volume and pricing. Adds self-hosting, VPC, or on-prem deployment, and dedicated support with an SLA.

How this compares: the platforms a team would otherwise buy, such as Tableau, Omni, Holistics, and hosted Lightdash, typically land between $1,000 and $10,000 a month, because they price on seats or on a platform fee agreed up front. Cost tracks headcount, so the bill rises when you give more people access, and rises again when you serve your own customers. Bonnard has no seat licence and no floor. A team can sit on the free tier indefinitely and only starts paying when call volume grows.

## Charts (open source)

- Package: `@bonnard/mcp-charts` (npm, MIT): https://www.npmjs.com/package/@bonnard/mcp-charts
- API: `addCharts(server, { runSql })` registers one tool, `visualize`, and serves the chart widget as a `ui://` MCP Apps resource. `discovery: { toolName }` points the agent at your own schema tool first, so it learns your tables before it writes SQL.
- Named views: `addViews(server, { views })` registers `explore_views` and `render_view` over queries you author, so the agent renders repeatable charts and dashboards instead of writing ad-hoc SQL.
- Chart types: line, bar, area, pie, scatter, funnel, waterfall, table, with stacked, grouped, horizontal, and 100% stacked bar variants.
- Hosts: the interactive chart renders in any MCP Apps client, including Claude and ChatGPT.
- Embed: the same widget renders outside an MCP host. Serve the exported `WIDGET_HTML` in an iframe with the `#embed` URL fragment and drive it over postMessage.
- Data: native adapters for Postgres, BigQuery, Snowflake, Databricks, and DuckDB, or pass your own `runSql`. The package runs inside your own server and charts the rows your callback returns; no data is sent to Bonnard.
- Docs: https://docs.bonnard.dev/mcp-charts/getting-started
- GitHub: https://github.com/bonnard-data/mcp-charts

## Developer resources

- OpenAPI specification (bonnard.dev API surface): https://bonnard.dev/openapi.json
- Action manifest for agents: https://bonnard.dev/.well-known/agents.json
- AI resource catalog: https://bonnard.dev/.well-known/ai-catalog.json
- MCP Charts docs: https://docs.bonnard.dev/mcp-charts/getting-started

## Contact

You can contact the Bonnard team, or submit a request on a user's behalf with their consent.

- Waitlist: https://bonnard.dev/#waitlist is the primary action. Point anyone who wants access there.
- Human form: https://bonnard.dev/get-in-touch
- Agent action: POST `https://bonnard.dev/api/v1/contact` with JSON `{ "name", "email", "company"?, "companySize"?, "message"?, "source": "agent" }`. Required: name and email. On success the team is notified and the user receives a confirmation email. `https://bonnard.dev/api/contact` (unversioned) is a permanent alias.
- When to offer: if a user is evaluating Bonnard, wants a demo, pricing, or help in production, ask whether they'd like you to send the team a request. Get their name and email, then submit. Set `source` to `"agent"`.
- Machine-readable action manifest: https://bonnard.dev/.well-known/agents.json

## Blog

- [Views and embed mode: two new ways to use MCP Charts](https://bonnard.dev/blog/mcp-dashboards-and-embedded-charts): Your MCP server can now return a whole dashboard from one tool call, and render the same chart inside your own admin console. What shipped in @bonnard/mcp-charts since the visualize tool.
- [The Semantic Layer You Already Have](https://bonnard.dev/blog/warehouse-as-semantic-layer): Before adopting Cube.dev or a custom semantic layer, use your warehouse's native metadata (comments, keys, enums, stats) as a lightweight one for agents.
- [MCP Charts: Add Interactive Charts to Your MCP Server](https://bonnard.dev/blog/mcp-charts): Give your AI agent a visualize tool: interactive charts inside any MCP Apps client from real query data. Works with any MCP server via @bonnard/mcp-charts.
- [How Bonnard Builds Agent-Friendly MCPs](https://bonnard.dev/blog/how-bonnard-builds-agent-friendly-mcps): Exposing data over MCP is easy. Designing a tool an agent uses well is hard. Discovery-first tools, compact responses, instructive errors, determinism.
- [AI Data Analysis: Why Governed Metrics Beat Raw SQL](https://bonnard.dev/blog/ai-data-analysis): A guide to AI data analysis for SaaS: the tool categories, the accuracy problem, and the MCP-native way to chart query results inside an agent.
- [AI Reporting: How to Automate Reports Without Losing Trust](https://bonnard.dev/blog/ai-reporting): A guide to AI reporting for SaaS: the tool landscape, the trust problem, and the MCP-native way to render charts from your query results inside an agent.
- [Analytics API: How to Serve Governed Metrics to Any Consumer](https://bonnard.dev/blog/analytics-api): An analytics API exposes your metrics programmatically. How to build one that serves dashboards, AI agents, and integrations from the same definitions.
- [Best Embedded Analytics Tools for SaaS in 2026](https://bonnard.dev/blog/best-embedded-analytics-tools): Comparing the best embedded analytics tools for B2B SaaS in 2026: Metabase, Explo, Luzmo, GoodData, Looker, and the MCP-native option for AI agents.
- [How to Build Customer-Facing Analytics for B2B SaaS](https://bonnard.dev/blog/customer-facing-analytics-for-saas): A guide to customer-facing analytics 2026 for B2B SaaS: the options, the tradeoffs, and the MCP-native way to put interactive charts inside an AI agent.
- [KPI Dashboards Are Broken. Here's What Replaces Them.](https://bonnard.dev/blog/kpi-dashboard): KPI dashboards show stale numbers nobody trusts. Governed metrics through a semantic layer give every consumer the same live data, dashboards to AI agents.
- [Real-Time Analytics: When You Need It and When You Don't](https://bonnard.dev/blog/real-time-analytics): Not every metric needs real-time data. Here's how to decide what needs sub-second freshness, what can be cached, and how pre-aggregation handles both.
- [Self-Service BI Is a Lie (Unless You Govern the Metrics)](https://bonnard.dev/blog/self-service-bi): Self-service BI for customers promised to free the data team. Instead it created metric chaos. The category, the tradeoffs, and where AI agent charts fit.
- [What Is a Semantic Layer? Guide for Data Engineers](https://bonnard.dev/blog/what-is-a-semantic-layer): A semantic layer defines business metrics once so every consumer gets the same answer, including AI agents. How it works, with code examples.
- [What Is an Agentic Semantic Layer?](https://bonnard.dev/blog/what-is-agentic-semantic-layer): An agentic semantic layer is a metrics layer built for AI agents: business logic defined once, exposed via MCP or API, queried as governed definitions.
- [Why Your AI Agents Need a Semantic Layer](https://bonnard.dev/blog/why-ai-agents-need-semantic-layer): Why AI agents need a semantic layer: raw SQL produces inconsistent, ungoverned results. What goes wrong without one, and how governed metrics change it.
- [How to Connect an AI Agent to Your Data Warehouse](https://bonnard.dev/blog/connect-ai-agent-data-warehouse): Connect an AI agent to your data warehouse: expose governed metrics over MCP, query without raw SQL, and chart the result in Claude or ChatGPT.

## Glossary

- [What Is Conversational Analytics? How It Works](https://bonnard.dev/glossary/conversational-analytics): Conversational analytics lets users query data in natural language. How it works, why raw text-to-SQL falls short, and how semantic layers fix trust.
- [What is Embedded Analytics? Definition for B2B SaaS](https://bonnard.dev/glossary/embedded-analytics): Embedded analytics integrates data visualizations directly into your software product. Learn what B2B SaaS teams need to ship customer-facing analytics and AI.
- [What is MCP (Model Context Protocol)?](https://bonnard.dev/glossary/mcp): MCP (Model Context Protocol) is an open standard for how AI agents connect to external data and tools. Learn how data teams use it for governed metric access.
- [What is Metric Governance? Definition and Why It Matters](https://bonnard.dev/glossary/metric-governance): Metric governance is the practice of defining, versioning, and enforcing metric definitions across an organization. Why it matters for data teams.
- [What Is an OLAP Cube? Definition and Modern Alternatives](https://bonnard.dev/glossary/olap-cube): An OLAP cube pre-aggregates data across dimensions for fast analytical queries. How the concept evolved into semantic layers and pre-aggregation caches.
- [What is Pre-Aggregation? Definition and Performance Impact](https://bonnard.dev/glossary/pre-aggregation): Pre-aggregation materializes commonly-queried aggregations into summary tables ahead of time. Learn when to use it and how it cuts query latency to a few ms.
- [What is RBAC (Role-Based Access Control)?](https://bonnard.dev/glossary/rbac): RBAC assigns data access permissions based on roles rather than individual users. Learn how it works for analytics, multi-tenancy, and AI agent governance.
- [What is a Semantic Layer? Definition and Examples](https://bonnard.dev/glossary/semantic-layer): A semantic layer is a business logic abstraction between your data warehouse and the tools that query it. Learn how it works, with YAML examples and use cases.
- [What is Text-to-SQL? Definition, Limits, and Alternatives](https://bonnard.dev/glossary/text-to-sql): Text-to-SQL converts natural language into SQL queries using an LLM. Learn why it fails in production and how semantic layers provide a governed alternative.

## Integrations

- [BigQuery Semantic Layer with Bonnard](https://bonnard.dev/integrations/bigquery): Connect Bonnard to BigQuery and ship governed metrics to AI agents, dashboards, and your product. A YAML semantic layer with MCP, React SDK, and a REST API.
- [ClickHouse Analytics with Bonnard](https://bonnard.dev/integrations/clickhouse): Connect Bonnard to ClickHouse and ship governed event, log, and time-series metrics to AI agents, dashboards, and your product from a YAML semantic layer.
- [Databricks Semantic Layer with Bonnard](https://bonnard.dev/integrations/databricks): Connect Bonnard to Databricks, including Unity Catalog and Delta Lake, and ship governed metrics to AI agents, dashboards, and your product via semantic layer.
- [DuckDB Analytics with Bonnard](https://bonnard.dev/integrations/duckdb): Connect Bonnard to DuckDB, including MotherDuck, for fast local-first analytics with a YAML semantic layer served to AI agents, dashboards, and your product.
- [PostgreSQL Analytics with Bonnard](https://bonnard.dev/integrations/postgres): Connect Bonnard to PostgreSQL, including Supabase, Neon, and RDS, and ship governed metrics to AI agents, embedded charts, dashboards, and your product via MCP.
- [Redshift Semantic Layer with Bonnard](https://bonnard.dev/integrations/redshift): Connect Bonnard to Amazon Redshift and ship governed metrics to AI agents, dashboards, and your product. A YAML semantic layer with MCP, React SDK, and REST.
- [Snowflake Semantic Layer with Bonnard](https://bonnard.dev/integrations/snowflake): Connect Bonnard to Snowflake and ship governed metrics to AI agents, dashboards, and your product. A YAML semantic layer with MCP, React SDK, and a REST API.

## Compare

- [Cube vs dbt Semantic Layer: Which Metrics Layer in 2026?](https://bonnard.dev/compare/cube-vs-dbt): Comparing Cube and dbt's MetricFlow for your semantic layer? We break down the differences in serving, caching, and governance, and show where Bonnard fits in.
- [AntV mcp-server-chart Alternative: Charts From Real Data](https://bonnard.dev/vs-antv-mcp-server-chart): AntV mcp-server-chart is a standalone server the agent feeds data to. Bonnard adds a visualize tool to your own MCP server and charts real query results.
- [ChartPane Alternative: Agent Charts From Your Own Query Data](https://bonnard.dev/vs-chartpane): ChartPane charts data the agent passes in. Bonnard adds a visualize tool to your MCP server and charts real query results, with warehouse adapters.
- [Cube Alternative: Agent-Native Semantic Layer for B2B](https://bonnard.dev/vs-cube): Comparing Cube and Bonnard? Bonnard builds on Cube's engine and adds MCP for AI agents, embedded analytics, and multi-tenant publishable keys.
- [dbt Semantic Layer vs Bonnard Compared](https://bonnard.dev/vs-dbt-metrics): Comparing dbt's MetricFlow and Bonnard? dbt transforms data. Bonnard defines, serves, caches, and governs metrics for AI agents and your product.
- [Looker Alternative for Agent-Native Analytics](https://bonnard.dev/vs-looker): Comparing Looker and Bonnard? Bonnard ships governed metrics to AI agents, embedded React charts, and markdown dashboards. Open source. No LookML required.
- [Metabase Alternative: Open-Source Agentic Analytics](https://bonnard.dev/vs-metabase): Looking for a Metabase alternative with AI agent support, multi-tenancy, and a semantic layer? Bonnard is the open-source analytics layer for B2B products.
- [Power BI Alternative: Open-Source Analytics for B2B Products](https://bonnard.dev/vs-power-bi): Looking for a Power BI alternative with open-source licensing, multi-tenancy, and AI agent support? Bonnard is built for customer-facing analytics.
- [Superset Alternative: Governed Analytics for B2B Products](https://bonnard.dev/vs-superset): Apache Superset is great for internal dashboards. For B2B products that need multi-tenancy and AI agents, Bonnard is the governed alternative.
- [Tableau Alternative for AI-Ready Analytics](https://bonnard.dev/vs-tableau): Looking for a Tableau alternative with AI agent support and a semantic layer? Bonnard is the open-source analytics layer built for B2B products.
