mcp server
gedcom-mcp
MIRROR - Development at https://gitlab.com/genealogy-mcp/gedcom-mcp
Set up
Runs on your computer. Pick your agent and operating system.
Before you start
- uv (`curl -LsSf https://astral.sh/uv/install.sh | sh`)
{
"mcpServers": {
"gedcom-mcp": {
"command": "uvx",
"args": [
"gedcom-mcp"
]
}
}
}same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12
Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs
README
synced Oct 27, 2026gedcom-mcp
MCP server for querying local GEDCOM genealogy files through AI assistants. Load any .ged file and search, browse, and traverse your family tree without leaving your AI workflow.
Part of the Genealogy-MCP organization.
Note: GitHub is a read-only mirror. Development happens on GitLab.
Available Tools
| Tool | Description |
|---|---|
load_file | Load and parse a GEDCOM (.ged) file into memory |
search_persons | Search individuals by name, dates, place, sex |
get_person | Retrieve a specific individual by cross-reference ID |
get_family | Retrieve a family record (accepts family or individual xref) |
get_ancestors | Get the ancestor tree for an individual |
get_descendants | Get the descendant tree for an individual |
get_stats | Get statistics about the loaded GEDCOM file |
Configuration
All settings are optional with sensible defaults.
| Environment Variable | Default | Description |
|---|---|---|
GEDCOM_MAX_FILE_SIZE_MB | 100 | Maximum allowed GEDCOM file size in MB |
GEDCOM_DEFAULT_ANCESTOR_DEPTH | 5 | Default ancestor traversal depth |
GEDCOM_DEFAULT_DESCENDANT_DEPTH | 5 | Default descendant traversal depth |
GEDCOM_MAX_TREE_DEPTH | 50 | Hard ceiling on traversal depth |
GEDCOM_MAX_SEARCH_RESULTS | 100 | Maximum search results returned |
GEDCOM_ALLOWED_BASE_DIRS | (empty) | Comma-separated allowed directories for file loading |
Setup: Claude Desktop
Add to your claude_desktop_config.json:
Using uv (local)
{
"mcpServers": {
"gedcom": {
"command": "uv",
"args": ["--directory", "/path/to/gedcom-mcp", "run", "gedcom-mcp"],
"env": {
"GEDCOM_ALLOWED_BASE_DIRS": "/path/to/your/gedcom/files"
}
}
}
}
Using Docker
{
"mcpServers": {
"gedcom": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "/path/to/your/gedcom/files:/data:ro",
"-e", "GEDCOM_ALLOWED_BASE_DIRS=/data",
"ghcr.io/genealogy-mcp/gedcom-mcp"
]
}
}
}
Setup: Claude Code
Using uv (local)
claude mcp add gedcom -- uv --directory /path/to/gedcom-mcp run gedcom-mcp
Using Docker
claude mcp add gedcom -- docker run -i --rm \
-v /path/to/your/gedcom/files:/data:ro \
-e GEDCOM_ALLOWED_BASE_DIRS=/data \
ghcr.io/genealogy-mcp/gedcom-mcp
Development
# Install dependencies
make install
# Run tests with coverage
make test
# Run all checks (lint + type-check + test + audit)
make ci
# Format code
make format
# Run via stdio transport
make run-stdio
# Run via streamable-http on port 8000
make run
License
AGPL-3.0-only