npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@eacpartners/genealogy-mcp

v1.4.1

Published

Local genealogy MCP server. Your GEDCOM and BegatAll files stay on this computer.

Readme

@eacpartners/genealogy-mcp

Local Model Context Protocol server for GEDCOM and BegatAll genealogy files.

The server runs on your computer over standard input and output. Your files are not uploaded. There is no analytics and no network call from the server. Living people are included in answers unless you hide them. export_session still leaves them out unless you opt out.

Requirements

  • Node.js 18 or newer (for this launcher)

The package includes a native server for Windows x64, Linux x64, macOS Intel, and macOS Apple silicon. Genealogy files stay on this computer. The .NET runtime is not required.

The launcher runs aot/<rid>/Genealogy.Mcp (.exe on Windows) when that file is present. The native SQLite library is beside it.

The .NET 8 runtime is only a fallback when that file is missing. The launcher then starts dotnet from GENEALOGY_MCP_DOTNET (an absolute path to the executable), from DOTNET_ROOT, or from the standard install folder for this operating system. It does not use the first dotnet on PATH. If the native file and the runtime are both missing, the launcher says the package should include aot/<rid>/ and prints where it looked for dotnet.

Set GENEALOGY_MCP_AOT_EXE to an absolute path to use a different native executable. If that variable is set and the file is missing, the launcher stops. It does not search PATH.

Run

npx -y @eacpartners/genealogy-mcp

Included builds: Windows x64, Linux x64, macOS Intel, and macOS Apple silicon.

Living people

Read tools include living people unless you hide them. Set GENEALOGY_MCP_HIDE_LIVING=1 (true, yes, and on also hide them) or the shorter GENEALOGY_HIDE_LIVING. You can also pass hideLiving true to load_file, or add hideLiving to the config file:

  • Windows: %LOCALAPPDATA%\genealogy-mcp\config.json
  • macOS and Linux: ~/.config/genealogy-mcp/config.json
{ "hideLiving": true }

The load_file parameter wins, then a recognized environment value, then the config file. When nothing is set, living people are shown. GENEALOGY_MCP_SHOW_LIVING and config showLiving still work. When show and hide are both set at the same level, hide wins. A recognized environment value still wins over the config file.

export_session leaves living people out of the new file even when read tools show them. Pass includeLiving true, or set GENEALOGY_MCP_SHOW_LIVING=1, or set showLiving to true, to keep them. A hide control still leaves them out.

list_media and get_media read media from the loaded package. Links stay inside that package. Thumbnails are limited to 512 KiB, full images to 5 MiB, and package files to 10 MiB.

See the privacy page in the source repository for the full rules.

Parsed-tree cache

An unchanged file is reused from a parsed copy on this computer:

  • Windows: %LOCALAPPDATA%\genealogy-mcp\cache
  • macOS and Linux: ~/.cache/genealogy-mcp

The copy matches the file you loaded, including people who are hidden in answers. It stays on this computer. A signature on that copy is checked with a key stored beside the config file. Living people are filtered when a tool runs, so this setting still applies. The copy is ignored when the file path, size, last-write time, content hash, signature, or cache format does not match. On macOS and Linux the cache, session copies, backups, confirmation file, and key file are created owner-only.

Edits

Edits are stored in a private folder on this computer (%LOCALAPPDATA%\genealogy-mcp\sessions on Windows, ~/.cache/genealogy-mcp/sessions on macOS and Linux). They do not change the original file.

export_session writes a new file and leaves living people out unless you pass includeLiving true or turn on the older show control. A hide control still leaves them out. Notes that no remaining record cites are left out. A note that remains has a living person's known name forms replaced with [name removed]. That match does not catch nicknames or paraphrases. Files of 1 MiB or smaller can be returned in the tool result. Larger files are a resource link, and the local path is always included.

Replacing the original file is off unless allowCommitToOriginal is true in the config file, or GENEALOGY_MCP_ALLOW_COMMIT is 1. The environment variable wins. A commit then asks three times. If the app can ask you, it asks in the app and the tool result has no confirmation code. Otherwise you read a code from the server console or from pending-approval.txt in the data folder (%LOCALAPPDATA%\genealogy-mcp on Windows, ~/.local/share/genealogy-mcp on macOS and Linux) and paste it as confirmationCode. The code is not in the tool result. A successful commit writes a managed backup in the backups folder under that same data folder, then replaces the original. Restore uses a backup id only, asks once, and writes only the recorded original path. Older backups saved beside the original file are not accepted. The full rules are in the source repository privacy page.

License

Copyright (c) 2026 Edward Alexander, Inc. (EAC Partners). All rights reserved.

Proprietary free-to-use software. See LICENSE. Product page: https://eacpartners.com/genealogy-mcp