readback
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| warehousesA | List the three warehouses (doorstep, turnaround, ledger) with the tag and commit each is pinned at, how many tables and rows each has, the period each covers, and the statement. Call this first when you do not know which warehouse a question belongs to. |
| describeA | Describe one table: its grain, every column with its type, unit and definition (cited to the build's definitions file where one exists), the manifest figures that read it, and its first five rows sorted by the grain. Call it for one table at a time, after search_catalog has named the table. |
| search_catalogA | Search the catalog of the three warehouses for tables, columns, metrics and published manifest values, ranked by a lexical index after the query is expanded through the synonym table (house price finds value_anchored). Returns the expanded query and up to k hits (at most 20), each with its unit and one definition sentence. Pass kind to search one kind only (definition finds the entries of each build's definitions document). Use it to find where a number lives before writing SQL. |
| run_sqlA | Run one read only DuckDB statement against one warehouse schema. Only a single SELECT or WITH runs; writes, ATTACH, COPY, INSTALL, LOAD, PRAGMA, SET, file reading functions and tables outside the named schema are refused with the clause named. Unqualified table names are qualified with the warehouse. The limit is capped at 500 rows and the statement stops after 10 seconds. Returns the statement as it ran, the columns with units where the catalog knows them, the rows, the row count before the limit, and a result_id to cite in readback. |
| publishedA | Read values from a warehouse's published manifest, the numbers its own documents print, by exact key or by a glob such as ch5.* (at most 50, sorted by key). Each value comes with its unit, its published rounding, its interval where one was published, and its display string. |
| readbackA | Re-verify one number before you say it. Give the value, its unit, the display string you will show, and exactly one source: a result_id from run_sql in this request chain (with the column and row), a SQL statement to run, a manifest key, or a catalog key for a count of tables, rows, metrics or manifest values. The server re-runs or looks up the source, converts units only where the catalog allows (fraction and percent), and returns agree or disagree with the difference and the tolerance: half a unit of the published rounding for a manifest key, half a unit of your display rounding for a query. Every number in an answer must have an agreeing readback. |
| lookupA | Resolve a name to the way the warehouses spell it: a metro (doorstep), a carrier or airport (turnaround), an applicant group, an AML rule or a county (ledger), a year or a quarter. When a name matches more than one entity (Portland, Springfield, Columbus) the server asks the client to choose; a client that cannot be asked receives the candidates with needs_choice set, and must ask the person. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| analyst_briefing | Brief an analyst on one warehouse: what it covers and where its numbers live. |
| compare | Compare two entities of one warehouse on its published measures. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| statement | The statement every surface of readback carries. |
TDQS
Scored across 7 tools
Each tool has a distinct role in the workflow (orient via warehouses, find via search_catalog/lookup, inspect via describe, query via run_sql, cite via published, verify via readback), and descriptions explicitly state call order. The only soft overlaps are search_catalog also returning published manifest values and describe vs. search_catalog both surfacing definitions, but the ranked-search vs. exact-key distinction is articulated well enough to steer selection.
Conventions are mixed: verb_noun for search_catalog and run_sql, bare verbs for describe and lookup, and nouns/adjectives for warehouses, published and readback. Names are individually readable and domain-idiomatic, but there is no predictable pattern an agent can generalize from.
Seven tools is well within the sweet spot, and each one covers a genuine stage of the read-verify pipeline rather than duplicating another. Nothing looks like padding or an afterthought.
The lifecycle is covered end to end: discovery (warehouses, search_catalog, describe, lookup), retrieval (run_sql, published), and verification (readback). Minor gaps remain, such as no direct way to enumerate all tables or columns in a warehouse schema without first naming them through search, which forces extra round trips.