llms.txt Content
# Bonnard
> Bonnard is agent-native analytics. It is a semantic layer that makes your data ready for every agent, app, and surface you'll ever build. Define metrics and dimensions once in YAML, then expose them consistently to MCP-compatible AI agents (Claude, ChatGPT, Cursor, Copilot), React applications via SDK, REST APIs, and hosted markdown-based dashboards. One schema, many surfaces. Governed, cached, and accurate on every call.
Traditional analytics tools serve one UI. Bonnard serves all of them. Agents query your data from anywhere, for any job, over any protocol. Unlike traditional semantic layers built for BI tools and retrofitted for AI, Bonnard was engineered from inception to prioritize agent-native workflows through the Model Context Protocol (MCP). Everything you need ships out of the box: MCP servers, coded dashboards, SDKs, and a built-in UI.
## Core Concepts
- **Cubes**: YAML-defined data models that map to database tables. Each cube defines measures (aggregations like count, sum, avg, min, max, count_distinct, running_total), dimensions (attributes for grouping and filtering), joins (relationships connecting cubes), and segments (reusable row-level filters).
- **Views**: Curated interfaces that compose measures and dimensions from multiple cubes into consumer-friendly presentations. Views control what fields are exposed to each consumer.
- **Pre-Aggregations (Rollups)**: Materialized summary tables storing pre-calculated aggregations for faster query performance.
- **MCP Server**: A single URL endpoint that connects any MCP-compatible AI agent to the semantic layer with governed access. Set up via `bon mcp`.
- **Dashboards**: Interactive markdown-based dashboards with embedded semantic layer queries, chart components, filters, and theming.
- **SDK**: JavaScript/TypeScript querying library (@bonnard/sdk) and React chart components (@bonnard/react) for embedding analytics in applications.
- **REST API**: JSON query objects or SQL strings to retrie