Skip to main content
Glama

Rename a dataset, rewrite its description or set its category

update_dataset
Idempotent

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), changes, version, visibility, public_projection_synced, 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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
sync_onlyNo
dataset_idYes
category_idNo
descriptionNo
expected_versionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / category_id
      Added value: +{
      +  "enum": [
      +    "climate-environment",
      +    "crypto",
      +    "finance",
      +    "economics-business",
      +    "government-politics",
      +    "people-society",
      +    "health-medicine",
      +    "science-research",
      +    "technology",
      +    "energy",
      +    "agriculture-food",
      +    "transport-mobility",
      +    "places-infrastructure",
      +    "education",
      +    "sports",
      +    "arts-media-entertainment",
      +    "law-public-safety",
      +    "other"
      +  ],
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / expected_version
      Added value: +{
      +  "exclusiveMinimum": 0,
      +  "maximum": 9007199254740991,
      +  "type": "integer"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / sync_only
      Added value: +{
      +  "const": true,
      +  "type": "boolean"
      +}
  4. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations (idempotent, non-destructive, closed-world) are complemented by non-obvious behavior: optimistic concurrency (reads current version and refuses an interleaved change), metadata-only with no rebuild, the one-dataset-per-name uniqueness rule, the metadata-generation rule for nonblank descriptions, and the explanation that public_projection_synced does not mean the dataset is public. No annotation is contradicted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is information-dense but poorly front-loaded: the core 'what it does' sentence appears mid-paragraph after metadata-generation detail. It also re-lists all 18 category enum values that the schema already provides, and embeds a long example object, adding length that duplicates structured data. Most sentences carry real semantics, so this is adequate-but-bloated rather than wasteful throughout.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description enumerates the return shape ({dataset_id, name, description, category_id, changes, version, visibility, public_projection_synced, dashboard_url}) and interprets the ambiguous fields (visibility, public_projection_synced). Combined with the mutation, concurrency, and uniqueness behavior disclosed, an agent has everything needed to invoke and interpret this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does: name is explained as a sticky title versus the create_dataset working title, description is explained as the search snippet / answer-engine summary with opening-paragraph rules, category_id is explained as purpose-based filing with the set-once-before-register_recipe rule, sync_only is explained as the public-page-only retry, and expected_version is explained as the precondition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete operation and resource: 'Changes a dataset's display name, its description, or both', plus setting category_id. It distinguishes itself from siblings by naming set_dataset_visibility for visibility changes and register_recipe for sequencing. An agent can identify what this tool does and what it does not do.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit conditional guidance: send name with the description to keep a title, set category once the subject is clear and before register_recipe, and use set_dataset_visibility (not this tool) to change visibility, only when the person asks. It also gives a concrete retry path: if public_projection_synced is false, retry with {dataset_id, sync_only: true}.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources