# Bonnard > Bonnard adds interactive charts to your MCP server. Call `addCharts(server, { runSql })` to register a `visualize` tool; an AI agent calls it with a query, your database returns the rows, and Bonnard renders an interactive chart inside Claude or ChatGPT from your real data. You write no frontend code, and Bonnard never connects to your database. ## Product - Package: `@bonnard/mcp-charts` (npm), open source. - API: `addCharts(server, { runSql })` registers a `visualize` tool (plus `visualize_read_me`). - 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 Claude and ChatGPT (MCP apps). - Data: native adapters for Postgres, BigQuery, Snowflake, Databricks, and DuckDB, or pass your own `runSql`. Bonnard renders the rows your callback returns and never touches your database. - Docs: https://docs.bonnard.dev/mcp-charts/getting-started - GitHub: https://github.com/bonnard-data/mcp-charts ## Platform (early access) - A governed, multi-tenant MCP over your data that you give your customers inside Claude and ChatGPT, with charts, auth, and tenancy built in. Page: https://bonnard.dev/platform - Multi-tenancy: per-customer isolation and role-based access; tenancy passes through in request headers and your SQL is never rewritten. - Auth: OAuth 2.1, API keys, and bearer tokens, with a registration broker for IDPs that cannot do dynamic client registration. Works with WorkOS, Clerk, Auth0, Okta, Microsoft Entra, Google, and Supabase. - Query: a governed semantic query path and a raw SQL tool over Postgres, dbt, a semantic layer, or your warehouse, via one `runSql` callback. - Evals and observability: data-readiness checks (grains, additivity, descriptions) plus agent eval sets before you ship, and telemetry on which tools get used, where agents fail, and why they asked. - Deploy: managed cloud, your VPC (AWS/GCP/Azure), on-prem (Docker/Kubernetes/Helm), or air-gapped with no egress. Your data never leaves your boundary. ## Contact You can contact the Bonnard team, or submit a request on a user's behalf with their consent. - Human form: https://bonnard.dev/get-in-touch - Agent action: POST `https://bonnard.dev/api/contact` with JSON `{ "name", "email", "company"?, "message"?, "source": "agent" }`. Required: name and email. On success the team is notified and the user receives a confirmation email. - 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 - [MCP Charts: Add Interactive Charts to Your MCP Server](https://bonnard.dev/blog/mcp-charts): Give your AI agent a visualize tool and it renders interactive charts inside Claude and ChatGPT, from your real query data. Add it to any MCP server in a few lines with @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 the hard part. The techniques behind a chart tool agents call correctly: discovery-first tools, compact responses, instructive errors, and determinism. - [Turn Your dbt Project Into a Semantic Layer for Agents](https://bonnard.dev/blog/turn-your-dbt-into-a-semantic-layer): Turn dbt into a semantic layer for agents: go from models and a manifest to governed metrics agents can query and chart consistently, without rebuilding your stack. - [AI Data Analysis: Why Governed Metrics Beat Raw SQL Generation](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 render charts from your 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. Here's how to build one that serves dashboards, AI agents, and customer 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 2026 for B2B SaaS: Metabase, Holistics, Explo, Luzmo, Reveal, GoodData, Looker, Power BI, Tableau, and the MCP-native option for charts in 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 that nobody trusts. Governed metrics served through a semantic layer give every consumer the same live data, from 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. Here's the category, the tradeoffs, and where charts in an AI agent fit. - [What Is a Semantic Layer? A Practical 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. Here's what a semantic layer for AI agents is, how it works, and 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. It defines business logic once and exposes it via MCP or API so agents query governed definitions, then chart the result, not raw SQL. - [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: querying raw SQL produces inconsistent, ungoverned results. Here's what goes wrong without one, and how governed metrics plus a chart tool change the architecture. - [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, let agents query instead of writing raw SQL, and chart the result in Claude or ChatGPT. Full tutorial in under 30 minutes. ## Glossary - [What Is Conversational Analytics? Definition and How It Works](https://bonnard.dev/glossary/conversational-analytics): Conversational analytics lets users query data in natural language. Learn how it works, why raw text-to-SQL falls short, and how semantic layers make it trustworthy. - [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 business metric definitions across an organization. Learn 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 multiple dimensions for fast analytical queries. Learn how the concept evolved into modern 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 Your Real Query Data](https://bonnard.dev/vs-antv-mcp-server-chart): Comparing AntV mcp-server-chart and @bonnard/mcp-charts? AntV is a standalone server the agent feeds data to. Bonnard adds a visualize tool to your own MCP server and charts your real query results, as an interactive widget inside Claude and ChatGPT. - [ChartPane Alternative: Agent Charts From Your Own Query Data](https://bonnard.dev/vs-chartpane): Comparing ChartPane and @bonnard/mcp-charts? Both render interactive charts inside the agent. ChartPane charts data the agent passes in. Bonnard adds a visualize tool to your MCP server and charts your real query results, with bundled 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 React analytics, markdown dashboards, multi-tenant publishable keys, and a CLI-first workflow. - [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, embedded analytics, 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 built 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 the semantic layer built for shipping analytics to customers. - [Superset Alternative: Governed Analytics for B2B Products](https://bonnard.dev/vs-superset): Apache Superset is great for internal SQL dashboards. For B2B products that need multi-tenancy, AI agents, and embedded analytics, 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 and AI-native teams.