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 in the loaded file by name or id. Living people are included unless hiding is turned on.
ParametersquerysessionId
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
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
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
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
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
List sources and citations for a person or for one event.
ParameterseventIdpersonIdsessionId
Find missing parents, contradictory dates, possible duplicates, and people with no source in the loaded file.
ParameterssessionId
Suggest concrete next research steps from the gaps and conflicts in the loaded file.
ParameterssessionId
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 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
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 a person to the edit session copy. A first name or a last name is required. The original file is not changed.
ParameterssexnoteslastNamebirthDatedeathDatefirstNamesessionIdbirthPlacedeathPlace
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 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 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
Link a person to a family as husband, wife, or child in the edit session copy. Omit the family id to create a family. A person cannot be their own parent. The original file is not changed.
ParametersrolerequiredfamilyIdpersonIdrequiredsessionId
Remove a person from one family role in the edit session copy. The person and the family stay in the file. This is not a delete. The original file is not changed.
ParametersrolerequiredfamilyIdrequiredpersonIdrequiredsessionId
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 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
List, in plain language, every change made in the edit session since it started.
ParameterssessionId
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
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
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 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 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