dbprint
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
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_table_contextA | Read one table. Call it before writing SQL against a table, with |
| list_tablesA | List a connection's tables, optionally narrowed by an fnmatch pattern over the dotted names. Use it to see which tables exist, their row counts, and whether each table's statistics are stale: |
| search_columnsA | Find columns across every table - the first call when the table holding a fact is not yet known. Filters, all optional and ANDed: a name glob, a |
| resolve_valueA | Resolve a phrase, a code or a spelling against one column's published values, before writing a literal into a filter whose stored spelling get_table_context does not already list in full. Answers, in order of preference: |
| get_manifestA | Return the print's index for a connection - its tables and the files each has, not a semantic catalogue of what they mean. Use it for an index field no other tool projects; for table names, row counts and staleness, list_tables with |
| get_diffA | Answer what changed between the database's last two prints: the recorded diff, whose |
| get_referenceA | Look up the dbprint format specification or the assertion DSL specification by section number, or the reading guide by heading: what a print's field means, or what a finding's spec_ref (e.g. '§2.2.4') refers to. A section returns its own text and lists its direct subsections, each read by its own number or heading; omit section for the heading tree. The guide is the one this dbprint version ships, not the copy stored with a print. Paged like get_table_context's md. Depends on no connection or print; what one print's tables hold is get_table_context's and list_tables' answer. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| spec reference | The spec specification, whole. get_reference returns one section by number |
| assertions reference | The assertions specification, whole. get_reference returns one section by number |
| production manifest | Index of the tables in connection production's print. list_tables with detail: true projects it per table with a freshness verdict; get_manifest returns it filtered by pattern |
| production diff | What changed between the last two prints of connection production, without events about a join a person rejected. get_diff returns it filtered by table or kind |
| production reading guide | How to read this print's fields - vocabulary, traps and reading order. Read it before interpreting a field no tool description explains |
| production connection notes | Notes people wrote on the whole database; get_table_context carries them on every table it reads |
| arboretum.fixture.shape_probe ddl | arboretum.fixture.shape_probe: DDL as extracted. get_table_context returns it together with the table's joins and value lists |
| arboretum.fixture.shape_probe statistics | arboretum.fixture.shape_probe: The table's statistics file as written, including each column's sketch. get_table_context returns these statistics with scope, redaction and unmeasured fields applied; read this file raw only for the sketch |
| arboretum.fixture.shape_probe relationships | arboretum.fixture.shape_probe: The table's joins file, without the joins a person rejected in relationships_annotations. get_table_context lists the same joins as its Joins list, each with its detection, plus the joins a person added there |
| arboretum.seedbank.accession ddl | arboretum.seedbank.accession: DDL as extracted. get_table_context returns it together with the table's joins and value lists |
| arboretum.seedbank.accession statistics | arboretum.seedbank.accession: The table's statistics file as written, including each column's sketch. get_table_context returns these statistics with scope, redaction and unmeasured fields applied; read this file raw only for the sketch |
| arboretum.seedbank.accession relationships | arboretum.seedbank.accession: The table's joins file, without the joins a person rejected in relationships_annotations. get_table_context lists the same joins as its Joins list, each with its detection, plus the joins a person added there |
| arboretum.seedbank.accession description | arboretum.seedbank.accession: The table's prose description, written by people. get_table_context has it |
| arboretum.seedbank.accession statistics_annotations | arboretum.seedbank.accession: Column and value notes people wrote. get_table_context includes them, and search_columns `text` searches them |
| arboretum.seedbank.accession relationships_annotations | arboretum.seedbank.accession: Notes people wrote on joins, including the joins a person rejected and the ones a person added; no other resource or tool lists a rejected join |
| arboretum.seedbank.accession_summary ddl | arboretum.seedbank.accession_summary: DDL as extracted. get_table_context returns it together with the table's joins and value lists |
| arboretum.seedbank.accession_summary statistics | arboretum.seedbank.accession_summary: The table's statistics file as written, including each column's sketch. get_table_context returns these statistics with scope, redaction and unmeasured fields applied; read this file raw only for the sketch |
| arboretum.seedbank.accession_summary relationships | arboretum.seedbank.accession_summary: The table's joins file, without the joins a person rejected in relationships_annotations. get_table_context lists the same joins as its Joins list, each with its detection, plus the joins a person added there |
| arboretum.seedbank.accession_summary statistics_annotations | arboretum.seedbank.accession_summary: Column and value notes people wrote. get_table_context includes them, and search_columns `text` searches them |
| arboretum.seedbank.accession_summary relationships_annotations | arboretum.seedbank.accession_summary: Notes people wrote on joins, including the joins a person rejected and the ones a person added; no other resource or tool lists a rejected join |
| arboretum.seedbank.collector ddl | arboretum.seedbank.collector: DDL as extracted. get_table_context returns it together with the table's joins and value lists |
| arboretum.seedbank.collector statistics | arboretum.seedbank.collector: The table's statistics file as written, including each column's sketch. get_table_context returns these statistics with scope, redaction and unmeasured fields applied; read this file raw only for the sketch |
| arboretum.seedbank.collector relationships | arboretum.seedbank.collector: The table's joins file, without the joins a person rejected in relationships_annotations. get_table_context lists the same joins as its Joins list, each with its detection, plus the joins a person added there |
| arboretum.seedbank.collector description | arboretum.seedbank.collector: The table's prose description, written by people. get_table_context has it |
| arboretum.seedbank.germination_by_taxon_mv ddl | arboretum.seedbank.germination_by_taxon_mv: DDL as extracted. get_table_context returns it together with the table's joins and value lists |
| arboretum.seedbank.germination_by_taxon_mv statistics | arboretum.seedbank.germination_by_taxon_mv: The table's statistics file as written, including each column's sketch. get_table_context returns these statistics with scope, redaction and unmeasured fields applied; read this file raw only for the sketch |
| arboretum.seedbank.germination_by_taxon_mv relationships | arboretum.seedbank.germination_by_taxon_mv: The table's joins file, without the joins a person rejected in relationships_annotations. get_table_context lists the same joins as its Joins list, each with its detection, plus the joins a person added there |
| arboretum.seedbank.germination_by_taxon_mv statistics_annotations | arboretum.seedbank.germination_by_taxon_mv: Column and value notes people wrote. get_table_context includes them, and search_columns `text` searches them |
| arboretum.seedbank.germination_trial ddl | arboretum.seedbank.germination_trial: DDL as extracted. get_table_context returns it together with the table's joins and value lists |
| arboretum.seedbank.germination_trial statistics | arboretum.seedbank.germination_trial: The table's statistics file as written, including each column's sketch. get_table_context returns these statistics with scope, redaction and unmeasured fields applied; read this file raw only for the sketch |
| arboretum.seedbank.germination_trial relationships | arboretum.seedbank.germination_trial: The table's joins file, without the joins a person rejected in relationships_annotations. get_table_context lists the same joins as its Joins list, each with its detection, plus the joins a person added there |
| arboretum.seedbank.germination_trial description | arboretum.seedbank.germination_trial: The table's prose description, written by people. get_table_context has it |
| arboretum.seedbank.germination_trial statistics_annotations | arboretum.seedbank.germination_trial: Column and value notes people wrote. get_table_context includes them, and search_columns `text` searches them |
| arboretum.seedbank.specimen_image ddl | arboretum.seedbank.specimen_image: DDL as extracted. get_table_context returns it together with the table's joins and value lists |
| arboretum.seedbank.specimen_image statistics | arboretum.seedbank.specimen_image: The table's statistics file as written, including each column's sketch. get_table_context returns these statistics with scope, redaction and unmeasured fields applied; read this file raw only for the sketch |
| arboretum.seedbank.specimen_image relationships | arboretum.seedbank.specimen_image: The table's joins file, without the joins a person rejected in relationships_annotations. get_table_context lists the same joins as its Joins list, each with its detection, plus the joins a person added there |
| arboretum.seedbank.storage_reading ddl | arboretum.seedbank.storage_reading: DDL as extracted. get_table_context returns it together with the table's joins and value lists |
| arboretum.seedbank.storage_reading statistics | arboretum.seedbank.storage_reading: The table's statistics file as written, including each column's sketch. get_table_context returns these statistics with scope, redaction and unmeasured fields applied; read this file raw only for the sketch |
| arboretum.seedbank.storage_reading relationships | arboretum.seedbank.storage_reading: The table's joins file, without the joins a person rejected in relationships_annotations. get_table_context lists the same joins as its Joins list, each with its detection, plus the joins a person added there |
| arboretum.seedbank.taxon ddl | arboretum.seedbank.taxon: DDL as extracted. get_table_context returns it together with the table's joins and value lists |
| arboretum.seedbank.taxon statistics | arboretum.seedbank.taxon: The table's statistics file as written, including each column's sketch. get_table_context returns these statistics with scope, redaction and unmeasured fields applied; read this file raw only for the sketch |
| arboretum.seedbank.taxon relationships | arboretum.seedbank.taxon: The table's joins file, without the joins a person rejected in relationships_annotations. get_table_context lists the same joins as its Joins list, each with its detection, plus the joins a person added there |
| arboretum.seedbank.taxon description | arboretum.seedbank.taxon: The table's prose description, written by people. get_table_context has it |
| arboretum.seedbank.taxon statistics_annotations | arboretum.seedbank.taxon: Column and value notes people wrote. get_table_context includes them, and search_columns `text` searches them |
| arboretum.seedbank.vault ddl | arboretum.seedbank.vault: DDL as extracted. get_table_context returns it together with the table's joins and value lists |
| arboretum.seedbank.vault statistics | arboretum.seedbank.vault: The table's statistics file as written, including each column's sketch. get_table_context returns these statistics with scope, redaction and unmeasured fields applied; read this file raw only for the sketch |
| arboretum.seedbank.vault relationships | arboretum.seedbank.vault: The table's joins file, without the joins a person rejected in relationships_annotations. get_table_context lists the same joins as its Joins list, each with its detection, plus the joins a person added there |
| arboretum.seedbank.vault statistics_annotations | arboretum.seedbank.vault: Column and value notes people wrote. get_table_context includes them, and search_columns `text` searches them |
TDQS
Scored across 7 tools
Each tool has a distinct primary purpose (read one table, list tables, search columns, resolve a value, index, diff, spec lookup), and descriptions explicitly cross-reference each other to steer selection. There is minor residual overlap between list_tables and get_manifest (both expose table index info) and between get_table_context and get_manifest, but the descriptions clearly delineate the boundaries.
All seven tools follow a clean verb_noun snake_case pattern: get_table_context, list_tables, search_columns, resolve_value, get_manifest, get_diff, get_reference. Consistent convention throughout.
Seven tools is well-scoped for a database-context/print-reading server, and each tool maps to a distinct capability rather than a redundant variant.
The surface covers discovery (list_tables, search_columns), inspection (get_table_context), value resolution (resolve_value), raw index (get_manifest), change tracking (get_diff), and spec docs (get_reference). For a read-only context server this is near-complete; only tangential gaps like listing/selecting connections or refreshing prints are absent, both reasonably out of scope.