Skip to main content
Glama
Genealogy-MCP

gedcom-mcp

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

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

Related MCP server: GEDCOM MCP Server

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

Available Tools

2 tools
executeA

Run a named operation. Use 'search' first to discover the exact operation name and its params schema, then call this with {operation: '...', params: {...}}.

ParametersJSON Schema
NameRequiredDescriptionDefault
argumentsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate the tool is not read-only and has open-world parameters. Description adds context on the dynamic nature of params and the need for prior discovery, but doesn't elaborate on potential side effects beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words; front-loaded with the core action and followed by essential workflow guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's meta nature and presence of an output schema, the description fully covers the expected workflow and context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although the schema already describes parameters, the description reinforces the workflow of using 'search' to obtain the schema for 'params', adding value beyond the schema's static descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Run a named operation' and distinguishes from sibling 'search' by specifying the prerequisite discovery step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to use 'search' first to discover operation name and params, providing clear when-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.8/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: 'search' is for discovering operations and their parameter schemas, while 'execute' runs a specific operation by name. There is no ambiguity or overlap between them.

Naming Consistency5/5

Both tools use a single imperative verb ('search', 'execute'), which is a consistent and simple naming pattern. Although not verb_noun, the pattern is uniform.

Tool Count5/5

With only 2 tools, the server efficiently provides a meta-interface to dynamically discover and execute many underlying operations. This lean design is well-suited for its purpose.

Completeness5/5

The tool set is complete for its intended role: 'search' covers discovery of all operations and parameters, and 'execute' covers execution. There are no missing operations given the design.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to create, edit, and query genealogical data from GEDCOM files. Supports complex genealogy searches, automatic data enrichment from web sources, relationship analysis, and biography generation for individuals and families.
    14
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with Gramps genealogy databases for intelligent family tree research and management. Provides comprehensive tools for searching family data, creating records, analyzing relationships, and tracking genealogy research through natural language.
    41
    AGPL 3.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Genealogy-MCP/gedcom-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server