Genealogy

com.eacpartnersPublished by eacpartners.comv1.4.1Updated Nov 3, 2026

Reads and edits local GEDCOM/BegatAll over stdio. Living people shown unless you hide them.

The publisher's own server: Concierge

VerifiedSTDIODesktop onlyFiles & StorageData & Analytics

Overview

AI-generated overview

Reads and edits local GEDCOM and BegatAll genealogy files on your computer, with search, relationship trees, research gaps and staged edits.

What you can do
  • Load a genealogy file and search or read people, with living people shown unless hidden
  • Explore relationships, ancestor and descendant lines, timelines, sources and citations
  • Find research gaps and conflicts, and get suggested next research steps
  • List and view media attached to people and events
  • Edit in a private session copy: add or update people and events, link or unlink families, add sources, undo the latest change, and review a plain-language diff
  • Export the session to a new file, commit it over the original, and list or restore managed backups
When to use it
Useful when you keep family history in GEDCOM or BegatAll files and want an assistant to browse the tree, check data quality, plan research, or make careful edits without touching the original until you confirm.
Requirements
Runs locally over stdio via npx (Node.js). No network access or authentication. Optional environment variables GENEALOGY_MCP_ALLOW_COMMIT, GENEALOGY_MCP_HIDE_LIVING and GENEALOGY_MCP_SHOW_LIVING control writes and privacy. Desktop only.
Before you install
commit_session and restore_backup replace files on your computer and are refused unless GENEALOGY_MCP_ALLOW_COMMIT is set; they ask for repeated confirmation. export_session writes new files. Living people are shown by default, so set the hide switch before sharing output. Media and file paths are limited to the loaded package.

Installation

In SourceWeft

  1. Open Genealogy in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Tools

27

load_file

Load a genealogy file from a path on this computer. Accepts a GEDCOM file (.ged or .gedcom), a zip that contains one, a .begatallx package, a BegatAll project folder, or a legacy BegatAll SQLite file (.begatall or .bgallged). Returns counts, including livingPeople and hiddenLivingPeople. The file stays on this computer. Living people are included in later results unless you hide them. Pass hideLiving true for this file, or set GENEALOGY_MCP_HIDE_LIVING. export_session still leaves living people out unless you opt out there.

ParameterspathrequiredhideLiving

search_people

Search people in the loaded file by name or id. Living people are included unless hiding is turned on.

ParametersquerysessionId

get_person

Get the full record for one person by id. A hidden living person is reported as not visible. Empty death and burial events are omitted. Media lists the id, caption, and file name, not the file bytes.

ParameterspersonIdrequiredsessionId

relationships

List parents, spouses, children, and siblings for one person. Hidden living relatives are counted but not named. Living people are included unless hiding is turned on.

ParameterspersonIdrequiredsessionId

ancestors

List ancestor lines for a person. Depth 1 is the parents. Hidden living people are not named and stop that line. Living people are included unless hiding is turned on.

ParametersdepthpersonIdrequiredsessionId

descendants

List descendant lines for a person. Depth 1 is the children. Hidden living people are not named and stop that line. Living people are included unless hiding is turned on.

ParametersdepthpersonIdrequiredsessionId

timeline

List events in chronological order for one person, or for every visible person when no person id is given. Empty death and burial events are omitted. Linked media ids are included.

ParameterspersonIdsessionId

source_citations

List sources and citations for a person or for one event.

ParameterseventIdpersonIdsessionId

find_gaps_and_conflicts

Find missing parents, contradictory dates, possible duplicates, and people with no source in the loaded file.

ParameterssessionId

research_suggestions

Suggest concrete next research steps from the gaps and conflicts in the loaded file.

ParameterssessionId

list_media

List media in the loaded file. Filter by person id, event id, or media id. A media id wins over an event id, and an event id wins over a person id. Returns captions, file names, and whether image bytes exist. It does not return the bytes. Media attached only to hidden living people is omitted when hiding is on.

ParameterseventIdmediaIdpersonIdsessionId

get_media

Get one media item from the loaded package. JPEG and PNG images are returned as image content. The thumbnail is used when it exists, unless full is true. Pass file true to read the package file instead. PDF and other files must sit in the package files folder and are returned as a resource. The server does not open a path outside the package or follow a network link. Thumbnails are limited to 512 KiB. Full images are limited to 5 MiB. Package files are limited to 10 MiB. PDF text is limited to 2 MiB characters.

ParametersfilefullmediaIdrequiredsessionId

start_edit_session

Copy the loaded genealogy into a private folder on this computer and return a session id. Later edits, diff, export, and commit use that id. The original file is not changed.

Takes no parameters.

add_person

Add a person to the edit session copy. A first name or a last name is required. The original file is not changed.

ParameterssexnoteslastNamebirthDatedeathDatefirstNamesessionIdbirthPlacedeathPlace

update_person

Update fields on a person in the edit session copy. Send only the fields that should change. Null leaves a field as it is. An empty string clears it. The original file is not changed.

ParameterssexnotesprefixsuffixlastNamepersonIdrequiredbirthDatedeathDatefirstNamesessionIdbirthPlacedeathPlace

add_event

Add an event to one person, or a marriage to one family, in the edit session copy. Send a person id or a family id, not both. The original file is not changed.

ParametersdatetyperequirednotesplacesourcefamilyIdpersonIdsessionId

update_event

Update an event in the edit session copy. Send only the fields that should change. Birth, death, burial, and marriage keep their type. The original file is not changed.

ParametersdatetypenotesplacesourceeventIdrequiredsessionId

add_source

Add a source to the edit session copy. Optionally cite it on a person or an event. The original file is not changed.

ParametersdatenoteplacetitlerequiredauthoreventIdpersonIdsessionIdrepositorypublication

undo_change

Undo the latest change in the edit session. Only the latest change can be undone. Pass its change id, or omit the id. Earlier changes stay until they become the latest.

ParameterschangeIdsessionId

diff_session

List, in plain language, every change made in the edit session since it started.

ParameterssessionId

run_diagnostics

Report date problems and broken links in the loaded file, or in an edit session when a session id is sent. This does not change the file and does not repair anything. find_gaps_and_conflicts is the research list (missing parents, missing sources, possible duplicates). This tool is the data check (dates, links, empty families, unlinked media).

ParameterssessionId

export_session

Write the edit session to a new GEDCOM (.ged or .gedcom) or BegatAll package (.begatallx). The format and the file extension are both required. Existing files are never overwritten. Living people are left out of this file even though read tools show them by default. Pass includeLiving true to keep them, or set GENEALOGY_MCP_SHOW_LIVING. A hide control wins and still leaves them out. The result includes the local path. Small files are also embedded; larger files are a resource link.

ParametersformatrequiredsessionIdoutputPathrequiredincludeLiving

commit_session

Replace the original file with the full edit session after three confirmations: "Would you like to update the original file?", "Are you sure?", and "Are you really sure?". When the client can ask the user, those questions are asked in the client and the result has no confirmation code. Otherwise a code is written for the user on the server console and in a local file. This result names that file and does not include the code. Pass the code the user gives you as confirmationCode. The write is refused when allowCommitToOriginal is off, when a code is skipped, reused, expired, or out of order, or when the original file changed. A managed backup is written first. Living-person redaction is not applied; export_session is the redacted copy.

ParameterssessionIdconfirmationCode

list_backups

List managed backups. Each entry has an id, the original path, the time, and the size. Pass an original file path or a project folder to limit the list. Omit the path to list every managed backup. A loose backup file beside the original is not a restorable backup.

Parameterspath

restore_backup

Restore one managed backup onto the original file recorded for that backup id. The only question is "Would you like to restore this backup over the current file?". When the client can ask the user, the question is asked in the client and the result has no confirmation code. Otherwise a code is written for the user on the server console and in a local file. Pass the code the user gives you as confirmationCode. This result does not include the code. There is no target path. The current file is saved as another managed backup first. This is refused when allowCommitToOriginal is off, or when the backup id is unknown, the backup file does not match its manifest, or the backup is outside the managed folder. Older backups saved beside the original file are not accepted.

ParametersbackupIdrequiredconfirmationCode

Version history

2
  1. v1.4.1LatestNov 1, 2026
  2. v1.4.0Nov 1, 2026

Score

65% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts

    Declare a license in the repository or the registry entry.

Other Eacpartners integrations