Skip to main content
Glama
ianderso
by ianderso

get_matches

Read-only

Find a person's possible duplicate profiles or indexed record leads in FamilySearch, returning scored system candidates to investigate, not evidence.

Instructions

Read FamilySearch's own candidate matches for a tree person.

With collection 'tree' these are profiles the system thinks may be the same person -- the duplicates behind most conflations, and the reason a person appears twice with two different sets of parents.

With collection 'records' they are indexed records that may belong to this person, which is a lead towards a document.

These are the system's guesses, scored by its own confidence. A high score is a reason to look, never a reason to conclude.

Record matches are restricted in production to applications FamilySearch has certified; an uncertified one gets a refusal here rather than results.

The FamilySearch shared tree is community-edited: anyone can change this profile, and conflations of two same-named people are common. What this returns is a hint about where to look, not evidence. Follow it to an underlying record and cite that instead.

Requires an access token.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNoMaximum candidates to return (1-100).
person_idYesFamilySearch person id, e.g. 'K2ZP-VY1'.
collectionNoWhere to look for candidates: 'tree' for duplicate profiles in the shared tree, 'records' for indexed records that may be the same person.tree

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations declare readOnlyHint=true and openWorldHint=true, but the description adds substantial behavioral context beyond them: it requires an access token, restricts record matches to certified applications (refusal otherwise), warns that the shared tree is community-edited with common conflations, and emphasizes the output is a hint, not evidence.

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 and well-structured, but contains redundancy: the warning about not concluding is stated twice ('a high score is a reason to look, never a reason to conclude' and 'a hint about where to look, not evidence'). The conflations caveat also appears more than once. Trimming these would improve conciseness.

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?

Given no output schema, the description conceptually explains what is returned (candidate matches with confidence scores) and covers critical caveats like access token requirement, production restrictions, and data reliability. It does not describe the response format or pagination behavior, but the conceptual coverage is strong for a read tool.

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 baseline is 3. The description adds meaning about the 'collection' parameter by elaborating on what 'tree' duplicates represent (conflations, same person with different parents) and that 'records' are leads to documents. It doesn't add detail for 'count' or 'person_id' beyond the schema.

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 ('Read FamilySearch's own candidate matches for a tree person') and distinguishes between the 'tree' and 'records' collections. It clearly sets this tool apart from siblings like get_record by framing the results as system guesses, not evidence, which is a unique scope.

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?

Provides clear context for when results are useful ('a high score is a reason to look, never a reason to conclude') and points to the alternative ('Follow it to an underlying record and cite that instead'). It also notes a production restriction for record matches. However, it does not explicitly state when to prefer this over search_records or get_person_sources.

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