Skip to main content
Glama
cambridge-open-data-ma-mcp

cambridge-open-data-ma-mcp

by ali5ter

describe_dataset

Inspect a dataset's machine field names, types, update cadence, date range, and partial-coverage flags before querying to avoid misread totals or old-date gaps.

Instructions

Full schema and coverage profile for one dataset. Returns the machine field names (query with these, not the display names), their types, display names, tags, update cadence, and -- when the dataset is cached -- the row count and the dataset's own earliest/latest date (the era-gap signal: a zero result for an old date may mean the dataset predates it, not that nothing happened). Set probe=true to also get coverage_flags: fields that are only partly populated -- the recent-window traps to check before trusting any total or rate.

Input Schema

NameRequiredDescriptionDefault
probeNo
dataset_idYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full behavioral burden, and it does disclose a lot: the returned metadata, that row count and date range exist only when the dataset is cached, and the interpretive pitfall of zero results for dates predating the data. What it omits is equally material — whether this is read-only (implied but unstated), the cost of probe=true, and whether an invalid or uncached dataset errors versus returning a partial profile.

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

Conciseness4/5

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

Purpose is front-loaded in the first clause, and every subsequent sentence adds distinct information rather than restating. The long em-dash parentheticals pack in real value but make the middle of the description harder to parse on a first read.

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, the description is not obliged to enumerate return values, yet it does so with interpretive context the schema cannot convey (era-gap, recent-window traps). The remaining gap isoperational: where dataset_id comes from and whether probe is expensive, both of which matter for correct invocation.

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

Parameters3/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 supply all parameter meaning. probe is handled well — explicitly opt-in, default off, and tied to a named output (coverage_flags). dataset_id is never discussed: no format, no hint that it comes from search_datasets, no indication of what a bad identifier does.

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

Purpose4/5

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

The description opens with a concrete verb-and-resource statement: schema plus coverage profile for exactly one dataset. It implicitly separates itself from search_datasets and fetch_dataset by framing itself as the metadata/schema lookup, and the aside about querying with machine field names rather than display names signals its role in the workflow. It never names a sibling explicitly, so full differentiation is left to inference.

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?

Usage context is clear: call this to learn the machine field names before querying, and set probe=true when partial coverage could distort a total or rate. The era-gap warning explains the practical consequence of ignoring it. It stops short of naming alternatives (e.g. field_coverage, coverage_audit) or stating when this tool is the wrong choice.

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