# Gramps Web MCP

Connects AI assistants to your Gramps Web family tree via the Model Context Protocol. Helps you trace lineages and search genealogy records directly from chat.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 15
- Author: Scormave
- License: AGPL-3.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/Scormave/gramps-web-mcp
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/gramps-web-mcp

## What it does

Gramps Web MCP acts as an intermediary bridge between your LLM assistant and an active Gramps Web installation. It does not replace the genealogy user interface. The server equips models with up to 32 operations, covering record management for individuals, families, and citations.

Built-in navigation capabilities include kinship mapping for family lines and filtering via Gramps QL. Sensitive actions like removing records or rolling back transactions trigger direct confirmation dialogs if the client environment supports MCP elicitation. Image previews automatically strip EXIF coordinates to safeguard private location details.

Local deployment requires Docker and a reachable Gramps Web API target. Running the container without pre-configured login credentials or an active genealogy instance results in connection failure.

## Requirements
- Needs: Docker
- Environment variables: `MCP_TRANSPORT`, `GRAMPS_API_URL`, `GRAMPS_USERNAME`, `GRAMPS_PASSWORD`, `GRAMPS_REFRESH_TOKEN`, `GRAMPS_TREE_ID`, `GRAMPS_READ_ONLY`, `GRAMPS_MUTATION_SERIALIZE`, `GRAMPS_MUTATION_MIN_INTERVAL_MS`, `GRAMPS_LOG_LEVEL` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env MCP_TRANSPORT=<MCP_TRANSPORT> --env GRAMPS_API_URL=<GRAMPS_API_URL> --env GRAMPS_USERNAME=<GRAMPS_USERNAME> --env GRAMPS_PASSWORD=<GRAMPS_PASSWORD> --env GRAMPS_REFRESH_TOKEN=<GRAMPS_REFRESH_TOKEN> --transport stdio gramps-web-mcp -- docker run -i --rm -e MCP_TRANSPORT -e GRAMPS_API_URL -e GRAMPS_USERNAME -e GRAMPS_PASSWORD -e GRAMPS_REFRESH_TOKEN ghcr.io/scormave/gramps-web-mcp:2.6.0
```
Replace <…> with your own values. 10 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add gramps-web-mcp --env MCP_TRANSPORT=<MCP_TRANSPORT> --env GRAMPS_API_URL=<GRAMPS_API_URL> --env GRAMPS_USERNAME=<GRAMPS_USERNAME> --env GRAMPS_PASSWORD=<GRAMPS_PASSWORD> --env GRAMPS_REFRESH_TOKEN=<GRAMPS_REFRESH_TOKEN> -- docker run -i --rm -e MCP_TRANSPORT -e GRAMPS_API_URL -e GRAMPS_USERNAME -e GRAMPS_PASSWORD -e GRAMPS_REFRESH_TOKEN ghcr.io/scormave/gramps-web-mcp:2.6.0
```
Replace <…> with your own values. 10 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "gramps-web-mcp": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "MCP_TRANSPORT",
                "-e",
                "GRAMPS_API_URL",
                "-e",
                "GRAMPS_USERNAME",
                "-e",
                "GRAMPS_PASSWORD",
                "-e",
                "GRAMPS_REFRESH_TOKEN",
                "ghcr.io/scormave/gramps-web-mcp:2.6.0"
            ],
            "env": {
                "MCP_TRANSPORT": "<MCP_TRANSPORT>",
                "GRAMPS_API_URL": "<GRAMPS_API_URL>",
                "GRAMPS_USERNAME": "<GRAMPS_USERNAME>",
                "GRAMPS_PASSWORD": "<GRAMPS_PASSWORD>",
                "GRAMPS_REFRESH_TOKEN": "<GRAMPS_REFRESH_TOKEN>"
            }
        }
    }
}
```
Replace <…> with your own values. 10 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "gramps-web-mcp": {
            "type": "stdio",
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "MCP_TRANSPORT",
                "-e",
                "GRAMPS_API_URL",
                "-e",
                "GRAMPS_USERNAME",
                "-e",
                "GRAMPS_PASSWORD",
                "-e",
                "GRAMPS_REFRESH_TOKEN",
                "ghcr.io/scormave/gramps-web-mcp:2.6.0"
            ],
            "env": {
                "MCP_TRANSPORT": "<MCP_TRANSPORT>",
                "GRAMPS_API_URL": "<GRAMPS_API_URL>",
                "GRAMPS_USERNAME": "<GRAMPS_USERNAME>",
                "GRAMPS_PASSWORD": "<GRAMPS_PASSWORD>",
                "GRAMPS_REFRESH_TOKEN": "<GRAMPS_REFRESH_TOKEN>"
            }
        }
    }
}
```
Replace <…> with your own values. 10 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e MCP_TRANSPORT=<MCP_TRANSPORT> -e GRAMPS_API_URL=<GRAMPS_API_URL> -e GRAMPS_USERNAME=<GRAMPS_USERNAME> -e GRAMPS_PASSWORD=<GRAMPS_PASSWORD> -e GRAMPS_REFRESH_TOKEN=<GRAMPS_REFRESH_TOKEN> gramps-web-mcp docker run -i --rm -e MCP_TRANSPORT -e GRAMPS_API_URL -e GRAMPS_USERNAME -e GRAMPS_PASSWORD -e GRAMPS_REFRESH_TOKEN ghcr.io/scormave/gramps-web-mcp:2.6.0
```
Replace <…> with your own values. 10 more environment variables are in the server README

## When to use it
- trace direct ancestor or descendant lines for a family member
- append citations and notes to an existing birth event
- filter records for unlinked individuals or specific kinship groups
- revert past edits without breaking subsequent data links

## Example prompts
- Show me all direct ancestors of person `I0001` up to four generations.
- Attach a new census citation to the marriage record in family `F0012`.
- Find every individual in the tree matching the surname Miller.

## Similar
- [family-history-planning](https://affpapa.org/en/nevibecode/skills/family-history-planning.md) — skill · ★ 122
- [cloudbase-document-database-web-sdk](https://affpapa.org/en/nevibecode/skills/cloudbase-document-database-web-sdk.md) — skill · 932 installs
- [web-scraping](https://affpapa.org/en/nevibecode/skills/web-scraping.md) — skill · 6100 installs
- [web-crawler](https://affpapa.org/en/nevibecode/skills/web-crawler.md) — skill · 3900 installs
- [modern-web-development](https://affpapa.org/en/nevibecode/skills/modern-web-development.md) — skill · 1200 installs
- [relational-database-web-cloudbase](https://affpapa.org/en/nevibecode/skills/relational-database-web-cloudbase.md) — skill · 899 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
