Skip to main content
Glama
mcp-singapore
by Hug0x0

singapore_download_dataset

Read-only

Start or poll a dataset export and receive a provider download URL. Use this for CSV, GeoJSON, KML or datasets without datastore support, avoiding large file transfers into the conversation.

Instructions

Start or poll a dataset export. Call initiate once, then poll on later calls. Returns provider download URL (may expire), never downloads large files into the conversation. Suitable for CSV/GeoJSON/KML and datasets without datastore support.

Input Schema

NameRequiredDescriptionDefault
actionNoinitiate
dataset_idYes

Output Schema

NameRequiredDescriptionDefault
okYes
dataNo
errorNo
statusNo
sourcesYes
metadataNo
providerNo
warningsNo
served_atYes
error_codeNo
source_urlNo
dataset_urlNo
catalog_metadataNo
catalog_snapshot_atNo
retry_after_secondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations cover safety (readOnlyHint true, destructiveHint false, openWorldHint true, idempotentHint false), and the description adds real context beyond them: the two-phase initiate/poll state machine that explains the non-idempotent hint, plus the fact that the returned provider URL may expire and that large files are never pulled into the conversation. It does not say how often to poll, how long an export takes, or what a pending poll result looks like.

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

Conciseness5/5

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

Three short sentences, front-loaded with the core action, then the required call sequence, then the behavioral caveats. No filler and nothing repeated from annotations or schema.

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

Completeness4/5

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

With an output schema present, return-value detail is unnecessary, and the description still flags the key output caveat (expiring download URL). The only gap is operational guidance for the poll phase — retry cadence and what to do with a not-ready response — which matters for a non-idempotent async tool.

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

Parameters4/5

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

Schema coverage is 0%, so the description has to carry the parameter burden, and it does the important part: it names the 'initiate' and 'poll' action values and ties them to call order, which the bare enum lacks. The dataset_id parameter (including its required pattern) is left entirely to the schema.

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?

States a specific verb and resource ('Start or poll a dataset export') and immediately scopes it to file-format datasets ('CSV/GeoJSON/KML and datasets without datastore support'), which cleanly separates it from the datastore-querying siblings like singapore_query_dataset. An agent can route correctly without opening any schema.

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

Usage Guidelines4/5

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

'Call initiate once, then poll on later calls' gives an explicit call sequence, which is the main usage hazard for this tool. The suitability clause implies when NOT to use it (datasets with datastore support), but it never names the alternative tool explicitly, so routing still requires inference.

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

Deploy Server

Other Tools