genealogy-mcp
Pesquisa de história da família: 79 arquivos e bancos de dados, variantes de nomes, calendários históricos, parentesco, verificações de evidências, auditoria GEDCOM e rascunhos de solicitações de arquivo. Servidor MCP local em Python, licença MIT, sem necessidade de chaves de API.
Documentação
genealogy-mcp — encontre sua história de família com qualquer assistente de IA
Um servidor MCP que transforma Claude, ChatGPT, Cursor ou qualquer assistente compatível com MCP em um genealogista cuidadoso. Ele sabe onde estão os registros de seus ancestrais (114 arquivos e bancos de dados na Rússia e na antiga URSS, Europa, Ilhas Britânicas, EUA e América Latina), como pesquisá-los (variantes de nomes, transliterações, ortografia antiga, calendário juliano) e quando um achado realmente é sua pessoa — para que o assistente forneça links funcionais e um plano em vez de palpites confiantes.
Construído a partir de anos de pesquisa real para um arquivo familiar aberto (igoruan.ru/gene, motor: gene_archive): registros paroquiais, listas de revisão, bancos de dados da Primeira e Segunda Guerra Mundial, arquivos de repressão, registros de emigração — e todas as armadilhas em que caímos ao longo do caminho.
O que você pode perguntar
Meu bisavô Ivan Kolodin nasceu por volta de 1885 perto de Bogoroditsk, província de Tula. Onde devo procurar?
O assistente faz um plano para a Rússia 1880–1945, lê os guias de registros, constrói as formas do nome (Колодин / Колодина / Колодинъ / Kolodin / Kołodin…), fornece links de pesquisa para FamilySearch, texto completo do Internet Archive e os bancos de dados de guerra russos, informa qual arquivo guarda os registros paroquiais e redige o pedido.
Este registro de batismo é o mesmo Ivan? Diz «Іоаннъ, pai Петръ, 1887, Сынково».
check_match compara fato por fato com variantes de nome e tolerância de idade: dois fatos independentes além do nome →
confirmado; um → provável; uma contradição → encontre um terceiro documento.
O que a filha da prima da minha avó é para mim? E como se diz isso em português?
kinship → «prima em segundo grau… / first cousin once removed» — em russo, inglês e romeno, com a parcela esperada de DNA.
Verifique minha árvore. (um GEDCOM do Ancestry, MyHeritage, Gramps, Geni…)
audit_tree encontra o impossível (nascido após a morte da mãe, uma mãe de 10 anos, morte antes do nascimento), possíveis
duplicatas e lacunas — uma lista de tarefas para a próxima pesquisa.
O registro diz que ele nasceu «на Покров» 1885, o ano está escrito ҂аѡ҃пе.
cyrillic_numerals lê o ano (1885), feast_date dá 1º de outubro (juliano) = 13 de outubro de 1885.
Compartilhamos 230 cM com um match no MyHeritage. Quem ela poderia ser?
dna_match: prima de segundo grau, prima-avó em primeiro grau, meia-prima de primeiro grau… — e por que apenas documentos podem decidir.
Onde estão agora os registros paroquiais da província de Volínia?
where_are_records: os arquivos estaduais de Zhytomyr (o consistório), Rivne e Volyn — as fronteiras mudaram, então nem sempre
é o arquivo da região atual.
Lembre-se do que encontramos e continue na próxima semana.
Um projeto de pesquisa no seu computador: pessoas, fontes com citações completas, pistas em aberto e um registro de cada busca — incluindo "nada encontrado" — para que ninguém pesquise o mesmo lugar duas vezes. GEDCOM para dentro e para fora.
Escreva o que encontramos no nosso site da família.
Se o seu arquivo familiar é um site gene-archive, dê às ferramentas do projeto o caminho da sua pasta: o assistente lê o próprio arquivo — quem está faltando, quais datas não têm documento — e cada mudança que ele faz passa pelas verificações do próprio site, entra nas suas correções e registros de pesquisa, é commitada no git sob o seu nome e reconstrói o site. Ele mostra a mudança primeiro e escreve somente após o seu "sim".
Por que usar
| Sem ele | Com genealogy-mcp |
|---|---|
| O assistente cita dois ou três sites famosos | 114 fontes escolhidas por país, anos e tipo de registro, cada uma com "como pesquisar bem" |
| Pesquisa uma única grafia | Variantes de grafia, ortografia pré-1918, formas masculinas/femininas, 9 sistemas de transliteração, equivalentes de nomes próprios (Иван = Іоаннъ = Jan = Johann = Juan) |
| URLs inventadas ou quebradas | Links de pesquisa prontos construídos a partir de modelos de URL testados; um trabalho semanal verifica cada site |
| "Este é provavelmente seu ancestral" | Uma regra explícita de evidência: um homônimo não é um parente |
| Datas aceitas pelo valor de face | Juliano ↔ Gregoriano, anos de nascimento a partir de idades com variação realista, datas normalizadas para GEDCOM |
| Conselhos genéricos | Guias de registros: registros paroquiais, listas de confissão, listas de revisão, livros de domicílio, Primeira/Segunda Guerra Mundial, arquivos de repressão, listas de passageiros, censos, registro civil europeu, registros latino-americanos |
| Você escreve para arquivos do zero | Rascunhos de pedidos para ZAGS russo, arquivos estaduais, militares e FSB, e para qualquer arquivo em inglês, espanhol ou português |
| Ele esquece tudo entre conversas | Um projeto de pesquisa que lembra pessoas, fontes, pistas e cada busca |
| Ele não consegue ler números e datas antigos | Numerais eslavônicos eclesiásticos, festas religiosas, calendários juliano, hebraico e republicano francês |
| "Pesquise seu nome no FamilySearch" | Busca ao vivo no texto completo do Internet Archive, WikiTree, Open Archives e histórico de lugares no Wikidata |
| Correspondências de DNA são um mistério | cM compartilhados → os relacionamentos que ele comporta |
Tudo roda no seu computador. O servidor fica online apenas quando o assistente executa uma busca ao vivo
(search_online, place_history), e então envia essa consulta para aquele único site.
Cobertura
- Mundial: FamilySearch (registros e o catálogo de imagens não indexadas), texto completo do Internet Archive, MyHeritage, Geni, WikiTree, Find a Grave, BillionGraves, Arquivos Arolsen, Yad Vashem, JewishGen, Matricula, Geneanet, Wikipedia.
- Rússia e URSS: Yandex Archive, guias de arquivos, fórum VGD, Pamyat Naroda, OBD Memorial, gwar.mil.ru, Open List, Immortal Barrack, Returned Names, mártires do PSTGU, Bibliotecas Eletrônicas Presidencial e Nacional, bibliotecas históricas, mapas antigos, história da igreja, RIA-1914, arquivos regionais, ZAGS, TsAMO, RGVIA, RGIA, GARF.
- Ucrânia, Bielorrússia, Moldávia, Romênia, Polônia, Bálticos: portais e catálogos de arquivos nacionais, TsDIAK, Geneteka, Szukajwarchiwach, epaveldas, Raduraksti, arquivos estonianos.
- Europa: prisioneiros da Primeira Guerra Mundial do CICV, CWGC, Volksbund, ScotlandsPeople, FreeBMD, registros civis e censos irlandeses, Archion, GenWiki, FranceArchives, Mémoire des hommes, Antenati, PARES, Digitarq, Open Archives (NL), Arquivos do Estado da Bélgica, Riksarkivet, Digitalarkivet, Danish Family Search, HisKi, Arquivo Digital Finlandês, Hungaricana, Acta Publica (Tchéquia), arquivos estatais búlgaros, FreeCEN, FreeREG, The National Archives, GRO, Welsh Newspapers.
- Alemanha e países de língua alemã: listas de baixas da Primeira Guerra Mundial, GEDBAS, Online-OFB, Biblioteca Digital Alemã, Bundesarchiv, Léxico Biográfico do Báltico, alemães do Mar Negro (Odessa3), Projeto Poznań, Metryki.
- Genealogia judaica: JRI-Poland, Gesher Galicia, LitvakSIG, JewishGen, Yad Vashem, ferramentas One-Step de Steve Morse.
- Cáucaso e Ásia Central: Arquivos Nacionais da Geórgia, arquivos estatais centrais do Cazaquistão, Uzbequistão, Quirguistão, Tajiquistão e Turcomenistão.
- Américas: FamilySearch América Latina, AGN México, Arquivo Nacional e Museu da Imigração (Brasil), Hemeroteca Digital, CEMLA e AGN (Argentina), Archivo Nacional (Chile), NARA, Ellis Island, Chronicling America, USGenWeb, Biblioteca e Arquivos do Canadá, BAnQ (Quebec), Pier 21.
- Austrália e Nova Zelândia: Trove, Arquivos Nacionais da Austrália, Papers Past, BDM da Nova Zelândia.
Guias de registros em inglês, russo e ucraniano; os principais também em espanhol, português, polonês e alemão.
Instalação
Claude Desktop, um clique: baixe genealogy-mcp-<version>.mcpb do
último lançamento e abra-o — o Claude Desktop o instala
e pergunta onde manter seus projetos de pesquisa.
Para as outras formas, você precisa do uv (ele baixa o Python e o pacote por conta própria).
Claude Desktop, manualmente — Configurações → Desenvolvedor → Editar Config, adicione:
{
"mcpServers": {
"genealogy": {
"command": "uvx",
"args": ["genealogy-mcp"]
}
}
}
Claude Code:
claude mcp add genealogy -- uvx genealogy-mcp
Cursor (~/.cursor/mcp.json), Windsurf, Cline — o mesmo bloco mcpServers do Claude Desktop.
VS Code (.vscode/mcp.json): {"servers": {"genealogy": {"command": "uvx", "args": [ …same… ]}}}.
Docker: docker build -t genealogy-mcp . e depois docker run -i --rm genealogy-mcp (stdio) ou
docker run --rm -p 8000:8000 genealogy-mcp --http --host 0.0.0.0 (HTTP em /mcp).
Seu site gene-archive como projeto: instale o servidor junto com o gene-archive —
pip install "genealogy-mcp[site]" ou uvx --from "genealogy-mcp[site]" genealogy-mcp (o comando gene é encontrado
no PATH ou ao lado do Python do servidor; em outros lugares, defina GENE_CMD), então nomeie a pasta em GENEALOGY_MCP_SITES (ou nas configurações da extensão do Claude Desktop), ou apenas dê seu caminho
ao assistente. GENE_AUTHOR define o nome no histórico do git (padrão: git config user.name).
Clientes que se conectam via HTTP (conectores ChatGPT, agentes remotos): execute
genealogy-mcp --http --host 0.0.0.0 --port 8000 atrás de HTTPS e adicione https://your-host/mcp.
No modo HTTP, audit_tree aceita apenas o texto GEDCOM, nunca um caminho de arquivo.
O pacote está no PyPI e no Registro MCP oficial (io.github.igormel81/genealogy-mcp): uvx genealogy-mcp instala e executa.
Ferramentas
| Ferramenta | O que faz |
|---|---|
plan_research | Um plano passo a passo para um país e período: quais registros existem, guias, fontes em ordem |
find_sources | Fontes por país/região (europe, latin_america, russian_empire…), anos e tipo de registro |
source_details | Uma fonte: cobertura, acesso, como pesquisar |
where_are_records | Quais arquivos guardam agora os registros de uma província histórica (Império Russo, Polônia, Galícia, Bucovina, Prússia Oriental, Bálticos, Cáucaso) |
search_links | URLs de pesquisa prontas para um nome e suas variantes |
search_online | Busca ao vivo: texto completo do Internet Archive, Chronicling America, WikiTree, Open Archives, Open List |
place_history | Wikidata: a que um vilarejo pertenceu ao longo dos anos, coordenadas, artigo na Wikipédia |
name_variants | Grafia, ortografia antiga, formas com gênero, transliterações, códigos Daitch–Mokotoff, equivalentes de nomes próprios (incl. iídiche e hebraico), patronímicos |
normalize_date | "около 1899", "9 de octubre de 1899" → ABT 1899, 9 OCT 1899 |
convert_calendar | Juliano ↔ Gregoriano, hebraico, republicano francês |
feast_date | «на Покров», «после Петрова поста», Páscoa, Wielkanoc… → a data em um determinado ano |
cyrillic_numerals | ҂аѡ҃п ↔ 1880 |
birth_year_from_age | A faixa de ano de nascimento a partir de uma idade em um registro |
kinship | O nome de um parentesco em ru/en/ro, com a parcela esperada de DNA |
dna_match | cM compartilhados → os relacionamentos que ele comporta (Shared cM Project 4.0) |
check_match | Um registro encontrado é a nossa pessoa? Um veredito com cada fato comparado (sobrenomes duplos hispânicos também) |
audit_tree | Fatos impossíveis, duplicatas e lacunas em um GEDCOM ou family_tree.json |
project_view, project_save, project_log, project_transfer | O projeto de pesquisa entre conversas: pessoas, famílias, fontes, pistas, o registro de buscas, importação/exportação GEDCOM — ou uma pasta de site gene-archive, escrita por meio de suas verificações e registros |
draft_archive_request | Uma carta de pedido a um cartório ou arquivo |
record_guide | Como ler e encontrar um tipo de registro |
glossary | Termos de registros russos antigos explicados |
Recursos: genealogy://sources (o catálogo), genealogy://guide/research/{en|ru} (um guia completo de pesquisa),
genealogy://guide/prompts/{en|ru} (pedidos prontos para cada etapa), genealogy://records/{topic}, genealogy://glossary.
Prompts: iniciar pesquisa, verificar um achado, transcrever um registro, escrever para um arquivo.
Privacidade e honestidade
- O servidor não envia nada para lugar nenhum por conta própria. Uma busca ao vivo (
search_online,place_history) envia a consulta — nomes, anos, local — para o único site pesquisado. Projetos de pesquisa são arquivos no seu computador (~/Documents/genealogy-mcpouGENEALOGY_MCP_HOME); em um servidor HTTP compartilhado, eles são desativados. - O assistente que você usa é um serviço separado com sua própria política de privacidade — pense antes de colar detalhes sobre pessoas vivas.
- Cartas são rascunhos: você as revisa e envia.
- As regras que o assistente recebe: cite o original, mantenha versões conflitantes, marque suposições como "provavelmente", nunca vincule um homônimo sem evidência.
Benchmark
evals/tasks.json contém 32 perguntas com respostas verificáveis: datas por festas religiosas, calendários juliano, hebraico e
republicano, numerais cirílicos, Daitch–Mokotoff, DNA, parentesco, termos antigos, arquivos de províncias históricas, verificações
de evidências, histórico de registros. evals/check_tools.py roda em CI e verifica se as ferramentas respondem todas corretamente.
evals/run.py faz as mesmas perguntas a um modelo Claude sem o servidor e com ele, e pontua ambos
(requer uma chave de API; custa dinheiro, então é executado manualmente: Actions → Benchmark).
Contribuindo
Veja CONTRIBUTING.md para campos de fonte e diretrizes de contribuição.
Uma fonte está faltando ou um link mudou? Edite tools/make_sources.py, execute python3 tools/make_sources.py e
python3 -m unittest discover tests, abra um pull request. Guias de registros vivem em src/genealogy_mcp/guides.py.
Veja também
- gene_archive — um motor de código aberto para um site de arquivo familiar: árvore, histórias, documentos, mapa, GEDCOM, um editor online e comentários de parentes.
Licença MIT.