Tools
Eleven tools, in three groups.
Discovery
| Tool | What it does |
|---|---|
list_catalogs | Catalogs available to you, with table counts and sizes |
list_schemas | Schemas in one catalog |
list_tables | Tables in a schema, with row counts, sizes and formats |
describe_table | Columns, per-column statistics, and up to 10 sample rows |
get_table_semantics | What a table's columns mean — see Column meanings |
Query
| Tool | What it does |
|---|---|
estimate_query_cost | Plans and prices SQL without running it |
execute_query | Runs SQL and returns rows |
Long-running work
| Tool | What it does |
|---|---|
get_query_status | State, progress and error for a submitted query |
get_query_results | Pages a completed query's stored result |
cancel_query | Cancels a queued or running query and refunds its reserved budget |
export_query_results | Writes the full result to Parquet or CSV, returns a time-limited link |
Annotations
Every tool declares a title and three hints, so a client can tell a metadata lookup from a statement that could modify data:
| Tool | readOnly | destructive | openWorld |
|---|---|---|---|
list_catalogs | ✔ | ✘ | false |
list_schemas / list_tables / describe_table | ✔ | ✘ | true |
get_table_semantics | ✔ | ✘ | false |
estimate_query_cost | ✔ | ✘ | true |
execute_query | ✘ | true | true |
get_query_status / get_query_results | ✔ | ✘ | false |
cancel_query / export_query_results | ✘ | ✘ | false |
openWorld is true for anything that reaches a customer-registered system,
false for tools that only touch Thunderduck's own registry, stored results or
annotations.
execute_query is marked destructive because a write-scoped token can run
DELETE, DROP and ALTER — the annotation describes what the tool can do
for its most privileged caller, not what a typical call does.