Skip to main content
Glama
JonathanReiss15

FamilySearch MCP Server

FamilySearch MCP Server

A local Model Context Protocol (MCP) server for FamilySearch. Gives AI assistants access to search the Family Tree, view person details, explore ancestors and descendants, and search historical records.

Features

  • Family Tree search — find individuals by name, dates, places, and gender

  • Person details — view a person card by ID

  • Pedigree exploration — ancestors (up to 8 generations) and descendants (up to 3)

  • Historical records — search record collections

  • Browser session auth — log in once with Brave; no FamilySearch API key required

Related MCP server: Gramps MCP

How it works

FamilySearch does not approve direct API access for most personal projects. This server reuses your browser session cookies and calls the same internal /service/ endpoints the website uses. Your session is stored locally at ~/.familysearch-mcp/config.json.

Prerequisites

  • Node.js 18+ and npm

  • Brave browser — Playwright's bundled Chromium is blocked by FamilySearch bot detection

  • A free FamilySearch account

Installation

1. Clone and build

git clone https://github.com/JonathanReiss15/familysearch-mcp.git
cd familysearch-mcp
npm install
npm run build
npm run login

This opens Brave with a dedicated profile. Sign in when prompted. Your session is saved to ~/.familysearch-mcp/config.json.

Tip: You can also ask your AI assistant to run the login-with-browser tool after the MCP is connected.

3. Configure your MCP client

Add the server to your client using stdio transport. Replace /path/to/familysearch-mcp with the absolute path to this repo.

Recommended config (uses cwd so you don't need absolute paths in args):

{
  "mcpServers": {
    "familysearch": {
      "command": "node",
      "args": ["build/index.js"],
      "cwd": "/path/to/familysearch-mcp"
    }
  }
}

Run npm run build whenever you pull changes.


MCP client setup

Cursor

Project-scoped — create .cursor/mcp.json in your project (or add globally in Cursor Settings → MCP):

{
  "mcpServers": {
    "familysearch": {
      "command": "node",
      "args": ["build/index.js"],
      "cwd": "/path/to/familysearch-mcp"
    }
  }
}

Restart Cursor or reload MCP servers after saving.

Claude Desktop

Edit claude_desktop_config.json:

Platform

Config path

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Windows

%APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "familysearch": {
      "command": "node",
      "args": ["build/index.js"],
      "cwd": "/path/to/familysearch-mcp"
    }
  }
}

Restart Claude Desktop after saving.

Claude Code

From the repo directory:

claude mcp add familysearch -- node build/index.js

Or with an absolute path from anywhere:

claude mcp add familysearch -- node /path/to/familysearch-mcp/build/index.js

Verify with claude mcp list.

Codex

From the repo directory (after npm run build):

codex mcp add familysearch -- node build/index.js

Or add to ~/.codex/config.toml:

[mcp_servers.familysearch]
command = "node"
args = ["build/index.js"]
cwd = "/path/to/familysearch-mcp"

Use /mcp in Codex to confirm the server is connected.

This repo also includes .codex/config.toml for project-scoped config when the directory is trusted.

VS Code

Add to your user MCP config (Command Palette → MCP: Open User Configuration) or .vscode/mcp.json in a workspace:

{
  "servers": {
    "familysearch": {
      "command": "node",
      "args": ["build/index.js"],
      "cwd": "/path/to/familysearch-mcp"
    }
  }
}

Windows

If node is not found, use the full path to your Node executable. For clients that struggle with direct node invocation, wrap with cmd:

{
  "mcpServers": {
    "familysearch": {
      "command": "cmd",
      "args": ["/c", "node", "build/index.js"],
      "cwd": "C:\\path\\to\\familysearch-mcp"
    }
  }
}

Authentication

npm run login

Opens Brave (not headless Chromium) to avoid FamilySearch bot detection.

Option 2: Copy cookies manually

  1. Log in at familysearch.org

  2. In DevTools → Console, run: copy(document.cookie)

  3. Use the set-session-cookie MCP tool with the copied string

The full cookie string is required — bot protection cookies like reese84 and incap_ses_* must be included, not just fssessionid.


Tools

Tool

Description

login-with-browser

Open Brave, log in, and save session locally

set-session-cookie

Authenticate by pasting cookies from your browser

get-current-user

View your authenticated account info

search-persons

Search individuals in the Family Tree

get-person

Get details for a person by ID

get-ancestors

View ancestors (default 4 generations, max 8)

get-descendants

View descendants (default 2 generations, max 3)

search-records

Search historical record collections

Example prompts

Search for persons named "John Smith" born in "New York"
Get person with personId G2KQ-JTH
Get 4 generations of ancestors for personId G2KQ-JTH
Search historical records for surname "Reiss" in "Pennsylvania"

Troubleshooting

Problem

Fix

"Not authenticated" errors

Run npm run login or use set-session-cookie

Session expired / 401 errors

Re-run npm run login

"Request blocked by FamilySearch security (error 15)"

Re-run npm run login to refresh bot-protection cookies

Brave not found

Install Brave or set BRAVE_PATH to your Brave executable

MCP tools not appearing

Confirm npm run build succeeded and restart your MCP client

node not found

Use the full path to your Node binary in the MCP config


Security

  • Session cookies are stored locally in ~/.familysearch-mcp/config.json

  • They grant the same access as your browser session — never share this file

  • Sessions expire after inactivity; re-authenticate when tools return auth errors

  • This server runs locally over stdio; no data is sent to third parties

License

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    B
    maintenance
    Enables AI agents to create, edit, and query genealogical data from GEDCOM files. Supports complex genealogy searches, automatic data enrichment from web sources, relationship analysis, and biography generation for individuals and families.
    Last updated
    13
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    Enables AI assistants to interact with Gramps genealogy databases for intelligent family tree research and management. Provides comprehensive tools for searching family data, creating records, analyzing relationships, and tracking genealogy research through natural language.
    Last updated
    39
    AGPL 3.0
  • A
    license
    B
    quality
    D
    maintenance
    Integrates with the WikiTree API to provide tools for exploring genealogical data, including ancestor and descendant information. It enables users to retrieve biographies and family relationships through any application supporting the Model Context Protocol.
    Last updated
    5
    1
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Read-only A2Me family context tools for AI assistants (members, dates, activity, relationships)

  • Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.

  • Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JonathanReiss15/familysearch-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server