Skip to main content
Glama
ianderso
by ianderso

get_catalog_entry

Read-only

Read a FamilySearch Catalog entry to inspect holdings, including title, authors, places, notes, films/DGS items, image counts, and view access; also find an entry from a film number.

Instructions

Read a FamilySearch Catalog entry: title, authors, places, notes, and its films.

The Catalog lists the library's holdings. An entry for a county's probate files or deed books lists each film or DGS (digital image group) with a description: volume, case numbers, years. Some run to thousands, so use contains. Each item returned gives its image count and whether this account can view it; open a page with get_film_image(dgs, image).

An entry describes holdings, not a record: cite the image you read. Some films are restricted or were never digitised. A DGS number is not the microfilm number. Given only a film number (as an index citation gives it), finds the entry, so a withheld image can be named and ordered.

Requires an access token.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNoItems to return (1-50); each costs a request for its image count.
offsetNoMatching items to skip, for paging.
containsNoKeep only items whose description holds every word, e.g. 'Box 12' or '#250 1885'. Case is ignored; a number matches whole (250 is not 1250) or inside a span (1885 matches 1880-1890).
catalog_idNoCatalog number, digits only, e.g. '3154151' from familysearch.org/search/catalog/3154151.
film_numberNoInstead of catalog_id: a DGS or microfilm number. Finds the entry that holds the film and returns only that film's item, which names the volume.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv1.4.0
    • addedInput schema / properties / catalog_id / default
      Added value: +""
    • addedInput schema / properties / film_number
      Added value: +{
      +  "default": "",
      +  "description": "Instead of catalog_id: a DGS or microfilm number. Finds the entry that holds the film and returns only that film's item, which names the volume.",
      +  "type": "string"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "catalog_id"
      -]
  2. Addedv1.3.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only supply readOnlyHint and openWorldHint, and the description adds genuinely new behavior: an access token is required, each returned item costs a request for its image count, items report viewability for this account, some films are restricted or never digitised, and DGS numbers differ from microfilm numbers. This is meaningful context well beyond the annotations.

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-loaded with the core definition and generally tight, with each sentence carrying substance (cost, auth, DGS distinction, citation caveat). Some phrasing is elliptical ('An entry describes holdings, not a record: cite the image you read'), which slightly taxes readability, and the multi-paragraph layout is longer than strictly needed.

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?

With no output schema and five optional params, the description compensates well: it explains what is returned (image counts, viewability), the access-token requirement, per-item request cost, restriction status, and points to get_film_image for opening pages. An agent has everything needed to call it correctly.

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 nonetheless adds semantics the schema lacks, notably that film_number returns only that film's item and names the volume, and that contains should be used for very large item lists. It does not describe the numeric matching/span rules beyond what the schema already states.

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?

Opens with a specific verb+resource ('Read a FamilySearch Catalog entry') and enumerates what an entry holds (title, authors, places, notes, films). It also implicitly separates itself from siblings by stating an entry 'describes holdings, not a record', so an agent can distinguish it from get_record/get_film_image without opening schemas.

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?

Gives concrete selection conditions: use 'contains' when an item list runs to thousands, and use film_number when 'given only a film number (as an index citation gives it)'. It also steers away from treating the entry as a record. It does not explicitly name alternative tools for adjacent tasks, so it stops short of a full when/when-not/alternatives treatment.

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