Tool tree
gradeNot graded
get_workspace_stateAnswer
Return what is currently loaded and on screen: datasets with row counts, the active privacy settings, and how many individual data values have been released to an agent this session. Call this first to orient yourself before any other tool. Read-only and cheap.
View tool JSON
{
"name": "get_workspace_state",
"kind": "answer",
"impl": "imperative",
"description": "Return what is currently loaded and on screen: datasets with row counts, the active privacy settings, and how many individual data values have been released to an agent this session. Call this first to orient yourself before any other tool. Read-only and cheap.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}
}list_datasetsAnswer
List the datasets loaded in this browser tab with their ids, row counts, source filenames and load times. Column names are deliberately not included; use describe_dataset for the schema so an orientation call does not pull one it does not need.
View tool JSON
{
"name": "list_datasets",
"kind": "answer",
"impl": "imperative",
"description": "List the datasets loaded in this browser tab with their ids, row counts, source filenames and load times. Column names are deliberately not included; use describe_dataset for the schema so an orientation call does not pull one it does not need.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}
}get_active_selectionAnswer
Return what the human is looking at right now: focused dataset, selected chart, highlighted series, active filter, or selected notebook text. Call this when the user points at something on screen ('why these?', 'explain this bar'). Read-only.
View tool JSON
{
"name": "get_active_selection",
"kind": "answer",
"impl": "imperative",
"description": "Return what the human is looking at right now: focused dataset, selected chart, highlighted series, active filter, or selected notebook text. Call this when the user points at something on screen ('why these?', 'explain this bar'). Read-only.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}
}load_sample_datasetAction
Load a bundled synthetic dataset into the workspace so there is something to analyse. 'payroll_2026' is a 4,000-row HR payroll export with salary, grade, department, gender, tenure and free-text notes. Loading a dataset also makes the inspection and query tools available, which are not registered on an empty workspace.
View tool JSON
{
"name": "load_sample_dataset",
"kind": "act",
"impl": "imperative",
"description": "Load a bundled synthetic dataset into the workspace so there is something to analyse. 'payroll_2026' is a 4,000-row HR payroll export with salary, grade, department, gender, tenure and free-text notes. Loading a dataset also makes the inspection and query tools available, which are not registered on an empty workspace.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"payroll_2026"
],
"description": "Identifier of the bundled sample dataset to load."
}
},
"required": [
"id"
],
"additionalProperties": false
}
}request_raw_rowsAction
Request individual rows from the human through the airlock. The query is planned but not returned until the human approves the exact rows in a modal. Use only when aggregates and profile_column cannot answer the question. Do not re-ask for the same rows after a denial. Prefer profile_column for distributions.
View tool JSON
{
"name": "request_raw_rows",
"kind": "act",
"impl": "imperative",
"description": "Request individual rows from the human through the airlock. The query is planned but not returned until the human approves the exact rows in a modal. Use only when aggregates and profile_column cannot answer the question. Do not re-ask for the same rows after a denial. Prefer profile_column for distributions.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"sql": {
"type": "string",
"minLength": 1
},
"row_limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"columns": {
"minItems": 1,
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"justification": {
"type": "string",
"minLength": 20
}
},
"required": [
"sql",
"row_limit",
"columns",
"justification"
],
"additionalProperties": false
}
}