Query tables on the server
ireland_queryFilter, join, aggregate, rank and sort whole tables on the server; returns only the answer rows, each input's provenance and the query echo. tables: {alias, table_id} (from an ireland_call result) or {alias, source, operation, args}, each with optional own steps (no joins); put source filters (council, dates, codes) in args. No steps: columns, row count and preview per table. Steps run in order: {"filter": ["col", ">", 0]} (= != > >= < <= in not_in contains starts_with is_null not_null; {"and"|"or": [..]}, {"not": ..}); {"join": "alias", "on": "col"|["l","r"], "type": "left", "normalize": true}; {"union": "alias"}; {"derive": {"rate": "a / [Col B] * 1000"}} (round abs min max coalesce if lower norm concat substr split_part replace number year pct_change …); {"aggregate": {"n": "count", "u": "sum:units", "d": "weighted_avg:score:pop"}, "group_by": ["county"]} (count count_distinct sum avg min max median weighted_avg first); {"select": [..]|{"new": "old"}}; {"sort": "-n"}; {"limit": 10}; {"rank": {"by": "n"}}; {"pct_of_total": {"col": "n"}}; {"distinct": [..]}. Limits: 4 tables, 10,000 rows each, 50,000 rows after a join, 20 steps. Partial tables are an error, never computed.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"tables": "<tables>"
},
"name": "ireland_query"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Start alias (default first). | |
| limit | No | Rows out (default 50). | |
| steps | No | Steps, in order. | |
| tables | Yes | ||
| max_tokens | No | Token budget (default 3000). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||