Appearance
In-app assistant
Assistant (/assistant) answers questions such as "What was revenue by country last quarter?" by calling the same semantic tools the MCP server exposes — under your access policies — and never by writing SQL.
What an answer contains
- The answer text, and a table of the rows returned.
- Answered with: every metric used, with its trust colour; uncertified metrics are labelled. Citations are built from the tool results, never from the model's claims — a metric name the model invents is dropped.
- Warnings (for example low trust), the tool calls made (right panel), and Open in Playground with the same query.
- When nothing matches, catalog-checked suggestions (certified first). A Modeler can turn a suggested new metric into a draft change request (
:propose-metric: akeel/metric-{name}-{id}branch, a commit and an open request; the proposal isLlmSuggested, confidence ≤ 0.7).
Limits
Each question runs a bounded loop: at most 6 steps and 3 queries, 20 rows and 6,000 characters per result in the prompt, and the last 3 turns of history. Assistant queries bypass the result cache and are logged as consumer mcp/keel-assistant with you as the principal.
Privacy
- Prompts carry metadata and tool results only as you may see them (masked, filtered).
- Result rows are shown once and never stored: reopening a conversation shows the answers and citations but says the results are not kept.
- Conversations are personal (row-level security) and can be deleted.
Turning it on
The assistant needs an LLM: the API must be configured with a provider key (Keel:Llm:ApiKey, provider anthropic), and the tenant's provider (Settings › AI & privacy) must not be none. With AI off it says so and calls nothing. Querying needs the Query serving permission (Owner, Admin, Steward, Modeler, Analyst).
Accuracy
A 100-question evaluation set over the AdventureWorks sample model (95 answerable, 5 that must be refused) runs nightly when an API key is available and records a trend. The ≥ 90% accuracy target is not measured yet: the nightly job needs the key as a CI secret.
Not yet
No conversation history list (a conversation reopens from its link), no charts in answers, and replies arrive when complete (no streaming).