Skip to content
Conduit

mcp server

gedcom-mcp

MIRROR - Development at https://gitlab.com/genealogy-mcp/gedcom-mcp

Genealogy-MCP/gedcom-mcpcommunitylistedunreviewed

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`)
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "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, 2026

gedcom-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

ToolDescription
load_fileLoad and parse a GEDCOM (.ged) file into memory
search_personsSearch individuals by name, dates, place, sex
get_personRetrieve a specific individual by cross-reference ID
get_familyRetrieve a family record (accepts family or individual xref)
get_ancestorsGet the ancestor tree for an individual
get_descendantsGet the descendant tree for an individual
get_statsGet statistics about the loaded GEDCOM file

Configuration

All settings are optional with sensible defaults.

Environment VariableDefaultDescription
GEDCOM_MAX_FILE_SIZE_MB100Maximum allowed GEDCOM file size in MB
GEDCOM_DEFAULT_ANCESTOR_DEPTH5Default ancestor traversal depth
GEDCOM_DEFAULT_DESCENDANT_DEPTH5Default descendant traversal depth
GEDCOM_MAX_TREE_DEPTH50Hard ceiling on traversal depth
GEDCOM_MAX_SEARCH_RESULTS100Maximum 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

↑↓ navigate openesc close