Rename a dataset, rewrite its description, set its category or choose its main table
update_datasetmain_table_id names the table the dataset page leads with: the Data tab opens on it and the other tables keep their configured sections, or are listed as helpers when no layout is configured. Use configure_dataset_layout for readable titles and custom sections/order. Set it once a dataset has more than one table, to the table people query directly (the search table); pass null to clear it (a configured layout then opens its first visible table). Left unset, the page leads with the table named search or search_…, else the first by name. It is a presentation choice held by this service, so a call with only main_table_id writes nothing to the build service. A changed nonblank description generates a factual dataset name and topic tags, except a name or tags someone chose in an earlier update, which stay. The name given at create_dataset is a working title and does not count as chosen. Send name with the description to keep a title you want; it then stays until someone sends another. Drafts and unchanged descriptions do not generate metadata. Changes a dataset's display name, its description, or both. Reads the current version first and sends it as the precondition, so a change made elsewhere in between is refused rather than overwritten. The opening paragraph is the search snippet and the answer-engine summary, so it says what this is, then what it is for, then the facts, and never opens with the grain, the mechanism or a station code. Example: {"dataset_id": "…", "description": "Denver weather history since 2020: every airport report from Denver International (KDEN) with the official daily high and low. Built for daily temperature forecasting and for checking the weather at any hour. One row per report, about 30 a day, refreshed each morning with the previous day added."}. Returns {dataset_id, name, description, category_id (when sent), main_table_id (when sent), changes, version, visibility, public_projection_synced (when metadata was sent), dashboard_url}. A workspace admits one dataset per name; a name already taken is refused. visibility is who can see the dataset: private (this workspace only), link (anyone with its link) or public (listed on Mostly Right), or null if unknown. public_projection_synced only says the public copy is current: it is true for a private dataset too and never means the dataset is public. Report visibility, not that flag. Change it only with set_dataset_visibility, and only when the person asks. category_id files the dataset under exactly one primary category, chosen from what the dataset is about (its purpose, tables and measured entities), never from its source, cadence or tags: climate-environment (Climate & Environment), crypto (Crypto), finance (Finance), economics-business (Economics & Business), government-politics (Government & Politics), people-society (People & Society), health-medicine (Health & Medicine), science-research (Science & Research), technology (Technology), energy (Energy), agriculture-food (Agriculture & Food), transport-mobility (Transport & Mobility), places-infrastructure (Places & Infrastructure), education (Education), sports (Sports), arts-media-entertainment (Arts, Media & Entertainment), law-public-safety (Law & Public Safety), other (Other). Set it once the subject is clear and before register_recipe; get_my_dataset reports it. A category can be changed but not cleared, and other is for a subject none of the rest fits. Nothing rebuilds — this is metadata only. If public_projection_synced is false, retry with {dataset_id, sync_only: true} to update the public page without repeating the metadata write.
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": {
"dataset_id": "<dataset_id>"
},
"name": "update_dataset"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| sync_only | No | ||
| dataset_id | Yes | ||
| category_id | No | ||
| description | No | ||
| main_table_id | No | ||
| expected_version | No |