AI tools guess what your columns mean, and the numbers come out wrong. Context teaches Claude, ChatGPT and Cursor what your data means, so they answer the way your team would.
€29/user/month · Pro plan, with Guard
last_order_at > now() - interval '90 days'intent: "revenue by active customer" instructions: "Amounts are in cents. Use orders_v2, not orders." definitions: [{ name: "active customer", sql: "last_order_at > now() - …" }] tables: [{ name: "orders_v2", columns: [{ name: "total", description: "Order total in cents, before VAT", synonyms: ["revenue"] }] }]
The schema says what exists. It doesn’t say what amounts are in, which of two tables is current, or what your team means by an active customer.
| The AI sees | It also needs to know | Where it goes |
|---|---|---|
| orders.total bigint | In cents, before VAT | Column description |
| orders, orders_v2 | Use orders_v2. orders is the old system | Notes for AI |
| customers.last_order_at | An active customer bought in the last 90 days | Definition, with its SQL |
| acct_mgr_id | People say account manager or owner | Synonyms |
| COMMENT ON TABLE customers | Already written in the database | Read as it is |
Which table is current, what the amounts are in, what counts as an active customer. A sentence each, in the app or straight from a conversation with the AI.
Claude, ChatGPT, Cursor and Claude Code get the notes that fit each question, so nobody has to explain the data again.
Table and column comments in PostgreSQL, Redshift, MySQL, SQL Server, Oracle, BigQuery and ClickHouse come along. Where your team writes its own, that wins, and the database stays untouched.
When you tell the AI it got a column wrong, it can save the correction for everyone. The next person, and the next AI tool, gets it right without being told. Every change has a name on it.
Context is not a semantic layer, and doesn’t try to be. A semantic layer compiles governed metrics; Context tells an AI what your data means so it can write the SQL itself.
| SaturnSQL Context | Semantic layer | |
|---|---|---|
| What you build first | Nothing. Write notes as questions come up | Models, metrics and joins in YAML, LookML or views |
| How AI uses it | Reads the meaning, then writes SQL | Queries governed metrics through an API |
| Who maintains it | Anyone who knows the data, in plain language | Usually analytics engineers, in code |
| Same number every time | Guided by definitions, not guaranteed | Yes, metrics compile to the same SQL |
| Time to first answer | Minutes | Once the first models are written and deployed |
If finance needs revenue to match to the cent in every tool, model it in a semantic layer. For everything else, context gets AI answers right from day one. See the best semantic layer tools and Atlan alternatives for the heavier options.
Start from the Apache Ossie model you already have, and take everything your team writes with you as Ossie or dbt YAML on every plan. If you adopt a semantic layer later, start from here.
version: 0.3.0.dev0 name: prod_postgres ai_context: instructions: Amounts are in cents. Use orders_v2, not orders. datasets: - name: orders_v2 description: One row per paid order fields: - name: total datatype: Integer description: Order total in cents, before VAT ai_context: synonyms: [revenue, amount]
Context and Guard come together on the Pro plan, and Guard’s rules apply to context too.
More on SaturnSQL Guard and database governance for MCP and AI.
Connecting an AI tool? Start with the SaturnSQL MCP server.
Explain your data once, and every AI tool your team uses works from it.
€29/user/month
Pro plan: everything in Starter, plus
© 2026 Panda Capital Oy Ab. All rights reserved.