Our engine never sees your warehouse password
datahashi

BlogStrategy & comparisons

From BI-only semantic layer to agent-ready serving

How to move from a BI-only semantic layer to agent-ready serving without rewriting every dashboard.

The datahashi team3 min read

Most teams already have a semantic layer of some kind - LookML, a dbt metrics spec, a BI dataset with carefully named measures. It works for dashboards. Then someone connects an MCP agent to the warehouse and the carefully named measures stop being the only path to the number.

Agent-ready serving is not a new catalog for bots. It is the same certified definitions, exposed through a request shape agents cannot widen, without forcing you to rebuild every dashboard first.

What BI-only usually means

In a BI-only setup:

  • Definitions live in the BI tool or in transforms the BI tool imports.
  • Humans explore with a UI that constrains joins somewhat.
  • Agents, if present, get a SQL tool or an extract API that bypasses those constraints.
  • Governance is often a review step after a wrong number ships.

The semantic work you already did is valuable. The gap is serving: one immutable published artifact, one query object for humans and agents, and credentials that cannot escalate from named metrics to free-form SQL.

The path without a big-bang rewrite

1. Keep transforms in the warehouse

datahashi is a thin semantic layer. Leave marts, recognition logic, and entity tables where they are. Map them to entities, dimensions, measures, and metrics in YAML. You are naming and governing results, not relocating the pipeline.

2. Certify a small set of metrics first

Start with the metrics agents will say aloud - revenue, active accounts, pipeline, whatever leadership already argues about. Publish them as an immutable model version with access rules and a cost ceiling. Pilot success is concrete: dashboard X and agent Y return the same number.

Existing dashboards can keep working against the BI tool while you prove the new serving path on that subset.

3. Put agents on governed credentials

Agents connect over MCP with OAuth (or services over REST with API keys). Grant those credentials named metrics and the dimensions they need, not raw measures. The six MCP tools are list_catalog, describe_metric, run_semantic_query, drill_down, refine_semantic_query, and list_dimension_values. None accept or return SQL.

The agent picks names from the catalog and sends metrics × dimensions × filters - the same Semantic Query shape the console and REST use. Joins are resolved by the model. Fan-out-safe compilation runs in your warehouse.

4. Point BI at the same definitions when you are ready

You do not have to move every dashboard on day one. When you are ready, have BI consume certified metrics through the same API contract (or refresh extracts from certified queries) instead of maintaining a parallel measure list. The migration is consumer-by-consumer, not a freeze on reporting.

Until then, treat the published YAML as the source of truth and reconcile BI measures against it deliberately - same name, same grain, same filters.

What changes for the head of data

Ownership shifts from “who wrote the SQL in that bot?” to “what did we publish?” Changing a metric means editing YAML, validating, and publishing a new version. Consumers can pin versions so nothing breaks mid-flight. Metering shows which agents and apps hit which metrics.

Governance stops being a post-filter on agent output. It is the request shape: unknown metrics fail, governed callers cannot ask for raw measures, structured filters replace string-built WHERE clauses.

Serving optimizations such as rollups are not required for this path. Agent-ready serving starts with certified definitions and a narrow tool surface.

A practical sequence

  1. Inventory the ten metrics that cause the most Slack arguments.
  2. Model them in YAML against warehouse tables you already trust.
  3. Publish; connect one dashboard path and one MCP agent.
  4. Verify matching numbers on shared filters.
  5. Remove SQL-runner tools from the assistant for those metrics.
  6. Expand the certified set; migrate BI consumers when convenient.

You are not replacing BI. You are putting one serving layer between the warehouse and every reader - human or agent - so the BI-only definitions you fought for survive contact with MCP.

Product notes

An occasional email when we ship something or write something worth reading.