Skip to main content
Glama
ianderso
by ianderso

search_collections

Read-only

Find a record collection to scope genealogical searches to one register, census, or index. Results include coverage details such as record types, place, and years.

Instructions

Find a record collection, so a search can be scoped to one.

A collection is one register, census or index. Scoping search_records to its id turns a fishing expedition into a lookup, and a nil result into something that means anything.

Each result carries a coverage statement: record types, place, years. Read it: a collection covering 1850 to 1900 cannot answer for 1840.

Every word must match a whole word of the title; titles where one only matches inside a word ("Indian" in "Indiana") follow, marked. The first call reads the whole catalogue and caches it; catalogue says how many collections it holds and how old it is.

Works without a token.

Input Schema

NameRequiredDescriptionDefault
countNoMaximum collections to return (1-200).
queryNoWords to match against collection titles, e.g. 'connecticut church'. Leave empty to browse what is there.
refreshNoRe-fetch the catalogue rather than use the cached copy. Takes about two minutes; needed when looking for a collection published since the catalogue was fetched, or when it is incomplete.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.3.0
    • changedInput schema / properties / refresh / description
      Previous value: -"Re-fetch the catalogue rather than use the cached copy. Takes about ninety seconds; only needed when looking for a collection published since the cache was built."New value: +"Re-fetch the catalogue rather than use the cached copy. Takes about two minutes; needed when looking for a collection published since the catalogue was fetched, or when it is incomplete."
  2. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare read-only and open-world, so the safety profile is covered; the description goes well beyond by disclosing caching behaviour ('first call reads the whole catalogue and caches it'), catalogue freshness metadata, whole-word matching semantics including the inside-a-word fallback, and that it works without a token. These are operational traits an agent cannot infer from annotations or schema.

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?

Front-loads purpose, then workflow value, then caveats; each paragraph carries a distinct concern (matching, coverage statement, caching, auth). A few sentences are stylised ('a fishing expedition into a lookup') and cost more words than needed, but no sentence is pure filler.

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?

No output schema exists, so the description must carry the return contract — and it does: each result carries a coverage statement (record types, place, years) and the catalogue reports its own size and age. Combined with the staleness warning and the no-token note, an agent has everything needed to call and interpret the result.

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 100%, so the baseline is 3. The description still adds meaning beyond the schema: matching is whole-word against title with an inside-a-word fallback, an empty query browses rather than filters, and refresh implies a ~two-minute uncached catalogue read whose cost and staleness trade-off is spelled out.

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 ('Find a record collection') plus its role in the workflow ('so a search can be scoped to one'). The second paragraph distinguishes a collection from its siblings — it is the unit that search_records filters on — so an agent can separate it from get_collection (single fetch) and search_records (the consumer) without opening a schema.

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?

Explicitly names when to use it (to obtain a collection id to scope search_records) and the value of doing so ('turns a fishing expedition into a lookup'). It also gives the precondition for the refresh alternative ('needed when looking for a collection published since the catalogue was fetched, or when it is incomplete'), which is a when-to-use-this-option rule rather than a restatement.

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