For developers and reviewers
AncestralFire, as an MCP server.
AncestralFire is a hosted Model Context Protocol server that lets an assistant work with one person's own family tree: who their ancestors were, where a line came from, what a record says. It answers from the tree they bring, cites what it found, draws people, lines and maps as cards, and changes a tree only when its owner has approved it. Nothing runs on the subscriber's computer.
https://mcp.ancestral-fire.com/mcp
- Transport
- Streamable HTTP, over HTTPS only.
- Protocol
- MCP
2026-07-28. Clients that speak2025-11-25or2025-06-18are answered in those versions. - Sign-in
- OAuth 2.1 through WorkOS AuthKit: authorization code with PKCE (S256), dynamic client registration and client ID metadata documents, refresh tokens. The subscriber signs in with their own AncestralFire account. There are no API keys and no shared accounts.
- Discovery
/.well-known/oauth-protected-resource(also at/.well-known/oauth-protected-resource/mcp) onmcp.ancestral-fire.comnames the resource and its authorization server;/.well-known/oauth-authorization-serverthere returns the authorization server's own metadata for clients that ask the server directly.- Unsigned calls
- Answer
401, by design. Every call belongs to one subscriber and reaches only that subscriber's own tree.
Connect it
Add the address as a remote MCP server or connector, sign in when asked, and ask. Step by step: Claude, ChatGPT, Claude Code, or any other assistant. No account yet? Create one: it is free to start, and answers in an assistant do not use up the free answers on our site.
The tools
49 tools are offered to a model on every door, in 10 groups. This list is read from the running server when the page is built, not written by hand, so it is the server's own account of itself. Each tool's approval says who decides before it acts.
Read the family tree
Who someone is, who they are related to, what the tree holds and where it disagrees with itself. Nothing here changes anything.
| Tool | What it does | Approval |
|---|---|---|
export_gedcom | The subscriber's tree as a GEDCOM file, every tag kept. | Reads only |
family | Relatives seen one way at a time: a relation said in words ("my mother's grandparents") resolved to exactly those people, or a person's ancestors from FamilySearch. | Reads only |
find | Finds people by name, place or birth years, in the subscriber's own tree or in FamilySearch Family Tree, the shared tree. | Reads only |
life | One person's life: every dated, placed event in order, or every place around their birthplace with the distances. | Reads only |
overview | The family history at a glance: people and families, the span of years, common surnames, the home person, anniversaries and what has been saved. | Reads only |
person | Everything the tree, FamilySearch and the subscriber's uploaded memories hold about a person, up to four people in one call. | Reads only |
problems | What is wrong or missing in the subscriber's tree. | Reads only |
relationship | How two people are related, through their most recent common ancestor, or one relationship as FamilySearch holds it. | Reads only |
See it
Maps and views drawn from the tree.
| Tool | What it does | Approval |
|---|---|---|
map | A real map: places, where ancestors were born decade by decade, or one person's life stop by stop. | Reads only |
Change the family tree
Add, correct or remove a person, a relationship or a fact in the subscriber's own tree. The host asks before each one runs.
| Tool | What it does | Approval |
|---|---|---|
add_relative | Adds a person to the tree by hand, as a parent, child or spouse of someone already in it. | Needs your Approve |
bring_in | Brings the subscriber's family into their tree, from a file or from FamilySearch. | Needs your Approve |
edit_person | Corrects a person's name, sex, or birth, death, christening or burial date or place. | Needs your Approve |
fs_link | Which FamilySearch person each person in the tree is: suggests links, and shows the ones the subscriber confirms or says are wrong for their press. | Needs your Approve |
mark_finding | Shows the ruling and makes it only when the subscriber presses Approve on the card (say it is waiting, never that it is done). | Needs your Approve |
remove_relative | Removes a person the subscriber added by hand, or merges two records of the same person into one. | Needs your Approve |
Read FamilySearch
Hints, records, places and the shared tree, once the subscriber connects their own FamilySearch account. Nothing about a living person is ever searched for there.
| Tool | What it does | Approval |
|---|---|---|
familysearch_status | How the tree and FamilySearch line up: how far the background pull has got and whether the tree was built right. | Reads only |
place | The FamilySearch authorities, for a place or a date as the tree writes it. | Reads only |
Change FamilySearch
Anything that writes to FamilySearch Family Tree, the shared tree. Each is refused until the subscriber has seen exactly what would be written and pressed Approve on our site.
| Tool | What it does | Approval |
|---|---|---|
fs_add_memory | Uploads one of the subscriber's own photos, documents, stories or recordings to FamilySearch and tags an ancestor in it. | Needs your Approve |
fs_add_person | Writes a new person into the shared FamilySearch Family Tree under the subscriber's name, joined to someone already there. | Needs your Approve |
fs_attach_relative | Joins two people FamilySearch already holds: one becomes the child, parent or spouse of the other. | Needs your Approve |
fs_correct_fact | Changes a date or a place on one fact of a person in the shared FamilySearch Family Tree, which everyone sees. | Needs your Approve |
fs_delete_discussion | Deletes a discussion, reply or memory comment the subscriber wrote. | Needs your Approve |
fs_delete_genealogy | Deletes a genealogy the subscriber published. | Needs your Approve |
fs_delete_memory | Deletes a memory the subscriber uploaded. | Needs your Approve |
fs_delete_person | Deletes a person from the shared FamilySearch Family Tree. | Needs your Approve |
fs_detach_relative | Removes a wrong relationship FamilySearch holds, a parent-child link or a marriage; both people stay. | Needs your Approve |
fs_detach_source | Removes the link between a source and a person (or a couple or parent-child relationship) on FamilySearch. | Needs your Approve |
fs_discuss | Posts to the FamilySearch discussions under the subscriber's name, where every contributor can read it. | Needs your Approve |
fs_edit_memory | Changes the title or description of a memory the subscriber uploaded. | Needs your Approve |
fs_edit_source | Changes a source's title, url, citation or notes on FamilySearch. | Needs your Approve |
fs_merge | Merges a duplicate profile into the surviving one on the shared FamilySearch Family Tree. | Needs your Approve |
fs_publish_genealogy | Publishes the subscriber's tree on FamilySearch Genealogies as their own, apart from the shared Family Tree; living people go as an anonymous "Living" entry. Only when they ask. | Needs your Approve |
fs_source | Attaches a source on FamilySearch to a person or to a relationship, and lists the subscriber's source box. | Needs your Approve |
fs_untag_memory | Removes a tag (persona) the subscriber put on a memory, which also takes the memory off that person's page. | Needs your Approve |
Look outside the tree
Public sources for the world around an ancestor: newspapers, places, history.
| Tool | What it does | Approval |
|---|---|---|
history | Historical context from outside the tree: a sourced summary of a place, person, event or era, or the setting of one ancestor's life. | Reads only |
Keep and share
Write up what was found, keep it as a page, export the tree as a GEDCOM file.
| Tool | What it does | Approval |
|---|---|---|
keep_document | Keep a document the subscriber found themself (an obituary on a newspaper page, a record, a book, a web page) as evidence about people in their tree. | Your assistant asks first |
make | Make a page I can send my sister, a story about my grandparents for my kids, a keepsake for the reunion: they get a link, kept in their own AncestralFire account, that opens any time and can be sent on from there. | Your assistant asks first |
read | The whole of something kept: an article, a saved output or a person's life sketch. | Reads only |
share_output | Gives a saved output an address anyone with the link can open without signing in, or takes it back. | Needs your Approve |
Remember
What was asked, decided and left open, kept in the subscriber's own record so a new conversation can pick it up.
| Tool | What it does | Approval |
|---|---|---|
recall | Searches the subscriber's AncestralFire memory: every earlier tool call on every app, the notes kept with remember, and the findings kept in their tree. | Reads only |
remember | Keeps a short note in the subscriber's AncestralFire memory about this conversation: what they asked, what was decided, what is still open, and who it concerns. | Your assistant asks first |
Getting started
Bring a tree in, connect FamilySearch, step through setup.
| Tool | What it does | Approval |
|---|---|---|
connect | The Connect card: who is settled on each side, the open question and the lines still to connect. | Reads only |
connect_familysearch | Start connecting the subscriber's FamilySearch account. | Your assistant asks first |
connect_step | Takes a step in connecting the subscriber's family to FamilySearch Family Tree, and returns the Connect card. | Your assistant asks first |
Account and settings
The subscriber's own settings, usage and feedback.
| Tool | What it does | Approval |
|---|---|---|
account | Who is signed in, whether FamilySearch is connected, and what is theirs on FamilySearch. | Reads only |
conversations | The subscriber's conversations on ancestral-fire.com. | Reads only |
feedback | Drafts a note to the AncestralFire team about this conversation, for the subscriber to correct and send. | Reads only |
session_new | Start a new conversation on ancestral-fire.com beside the others (none is cleared or deleted). | Your assistant asks first |
settings | Sets the subscriber's home person: who they are in their own tree, the center every line is counted from; other tools use it as the default starting point. | Needs your Approve |
Cards
35 of those tools attach an interactive card (an MCP App: a ui:// resource named in the tool's _meta) that a host which supports MCP Apps draws in the conversation: a person, a family's events, a line of ancestors, a relationship, a finding, and maps. A host that does not draw cards receives the same answer as data and text; the card is never the only place a fact appears.
Limits and rules
- Never trimmed, only paged. A reply too large for one call carries a cursor to the rest. A relative's dates, a source or a fact are not dropped to fit; the tool's output is what gets paged.
- Nothing changes without its owner. A change to the subscriber's tree is a call the host asks about first. A change to FamilySearch Family Tree is refused until the subscriber has seen the preview and pressed Approve, with a reason, on our site.
- Living people. A living person is never searched for on FamilySearch, and no read sends anything about them there. The one write that reaches them is publishing a genealogy, which happens only when the subscriber asks: a living person goes as an anonymous "Living" entry with no name, sex or facts, and only the family links that keep the tree connected. Their own tree may include them.
- FamilySearch sets the limits. Reads are paced to the per-user throttle FamilySearch sets, and a source that cannot answer says so instead of returning an empty list.
- One subscriber, one tree. A call reaches only the vault of the account that signed in.
Privacy, terms and AI
How the assistant on our site and in yours uses AI: AI, and what it does with your family. What we keep and never do with it: Privacy. The rules of use: Terms. Your family's data is yours: we never sell it, and we never pool it with anyone else's.
Support
Write to support@ancestral-fire.com, or use the support page. For a directory review, name the account you tested with and roughly when, and we can look at what happened.