Skip to main content
Glama
HackerFund

Glendale GIS MCP Server

by HackerFund

describe_dataset

Read-onlyIdempotent

Get complete dataset metadata: field types, meanings, coded values, record count, freshness, area covered, and source. Read this before querying to interpret attributes correctly.

Instructions

Describe one dataset: every field with its type, meaning and coded values (inferred meanings are flagged), record count, freshness (fetched_at, source_last_edit), the area the snapshot covers, the source URL and disclaimer. Read this before filtering with query_dataset, and to interpret attributes returned by other tools (e.g. FEMA FLD_ZONE codes, CAL FIRE FHSZ codes).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
datasetYesDataset id from list_datasets

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
clipYesArea the snapshot copy covers: the city plus this buffer
docsYes
_metaYes
titleYes
accessYes
fieldsYes
categoryYes
geometryYes
id_fieldYes
availableYes
layer_urlYes
disclaimerYes
fetched_atYesWhen the snapshot copy was fetched
class_fieldYes
descriptionYes
feature_countYes
source_agencyYes
unzoned_classesYes
source_last_editYesWhen the source says it last changed
unavailable_reasonNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the read-only and idempotent annotations, the description discloses valuable behavioral details: inferred meanings are explicitly flagged, freshness includes fetched_at and source_last_edit, and the output includes the covered area, source URL, and disclaimer. This helps the agent trust and interpret the data correctly.

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?

Two dense sentences with no filler: the first front-loads the primary purpose and output contents, the second gives actionable usage guidance. Every clause earns its place.

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?

For a simple single-parameter tool with a rich output schema and safety annotations, the description provides everything needed: what the tool returns, how to interpret its outputs, and when to call it relative to sibling tools. No important context is missing.

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 100%, so the input schema already fully documents the single parameter. The tool description itself does not add much parameter-level detail beyond 'Describe one dataset,' but no compensation is needed because the schema already provides the meaning.

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 opens with a specific verb and resource, 'Describe one dataset,' and enumerates exactly what the output contains: fields, types, meanings, coded values, record count, freshness, coverage, source URL, and disclaimer. It clearly distinguishes itself from list_datasets by focusing on a single dataset and from query_dataset by positioning itself as the interpretive precursor.

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?

The description explicitly tells the agent when to use this tool: 'Read this before filtering with query_dataset, and to interpret attributes returned by other tools.' It even gives concrete examples such as FEMA FLD_ZONE codes and CAL FIRE FHSZ codes, making the routing decision unambiguous.

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