# FamilySearch API MCP MCP

> FamilySearch API lets your AI agent manage complex genealogical research and ancestry auditing. It connects your workflow to one of the world's largest platforms for family history, allowing you to search millions of records, map pedigrees, and retrieve associated memories—all without touching a genealogy portal.

## Overview
- **Category:** knowledge-management
- **Price:** Free
- **Tags:** genealogy, ancestry, historical-records, pedigree-charts, research-automation

## Description

This MCP allows your agent to run deep-dive historical audits across global family tree data. Instead of manually searching multiple forms or spending hours cross-referencing documents on separate portals, you ask your AI client for what you need. It pulls person details, maps out complex lineage charts, and retrieves associated photos and stories directly into your workflow. You can audit an individual's entire life record—from their reported lifespan to the historical collections they tie into. When you connect this MCP through Vinkius, your agent acts like a dedicated genealogical consultant, making sure every piece of metadata is verified before it hits your desk.

## Tools

### check_api_status
Confirms if the entire FamilySearch API connection is currently operational and responding.

### get_person_memories
Gathers photos, stories, and documents (memories) associated with an individual's record.

### get_person_pedigree
Maps the full ancestry chart for a person, showing their direct lineage over several generations.

### get_person_details
Retrieves detailed metadata, including lifespans and birth/death places for a specific person by their unique ID.

### list_historical_collections
Pulls a list of all historical record collections available within the FamilySearch system.

### search_persons
Searches the global FamilyTree for people using criteria like name or location.

## Prompt Examples

**Prompt:** 
```
Search for 'George Washington' in FamilySearch.
```

**Response:** 
```
I've retrieved several matches for George Washington! The primary record shows a lifespan of 1732-1799, born in Westmoreland, Virginia. Would you like to see his full pedigree or associated memories?
```

**Prompt:** 
```
Show the pedigree for person ID 'KWCX-S58'.
```

**Response:** 
```
I've retrieved the ancestry chart for KWCX-S58. It includes three generations of ancestors, including names and vital dates. I can provide the unique IDs for these ancestors if you'd like to audit them further.
```

**Prompt:** 
```
List available memories for person ID 'LZDP-H7Z'.
```

**Response:** 
```
I've identified 5 memories for this individual, including 3 portrait photos and 2 historical documents. I can assist you with the direct metadata for each of these items if you'd like.
```

## Capabilities

### Locate Individuals in the Global Tree
Search across millions of records to find people by name and details within the FamilySearch database.

### Map Ancestry Lineage Charts
Generate a full pedigree chart for any person, detailing their ancestors and vital dates over multiple generations.

### Audit Personal Details
Retrieve comprehensive metadata for a specific individual, including birth/death places and reported lifespans.

### Discover Associated Memories
Gather all linked photos, stories, and documents attached to a specific person's record.

### Review Global Record Types
List the available historical record collections so you know what kind of archives exist for deeper research.

## Use Cases

### Need to verify the dates and locations for an ancestor.
A researcher finds an old document that only lists a name. Instead of manually trying to find records, they ask their agent to use `search_persons` first, then feed the resulting ID into `get_person_details` to get precise lifespans and confirmed birth/death locations.

### Building out an entire family tree structure.
A user locates a key person. They use `get_person_pedigree` to build the chart, then run `list_historical_collections` to find related record sets that might fill in gaps for the next generation.

### Finding evidence beyond names and dates.
The agent identifies a person. The user asks it to pull all 'memories' using `get_person_memories`. This retrieves not just metadata, but actual photos and stories related to that individual.

### Systematically checking the data source integrity.
Before starting a massive project, an archivist runs `check_api_status` to confirm the API is online. They then use `get_person_details` on several test subjects to ensure the connection is pulling accurate metadata.

## Benefits

- Stop manually searching. Use the `search_persons` tool to find multiple matching people across the global tree, then use `get_person_details` to pull verified metadata like lifespans and places in one go.
- Don't lose track of lines. The `get_person_pedigree` tool instantly builds out complex ancestry charts for a person, ensuring you maintain a clear view of the lineage distribution.
- Find more than names. If you need context, use `get_person_memories`. This pulls associated photos and stories, giving you qualitative evidence alongside the quantitative data.
- Understand the scope of research. Before diving deep, run `list_historical_collections` to see exactly what global archives exist for your area of interest.
- Verify everything immediately. The MCP structure lets you audit a person's entire record—from basic details to memories—without leaving your chat interface.

## How It Works

The bottom line is you get structured genealogical data returned directly to your AI client, ready for analysis or writing.

1. Subscribe to this MCP and enter your FamilySearch Access Token.
2. Connect your AI client (like Claude or Cursor) to the Vinkius catalog via the installed token.
3. Ask your agent a specific research question, like 'Show me the full pedigree for John Doe's family,' and the tool executes the search.

## Frequently Asked Questions

**How does `get_person_details` work with FamilySearch records?**
The tool pulls key metadata—like lifespans and birth/death places—for a specific person ID. This lets you verify core facts without having to navigate the full profile page.

**Can I use `get_person_memories` for every individual?**
Yes, you can run this tool against any individual's ID found in the tree. It gathers associated photos and stories, helping you build a richer context around their life.

**What is the difference between `search_persons` and `get_person_details`?**
`search_persons` finds potential matches across the whole tree based on criteria. You must use `get_person_details` afterward to pull the specific, verified metadata for a single person ID.

**What does `list_historical_collections` show me?**
This tool lists all available historical record collections tied to FamilySearch. It helps you understand the full depth of archived material related to your research area.

**What is the purpose of calling `check_api_status` before I run any other queries?**
This tool confirms if the FamilySearch API connection is active and responding correctly. Running this check first guarantees your workflow has a stable endpoint, preventing errors when you try to use tools like `get_person_details`.

**If I need to search thousands of names using `search_persons`, are there rate limits?**
Yes, continuous high-volume querying can trigger rate limits. You should implement a pause or 'sleep' function between batches of searches to keep your agent from being throttled by the service.

**When I run `get_person_pedigree`, what information defines a unique ancestor ID?**
An ancestor ID is defined by its unique combination of person type, associated record collection, and internal FamilySearch identifier. This ensures you track lineage correctly across different records.

**After I use `search_persons`, how do I get the specific IDs needed to run `get_person_details`?**
The search result returns a list of potential matches, each with its own unique ID. You must parse these results and select the desired ID before passing it to `get_person_details`.

**How do I find my FamilySearch Access Token?**
Log in to the [**FamilySearch Developer portal**](https://www.familysearch.org/developers/), and you can generate a Personal Access Token or use the OAuth flow to obtain one. Copy and paste it below.

**Can the agent show my family tree?**
Yes. Use the `get_person_pedigree` tool providing a starting person ID. Your agent will return the ancestry chart metadata instantly.

**Are photos and stories included?**
Yes. The `get_person_memories` tool retrieves any photos, stories, and documents (memories) associated with a specified person in the tree.