Genealogy research toolkit

io.github.igormel81由 GitHub 帳號 igormel81 發布v0.7.0更新於 Oct 30, 2026

Family history: 171 sources, book search, calendars, kinship, event evidence and research projects

概覽

AI 產生的概覽

家譜研究工具包,讓助理取得 171 個檔案來源、姓名與曆法工具、證據查核,以及可長期保存的研究專案。

可以做什麼
  • 依國家、年代與紀錄類型尋找並檢視檔案館與資料庫,並查出某個歷史省份的紀錄如今保存在哪個檔案館
  • 產生現成的搜尋連結,並在少數開放資料庫中即時搜尋,包括 Gallica 書籍的頁面層級 OCR 搜尋
  • 產生姓名變體、轉寫與 Soundex 編碼,並在儒略曆、格里曆、希伯來曆、法國共和曆、教會節日與教會斯拉夫數字之間正規化或換算日期
  • 估算出生年份,以俄語、英語與羅馬尼亞語說明親屬稱謂,解讀 DNA 共享量,並判斷找到的紀錄是否為目標人物
  • 審查 GEDCOM 家譜中的不可能事實、重複項目與缺口,並起草致檔案館或戶政機關的申請信
  • 維護研究專案:讀取、儲存與記錄人物、來源、線索、涵蓋情況與引文,並匯入匯出 GEDCOM
適用情境
適合正在追溯祖先的人,尤其是涉及俄羅斯、前蘇聯、東歐或拉丁美洲的研究,希望助理規劃搜尋、處理舊曆法與拼寫差異,並在多次對話之間保留成果。也適合檢查現有 GEDCOM 家譜中的錯誤與缺口。
執行需求
以 Python 套件形式透過 uvx 在本機執行(需要 uv),也可用一鍵安裝的 Claude Desktop 擴充功能、Docker 映像或 HTTP 服務方式執行。未宣告需要帳號、API 金鑰或環境變數。即時搜尋與地點查詢需要網路連線。專案以檔案形式存放在使用者電腦上。
安裝前請注意
即時搜尋會把查詢的姓名、年份與地點傳送給所搜尋的那一個網站。專案工具可能就地改寫 GEDCOM 檔案或家族檔案網站資料夾;變更會先顯示並需取得授權,且會保留備份。檔案館申請信只是草稿,需使用者自行核對並寄出。關於在世者的資訊會與所使用的助理服務共享。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Genealogy research toolkit,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

genealogy-mcp — find your family history with any AI assistant

Русская версия

[CI] [PyPI] [Python] [MCP Registry] [License: MIT]

An MCP server that turns Claude, ChatGPT, Cursor or any MCP-capable assistant into a careful genealogist. It knows where the records of your ancestors are (171 archives and databases across Russia and the former USSR, Europe, the British Isles, the USA and Latin America), how to search them (name variants, transliterations, old spelling, the Julian calendar), and when a find really is your person — so the assistant gives you working links and a plan instead of confident guesses.

Built from years of real research for an open family archive powered by gene_archive: parish registers, revision lists, WWI and WWII databases, repression files, emigration records — and every trap we fell into along the way. The story behind it: an article on Habr (in Russian).

[You ask your assistant; genealogy-mcp knows where to look, how to search, how to read old dates and whether a find is your person, and writes into your project, your own GEDCOM tree or your family site]

At a glance

  • 171 archives and databases in 55 countries, each with what it holds and how to search it well — and which archive holds the records of a historical province today (borders moved; the answer is often not the obvious one).
  • 31 tools for the real work of a genealogist: name variants and 9 transliteration systems, Daitch–Mokotoff, Julian, Hebrew and French Republican calendars, dates by church feasts, Church Slavonic numerals, kinship in three languages, DNA, evidence checks, a tree audit, live search in open databases, archive request drafts.
  • It works on your tree, not beside it. Point it at the .ged file from MyHeritage, Ancestry, Gramps or RootsMagic and it reads, searches and changes it in place — only the changed lines, everything else byte for byte, a copy kept, every change shown first. Or at a gene-archive family website: changes go through the site's checks, logs and git history.
  • It remembers. Sources with full citations, open leads and every search — "nothing found" included — so nobody searches the same place twice.
  • Honest by design. A namesake is not a relative: a find is linked only with two independent facts beyond the name.
  • Private. Runs on your computer; goes online only for a search you ask for, and only to that one site.
  • Any assistant: Claude Desktop (one-click install), Claude Code, ChatGPT, Cursor, VS Code, Windsurf, Cline.
  • Guides in English, Russian and Ukrainian, the main ones also in Spanish, Portuguese, Polish and German.

Quick start

Claude Desktop: download genealogy-mcp-<version>.mcpb from the latest release and open it. Claude Code: claude mcp add genealogy -- uvx genealogy-mcp. Anything else: uvx genealogy-mcp as the server command (details in Install).

Then just ask: "Help me find my great-grandfather. Here is what I know…"

What you can ask

My great-grandfather Ivan Kolodin was born about 1885 near Bogoroditsk, Tula province. Where do I look?

The assistant makes a plan for Russia 1880–1945, reads the record guides, builds the name forms (Колодин / Колодина / Колодинъ / Kolodin / Kołodin…), gives you search links for FamilySearch, the Internet Archive full text and the Russian war databases, tells you which archive holds the parish registers and drafts the request.

Is this baptism record the same Ivan? It says «Іоаннъ, father Петръ, 1887, Сынково».

check_match compares fact by fact with name variants and age tolerance: two independent facts beyond the name → confirmed; one → probable; a contradiction → find a third document.

What is my grandmother's cousin's daughter to me? И как это по-русски?

kinship → «троюродная сестра… / first cousin once removed» — in Russian, English and Romanian, with the expected DNA share.

Check my tree. (a GEDCOM from Ancestry, MyHeritage, Gramps, Geni…)

audit_tree finds the impossible (born after the mother's death, a mother aged 10, death before birth), possible duplicates and gaps — a to-do list for the next search.

The register says he was born «на Покров» 1885, the year is written ҂аѡ҃пе.

cyrillic_numerals reads the year (1885), feast_date gives 1 October (Julian) = 13 October 1885.

We share 230 cM with a match on MyHeritage. Who could she be?

dna_match: second cousin, first cousin twice removed, half first cousin… — and why only documents can decide.

Where are the parish registers of Volhynia governorate now?

where_are_records: the state archives of Zhytomyr (the consistory), Rivne and Volyn — borders moved, so it is not always the archive of today's region.

Remember what we found, and continue next week.

A research project on your computer: people, sources with full citations, open leads and a log of every search — including "nothing found" — so nobody searches the same place twice. GEDCOM in and out.

Write what we found into our family site.

If your family archive is a gene-archive site, give the project tools the path of its folder: the assistant reads the archive itself — who is missing, which dates have no document — and every change it makes goes through the site's own checks, lands in its corrections and research logs, is committed to git under your name and rebuilds the site. It shows the change first and writes only after your yes.

Here is my tree — add what we found.

Or give it the GEDCOM file of the tree you keep in MyHeritage, Ancestry, Gramps, RootsMagic, Family Historian or webtrees: the assistant reads it, searches it and changes it in place. Only the lines of what changed are rewritten — your program's own tags, photos, notes and the header stay byte for byte; it shows those lines before writing, keeps a copy of the file, and keeps the search log, leads and corrections in a file next to it. Then import the file back into your program (Family Historian and webtrees work on GEDCOM directly). Files not in UTF-8 are read-only.

Why use it

Without itWith genealogy-mcp
The assistant names two or three famous websites171 sources chosen by country, years and kind of record, each with "how to search it well"
Searches one spellingSpelling variants, pre-1918 orthography, male/female forms, 9 transliteration systems, given-name equivalents (Иван = Іоаннъ = Jan = Johann = Juan)
Invented or broken URLsReady search links built from tested URL templates; a weekly job checks every site
"This is probably your ancestor"An explicit evidence rule: a namesake is not a relative
Dates taken at face valueJulian ↔ Gregorian, birth years from ages with realistic drift, dates normalised to GEDCOM
Generic adviceRecord guides: parish registers, confession lists, revision lists, household books, WWI/WWII, repression files, passenger lists, censuses, European civil registration, Latin American records
You write to archives from scratchRequest drafts for Russian ZAGS, state, military and FSB archives, and for any archive in English, Spanish or Portuguese
It forgets everything between chatsA research project that remembers people, sources, leads and every search
It cannot touch your treeReads and changes your own GEDCOM file in place, losing nothing, showing every change first
It cannot read old numbers and datesChurch Slavonic numerals, church feasts, Julian, Hebrew and French Republican calendars
"Search FamilySearch for your name"Live search in the Internet Archive full text, WikiTree, Open Archives and Wikidata place history
DNA matches are a mysteryShared cM → the relationships it fits

Most genealogy MCP servers connect the assistant to one service or one file. genealogy-mcp gives it the research method around them — where to look, how to search, how to read and weigh what it finds — and works on your own tree file too. It runs happily next to a server for a service you use, such as a FamilySearch client.

Everything runs on your computer. The server goes online only when the assistant runs a live search (search_online, search_book_pages, place_history), and then sends that query to that one site.

Coverage

  • Worldwide: FamilySearch (records and the catalogue of unindexed images), Internet Archive full text, MyHeritage, Geni, WikiTree, Find a Grave, BillionGraves, Arolsen Archives, Yad Vashem, JewishGen, Matricula, Geneanet, Wikipedia.
  • Russia and the USSR: Yandex Archive, archive guides, VGD forum, Pamyat Naroda, OBD Memorial, gwar.mil.ru, Road of Memory, Immortal Regiment, Open List, Immortal Barrack, Returned Names, PSTGU martyrs, NashiPredki, metricabook.ru, Rodovod, Presidential and National Electronic Libraries, historical libraries, old maps, church history, RIA-1914, regional archives, ZAGS, TsAMO, RGVIA, RGIA, GARF.
  • Ukraine, Belarus, Moldova, Romania, Poland, the Baltics: national archive portals and catalogues, TsDIAK, genealogica.ro, Genealogy of Bessarabia, deportari.org, Cartea Memoriei, the Moldavian censuses of 1772–1774, Geneteka, Szukajwarchiwach, epaveldas, Raduraksti, the Estonian archives.
  • Europe: ICRC WWI prisoners, CWGC, Volksbund, ScotlandsPeople, FreeBMD, Irish civil and census records, Archion, GenWiki, FranceArchives, Mémoire des hommes, Antenati, PARES, Digitarq, Open Archives (NL), Belgian State Archives, Riksarkivet, Digitalarkivet, Danish Family Search, HisKi, Finnish Digital Archive, Hungaricana, Acta Publica (Czechia), Bulgarian state archives, FreeCEN, FreeREG, The National Archives, GRO, Welsh Newspapers.
  • Germany and German-speaking lands: WWI casualty lists, GEDBAS, Online-OFB, German Digital Library, Bundesarchiv, Baltic Biographical Lexicon, Black Sea Germans (Odessa3), Poznań Project, Metryki.
  • Jewish genealogy: JRI-Poland, Gesher Galicia, LitvakSIG, JewishGen, Yad Vashem, Steve Morse One-Step tools.
  • Caucasus and Central Asia: National Archives of Georgia, the central state archives of Kazakhstan, Uzbekistan, Kyrgyzstan, Tajikistan and Turkmenistan.
  • The Americas: FamilySearch Latin America, AGN Mexico, Arquivo Nacional and Museu da Imigração (Brazil), Hemeroteca Digital, CEMLA and AGN (Argentina), Archivo Nacional (Chile), NARA, Ellis Island, Chronicling America, USGenWeb, Library and Archives Canada, BAnQ (Quebec), Pier 21.
  • Australia and New Zealand: Trove, National Archives of Australia, Papers Past, New Zealand BDM.

Record guides in English, Russian and Ukrainian, the main ones also in Spanish, Portuguese, Polish and German.

Install

Claude Desktop, one click: download genealogy-mcp-<version>.mcpb from the latest release and open it — Claude Desktop installs it and asks where to keep your research projects.

For the other ways you need uv (it fetches Python and the package by itself).

Claude Desktop, by hand — Settings → Developer → Edit Config, add:

json
{  "mcpServers": {    "genealogy": {      "command": "uvx",      "args": ["genealogy-mcp"]    }  }}

Claude Code:

sh
claude mcp add genealogy -- uvx genealogy-mcp

Cursor (~/.cursor/mcp.json), Windsurf, Cline — the same mcpServers block as for Claude Desktop. VS Code (.vscode/mcp.json): {"servers": {"genealogy": {"command": "uvx", "args": [ …same… ]}}}.

Docker: docker build -t genealogy-mcp . then docker run -i --rm genealogy-mcp (stdio) or docker run --rm -p 8000:8000 genealogy-mcp --http --host 0.0.0.0 (HTTP at /mcp).

Your gene-archive site as the project: install the server together with gene-archive — pip install "genealogy-mcp[site]" or uvx --from "genealogy-mcp[site]" genealogy-mcp (the gene command is found on PATH or next to the server's Python; elsewhere set GENE_CMD), then name the folder in GENEALOGY_MCP_SITES (or in the Claude Desktop extension settings), or just give its path to the assistant. GENE_AUTHOR sets the name in the git history (default: git config user.name).

Your tree in a GEDCOM file as the project: give the assistant the path of the .ged file (or name it in GENEALOGY_MCP_SITES). Copies are kept as tree.ged.bak (before the last change) and tree.before-genealogy-mcp.ged (before the first); the log lives in tree.ged.research.json.

Clients that connect over HTTP (ChatGPT connectors, remote agents): run genealogy-mcp --http --host 0.0.0.0 --port 8000 behind HTTPS and add https://your-host/mcp. In HTTP mode audit_tree takes the GEDCOM text only, never a file path.

The package is on PyPI and in the official MCP Registry (io.github.igormel81/genealogy-mcp): uvx genealogy-mcp installs and runs it.

Research workflow

Start from project_view: policy, local sources, active questions and owner tasks. Work from family documents and the civil registry through existing records to primary sources, then secondary leads. project_policy configures limits and archive-request preferences per project. Leads have a next step; source checks distinguish no hits from an inaccessible site. Custom archive folders without site.json are readable without converting or changing them. See workflow, policy and source checks.

The 171 catalogue entries are recommendations, not 171 live connectors. Six services support search_online; Wikidata supplies place history. Other sources need a browser or documents supplied by the user. Gallica page search and event evidence are described in books and event citations.

Tools

ToolWhat it does
plan_researchA step-by-step plan for a country and period: which records exist, guides, sources in order
find_sourcesSources by country/region (europe, latin_america, russian_empire…), years and record kind
source_detailsOne source: coverage, access, how to search
where_are_recordsWhich archives now hold the records of a historical province (Russian Empire, Poland, Galicia, Bukovina, East Prussia, the Baltics, the Caucasus); with a year, whose land it was then (southern Bessarabia: Moldavia/Romania 1857–1878, Romania 1918–1944); with a village, which church kept its books
search_linksReady search URLs for a name and its variants
search_onlineLive search: Internet Archive full text, Chronicling America, WikiTree, Open Archives, Open List, Gallica OCR document search
place_historyWikidata: what a village belonged to over the years, coordinates, Wikipedia article; the church it was attached to, where known
name_variantsSpelling, old orthography, gendered forms, transliterations, Daitch–Mokotoff codes, given-name equivalents (incl. Yiddish and Hebrew), patronymics; Moldovan surnames in Romanian, Russian and Soviet Moldavian forms, a second surname («Мокану, он же Плеш») flagged
normalize_date"около 1899", "9 de octubre de 1899" → ABT 1899, 9 OCT 1899
convert_calendarJulian ↔ Gregorian, Hebrew, French Republican
feast_date«на Покров», «после Петрова поста», Easter, Wielkanoc… → the date in a given year
cyrillic_numerals҂аѡ҃п ↔ 1880
birth_year_from_ageThe birth-year range from an age in a record
estimate_birth_yearA birth year from relatives (eldest child −27, spouse and siblings ±8, parents +18…+45) and ages: BET … AND … / ABT … with a ready explanation; ages that cannot be one person flagged as likely namesakes
kinshipThe name of a relation in ru/en/ro, with the expected DNA share
dna_matchShared cM → the relationships it fits (Shared cM Project 4.0)
check_matchIs a found record our person? A verdict with every fact compared (Hispanic double surnames too)
parent_hypothesisA parent hypothesis from a patronymic: candidates ranked by name, village and age, arguments for and against (grandson's name, godparents, sureties), a warning for namesakes from another village, the record that would settle it — a lead, never a link
audit_treeImpossible facts, duplicates and gaps in a GEDCOM or family_tree.json
project_view, project_save, project_log, project_transferThe research project between conversations: people, families, sources, leads, the search log, GEDCOM import/export — or a gene-archive site folder, written through its checks and logs, or your own .ged file, changed in place
search_book_pagesOCR excerpts within a Gallica book, scan sequence numbers and stable page links
project_evidenceEvent-by-event citation coverage, broken references and missing locators, prioritized by generation
project_policyPolicy for this project: active-question limit, archive drafts, living-person research and owner tasks
project_coverageWhat has been read: parish → year → part → film and frames → complete / partial up to No. … / not found; what is still unread for these villages and years
film_reading_planReading an unindexed FamilySearch film page by page: which films in which order, thumbnails vs full frames, a request budget under the rate limit, what to log
draft_archive_requestA request letter to a registry office or archive
record_guideHow to read and find a kind of record
glossaryOld Russian record terms explained

Resources: genealogy://sources (the catalogue), genealogy://guide/research/{en|ru} (a full research guide), genealogy://guide/prompts/{en|ru} (ready requests for each step), genealogy://records/{topic}, genealogy://glossary. Prompts: start research, check a find, transcribe a record, write to an archive.

Privacy and honesty

  • The server sends nothing anywhere by itself. A live search (search_online, search_book_pages, place_history) sends the query — names, years, place — to the one site searched. Research projects are files on your computer (~/Documents/genealogy-mcp or GENEALOGY_MCP_HOME); on a shared HTTP server they are switched off.
  • The assistant you use is a separate service with its own privacy policy — think before pasting details about living people.
  • Letters are drafts: you check and send them.
  • The rules the assistant gets: cite the original, keep conflicting versions, mark guesses as "probably", never link a namesake without evidence.

Benchmark

evals/tasks.json holds 35 questions with checkable answers: dates by church feasts, Julian, Hebrew and Republican calendars, Cyrillic numerals, Daitch–Mokotoff, Moldovan surnames, DNA, kinship, old terms, archives of historical provinces and borders by year, evidence checks, ages that cannot be one person, record history. evals/check_tools.py runs in CI and checks that the tools answer all of them correctly. evals/run.py asks a Claude model the same questions without the server and with it and scores both (needs an API key; it costs money, so it is run by hand: Actions → Benchmark).

Contributing

See CONTRIBUTING.md for source fields and contribution guidelines. A source is missing or a link moved? Edit tools/make_sources.py, run python3 tools/make_sources.py and python3 -m unittest discover tests, open a pull request. Record guides live in src/genealogy_mcp/guides.py.

See also

  • gene_archive — an open-source engine for a family archive website: tree, stories, documents, map, GEDCOM, an online editor and relatives' comments.

MIT License.

來源:README.md,提交 7f4e96b

工具

31

find_sources

Find genealogy databases and archives for a country (or region), period and kind of records — 171 sources across Russia and the former USSR, the Caucasus and Central Asia, Eastern, Western and Northern Europe, Germany, the British Isles, the Americas, Australia and New Zealand, each with what it holds and how to search it well.

輸入參數langtextlimitcountryrecordsyear_toyear_frominclude_worldwide

source_details

Everything about one source from the catalogue (by id from find_sources): coverage, access, search tips.

輸入參數langsource_id必填

where_are_records

Which archives now hold the records (parish registers, revision lists, confession lists, civil records) of a province of the Russian Empire, the Kingdom of Poland, Galicia, Bukovina, East Prussia, the Baltics or the Caucasus — borders moved, so this is often not the archive of today's region. Also works from a modern region back to the historical provinces it was part of. With a year, says whose land it was then (southern Bessarabia — Cahul, Ismail, Bolgrad — was Moldavian/Romanian in 1857–1878, all Bessarabia Romanian in 1918–1940 and 1941–1944); with a village, which church kept its books (a village without a church was recorded in a neighbouring one).

輸入參數langyearplace必填village

search_online

Search an open database live and get the matching records back (title, date, place, link, snippet). Sends the query to that one site only. Run it for each name form from name_variants; for FamilySearch, Geneteka, Find a Grave and other sites without an open API use search_links.

輸入參數givenlimitplacequerystartsource必填surnameyear_toyear_from

search_book_pages

Find OCR excerpts inside one Gallica book using its ARK/document_id from search_online source='gallica'. Returns scan sequence numbers and stable page URLs, not verified facts or printed page numbers. Sends the query only to Gallica's documented ContentSearch API. start is a zero-based result offset. Access errors are incomplete checks, never no hits; no OCR hit does not prove absence from the scans.

輸入參數limitquery必填startdocument_id必填

place_history

Look a place up in Wikidata: what administrative units it was part of (with years where known), coordinates and the Wikipedia article — a first step to the uezd, province and parish of a village — and the church its books were kept in, where that attachment is known. Sends the name to Wikidata.

輸入參數langname必填

plan_research

A step-by-step research plan for a country and period: which records exist, which guides to read and which sources to search, in order (free and country-specific first).

輸入參數langcountrylead_idprojectyear_toquestionyear_from

film_reading_plan

A plan for reading unindexed FamilySearch films page by page for a parish, years and parts: which films to read in which order, thumbnails to find the book (title pages, end-of-year summaries naming the church) and full frames only for the record pages, a rough request budget split into sessions under the site's variable rate limit (pause at least an hour after HTTP 429, no parallel sessions), and what to log with project_coverage.

輸入參數langfilmsorderpartsparish必填projectyear_toyear_from必填

name_variants

All the forms a name can take in records (and its Daitch–Mokotoff Soundex codes): spelling variants, pre-1918 orthography, male/female surname forms (Колодин/Колодина, Kowalski/Kowalska, Kazlauskas/Kazlauskienė), transliterations (passport, BGN, German, French, Polish, Romanian, Spanish, Ukrainian, scholarly) and given-name equivalents across languages (Иван = Іоаннъ = Jan = Johann = Juan). Moldovan and Bessarabian surnames: Romanian and Russian renderings (Călugăreanu = Калугарян = Калугаряну = Кэлугэряну, Pleș = Плешъ = Плешу), a second surname flagged («Мокану, он же Плеш»), clerk and recognition distortions as hints, and look-alikes that are another family.

輸入參數kindname必填origin

normalize_date

A date as people write it ('около 1899', 'between 1900 and 1905', '9 de octubre de 1899', '9.10.1899') → ISO or GEDCOM ('ABT 1899', 'BET 1900 AND 1905', '9 OCT 1899', '1899-10-09').

輸入參數text必填

convert_calendar

Convert between calendars of old records: Julian (old style; Russia until February 1918: +10 days in the 1600s, +11 in the 1700s, +12 in the 1800s, +13 in 1900–1918), Gregorian, Hebrew (Jewish registers, tombstones) and the French Republican calendar (1792–1805).

輸入參數todate必填from_calendar

feast_date

The date of a church feast or fast in a given year (Julian and Gregorian), including movable feasts counted from Easter. Records and family stories often date events by feasts: «родился на Покров», «венчались после Петрова поста».

輸入參數year必填feast必填church

cyrillic_numerals

Church Slavonic numerals in old registers and church books: ҂аѡ҃п = 1880, ѳі = 19 (11–19 are written units first). Reads letters, writes a number, or finds every numeral marked with a titlo in a text.

輸入參數value必填

dna_match

Which relationships a DNA match fits, from the amount of shared DNA (Shared cM Project 4.0 ranges), closest first. Several always fit: use documents (and the kinship tool) to decide.

輸入參數langshared_cm必填

birth_year_from_age

The birth-year range implied by an age in a record (census, confession list, death record), exact and loose.

輸入參數age必填record_date必填

estimate_birth_year

A birth year estimated from relatives (eldest child −27, spouse and siblings ±8, parents +18…+45, first marriage at about 22) and ages in records: a GEDCOM date (BET … AND … or ABT …), the most likely year and a ready explanation to save with it. Also checks the ages against each other: 7 in 1850 and 22 in 1882 cannot be one person — likely two namesakes.

輸入參數sexageslangfather_birthmother_birthspouse_birthfirst_marriagesiblings_birthseldest_child_birth

kinship

What B is to A, named in Russian, English and Romanian (троюродный брат / second cousin / văr de gradul 2, двоюродный дед / great-uncle), with the expected share of DNA.

輸入參數upsexdownhalfpath

check_match

Is the person in a found record ours? Compares fact by fact (with name variants and Julian/rounded-age tolerance) and gives a verdict: confirmed (2+ independent facts beyond the name), probable, insufficient, conflict or different_person.

輸入參數langfound必填known必填year_tolerance

parent_hypothesis

A working hypothesis about a parent from a patronymic: the father's given name it implies (Петрович → Пётр, Ильич → Илья), each candidate ranked by name, surname, village and age with the arguments for and against (a grandson named after him, godparents and sureties of his surname, his household listing a child of this name), a warning for a namesake from another village, and the record that would settle it. Always a hypothesis — save it as an open lead or 'probably', never as a link in the tree.

輸入參數langchild必填candidates

audit_tree

Audit a family tree from any program (GEDCOM) for impossible facts (born after the mother's death, a parent under 14, death before birth), possible duplicates and gaps (no sources, no dates, people cut off from the tree) — a to-do list for the next search.

輸入參數file必填langcodeslimit

draft_archive_request

A draft letter to a registry office or an archive (Russian ZAGS, state, military and FSB archives; any archive in English, Spanish or Portuguese), with what to attach. Gaps are left in [brackets]. The user sends it — not the tool.

輸入參數borndiedkind必填whatplaceyearspersonspousearchivedetailsparentsproject另有 5 個

record_guide

How to read and find a kind of record: parish registers, confession lists, revision lists, household books, WWI and WWII records, repression files, passenger lists, censuses, European civil registration, Latin America, evaluating evidence — in English, Russian, Ukrainian, and partly Spanish, Portuguese, Polish, German. Without a topic — the list.

輸入參數langtopic

glossary

Old Russian terms from records — estates, kinship by marriage (шурин, деверь, золовка), archive citation (фонд, опись, дело, лист), administrative units, pre-1918 letters — explained.

輸入參數langterm

project_view

Read the research project kept between conversations — or a family's gene-archive site folder, or the user's own tree in a GEDCOM file: summary (people, open leads, recent searches, problems), one record with its family and sources, a text search, the full search log, or the tree checks. Start every session on an existing project with what='summary'.

輸入參數idlangwhatqueryproject

project_save

Add or change a person, family, source or research lead in the project. Every change of an existing record is logged with the old and new value, the reason and the documents. Save the source first, then cite its S-id. In a gene-archive site folder the change goes through `gene apply`: refused if it adds an error, logged, committed to git under the owner's name, and the site is rebuilt. In a .ged file only the changed lines are rewritten (everything else in the file stays as it was), a copy is kept, and gedcom_changes shows the lines. Ask the user before writing into their archive or tree.

輸入參數kind必填deletereasonrecord必填dry_runproject必填source_ids

project_evidence

Review source references for individual birth/death/burial/residence and marriage events, read-only. Uses the project root (or root_person_id), follows ancestors up to 10 generations and prioritizes closer ones. Distinguishes missing/broken references, missing locators and reference presence. A person's general sources do not prove every event; even a located citation still needs inspection. Does not verify parentage or change data.

輸入參數limitproject必填generationsroot_person_id

project_policy

Configure this project's policy only (dry_run by default; save within the owner's authorization). Keys: max_active_questions (default 3), allow_archive_requests (default true; drafts only), allow_living_research (default false), owner_tasks [{id, next, due (ISO date), status}]. Read policy, resources and waiting questions with project_view what='workflow'. A custom archive folder without site.json stays read-only; its policy is stored under GENEALOGY_MCP_HOME/policies, never in that folder.

輸入參數changes必填dry_runproject必填

project_log

Write a line in the project's research log, so nobody searches the same place twice. Log negative results. Use source_id/lead_id to track the source checklist; unavailable is not no hits.

輸入參數scopeaction必填result必填lead_idoutcomeproject必填source_id

project_coverage

What has already been read in the registers: parish → year → part → film and frames → status (complete, partial up to No. …, not found). Mark each book when you finish it, and ask what is still unread for these villages and years before opening a film — so nobody reads the same frames twice. Kept with the project (for a .ged file in the file next to it; for a gene-archive site in a file of this server, read together with the site's own coverage).

輸入參數langpartsactionplacesdry_runentriesproject必填year_toyear_from

project_transfer

Export the project as GEDCOM 5.5.1 (for MyHeritage, Ancestry, Gramps, Geni…) next to the project file, or start a new project from a GEDCOM exported by another program.

輸入參數fileproject必填direction必填

版本歷史

6
  1. v0.7.0最新Oct 21, 2026
  2. v0.6.0Oct 18, 2026
  3. v0.5.1Oct 15, 2026
  4. v0.5.0Oct 13, 2026
  5. v0.4.1Oct 12, 2026
  6. v0.3.1Oct 12, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分