Skip to main content
Glama

Mostly Right

Search the public-source catalogue

catalog_search
Read-onlyIdempotent

Search a sealed snapshot of public data sources for feeds that might answer a question — the first move when you need a source and do not already know one. Example: {"question": "county unemployment rate monthly", "limit": 10, "format": "csv"}. READ THIS BEFORE YOU TRUST A RESULT. The snapshot indexes ONE provider, Data.gov, and only part of it: about 22,000 records were catalogued out of the ~550,000 Data.gov lists, and only about a thousand of those record which data formats they publish. So a miss is NOT evidence that no such source exists — go and look yourself — and a hit is a lead to open and read, never a source anyone has verified. Returns {status, question, requirement, generation, candidates, work}. generation says which sealed snapshot answered and when it was published; cite its store digest. work reports what the search did — ranges_scanned, ranges_pruned, candidates_examined, member_bytes_read — and no wall-clock time. Every ranked candidate comes back whatever its disposition — admitted, human_escalation_required or refused — because refused overwhelmingly means the entry does not record its data formats, not that the source is unusable. format takes ONE lowercase token and withholds nothing: it states the format your question requires. Every ranked entry still comes back, and one that does not declare it arrives with filters_match: false and disposition: refused. Naming a format changes the judgement beside each entry, not which entries you see. There is no way to ask for two — the catalogue admits one format filter per question — so send format once or leave it out. title, publisher, description and rights may each be null, and spatial_scope is a LIST of bounding-box strings or null: the catalogue does not record these for every entry. provider_record_url is the entry's own identifier, and only when that identifier is itself an https URL — about one entry in four is identified by an opaque id and has no page to open, so a null means search the provider's own site rather than building an address out of provider_record_id. There are no relevance scores anywhere: the order is the ranking, and the facts are the evidence. This tool checks question, limit and format against the shapes above BEFORE it calls anything, so a malformed argument is refused here and never reaches the catalogue; were one to get through, a bad limit or a missing question can surface as the service's own 422 rather than as catalog_search_invalid. Needs a workspace credential, and the same search is mr-data catalog search on the command line.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
formatNo
questionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.7/5.0
Behavior1/5

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

The description itself is highly transparent about snapshot incompleteness and disposition behavior, but it declares 'a miss is NOT evidence that no such source exists' while the annotations set openWorldHint=false. That encodes the opposite closed-world assumption, so this is an annotation contradiction and per the scoring rule must receive a 1.

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?

The description is front-loaded with a clear purpose and critical warnings, but it is very long and includes repetition around trustworthiness, format behavior, and field nullability. Every sentence has value, but the overall length makes it harder for an agent to scan quickly.

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?

Given there is no output schema, the description fully covers the response envelope (status, question, requirement, generation, candidates, work), candidate fields and null semantics, ordering and the absence of relevance scores, error formatting for malformed arguments, and the credential requirement.

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?

With 0% schema description coverage, the description compensates by explaining the format parameter semantics (single token, withholds nothing, one per question), the validation before the actual call, and the example call. The limit parameter is not deeply described beyond defaults and validation, which keeps it from a 5.

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 specific action and resource: search a sealed snapshot of public data sources for feeds that might answer a question. The phrase 'first move when you need a source and do not already know one' clearly frames its role relative to other tools.

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?

The description explicitly tells when to use the tool (when you need a source but do not know one) and gives an invocation example. It does not name alternatives or state explicit when-not-to-use conditions, so it falls just short of full guidance.

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