The Agent Invokes a Tool; AtScale Turns the Question Into One Engine's SQL
AtScale implements the semantic layer as a dimensional model over a warehouse: dimensions, hierarchies and measures, rather than a graph of triples or a set of views.
The fork in the road is where the data physically sits. Stardog and Denodo federate at query time across two engines, while AtScale plans a dimensional query as native warehouse SQL and pushes it to one engine per query, so cross-engine data is consolidated upstream.
On the way in, a client sends the user's question to the Strands agent through AgentCore Gateway. On the way out, when the agent decides to query the semantic model, it invokes a tool call to the AtScale MCP server.
AI-generated discussion · Different perspectives
Federating and pushing down are different bets: one asks two engines to answer together at query time, the other answers from a single engine because the cross-engine work already happened upstream. Simpler runtime, in exchange for consolidation nobody sees.
The hop I'd test hardest is the outbound one. The question arrives through a gateway, but the agent's own reach leaves as a tool call to the AtScale MCP server — and that second door is where a semantic layer's permissions either hold or don't.
At least the language model is only planning: Claude Sonnet 4.6 on Amazon Bedrock interprets the prompt and plans the query, and AtScale is the one writing it as native warehouse SQL. The agent never has to be good at SQL, only at asking.