MCP server for Gramps genealogy via the Gramps Web API: CRUD, search, merge, timelines, DNA.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
A Model Context Protocol (MCP) server that exposes the full functionality of the Gramps Web API to AI agents such as opencode, Claude, Cursor and any other MCP client. It is published on PyPI as gramps-mcp-full.
Gramps is a free, open-source genealogy program, and Gramps Web ships a REST API (gramps-web-api) that lets you read and operate a family tree β people, families, events, places, sources, citations, notes, media, repositories and tags, plus genealogy compute (merge, timelines, relations, living status, DNA), import/export, reports, transactions and server administration.
This server lets your agent query and operate a Gramps tree directly: full CRUD for all object types, full-text/semantic search, merge objects (phoenix/titanic survival), timelines, relationships, alive estimates, DNA match analysis, a media pipeline (binary upload, file download, thumbnails, OCR, face detection), GEDCOM / Gramps XML import and export with privacy filters, report generation, raw transactions, and admin over users, trees, bookmarks and type vocabularies β including multiple instances (one or more Gramps Web base URLs, each with token/JWT auth).
β οΈ Official API, mutable data. Unlike the EduPage server (which reverse-engineers undocumented endpoints), this uses the official, documented Gramps Web REST API β
gramps-web-api, maintained under thegramps-projectorganization with a published OpenAPI spec at https://gramps-project.github.io/gramps-web-api/. Use read-only features freely; use the write features (manage_*,merge_objects,manage_import,manage_transaction, β¦) carefully β they mutate real tree data.
Other Gramps MCP servers already exist:
Knuckles-Team/gramps-mcp β 35 action-routed tools, A2A agent, OTEL telemetry, single GRAMPS_URLcabout-me/gramps-mcp β 16 tools, AGPL-3.0, Docker Compose based, HTTP-firstScormave/gramps-web-mcp β 57 tools + 6 resources, .NET, multi-transport, read-only modeGenealogy-MCP/gramps-mcp β AGPLv3, GitLab mirror, 32 releasesAll are good and I have no affiliation with them β they are simply referenced here for honest comparison. They either fragment the surface into many near-identical tools or cover only read-mostly slices of the API.
This project deliberately goes further:
| Capability | Knuckles-Team/gramps-mcp | cabout-me/gramps-mcp | Scormave/gramps-web-mcp | this project |
|---|---|---|---|---|
| Full CRUD β people, families, events, places, sources, citations, notes, media, repositories, tags | partial (actions) | partial | β | β |
One manage_* tool per object type (action= get/list/create/update/delete) | β | β | β | β |
Genealogy compute β merge_objects (phoenix/titanic), get_timeline, get_relation, get_living | β | β | partial | β |
DNA analysis β analyze_dna (matches, Y-DNA, segment parser) | β | β | β | β |
| Media pipeline β binary upload, file download, thumbnails, OCR, face detection | β | partial | partial | β |
| Import / export β GEDCOM / Gramps XML with dry-run, restore, privacy filters | import only | import only | export only | β |
| Reports β list, generate, download | β | β | β | β |
| Transactions β raw apply/undo, history, bulk create/delete | β | β | β | β |
| Administration β users, trees (repair/migrate/verify/config), bookmarks, types | partial | β | partial | β |
| Server metadata β database, versions, locale, counts, capabilities | β | β | β | β |
| Multiple instances β one or more Gramps Web base URLs | β | β | β | β |
Auth β lazy token login /api/token/ + pre-issued JWTs + refresh | JWT | user/pass | token | β |
| Read-only mode | β | β | β | β |
| Quality gates by default β py_compile, Docker MCP handshake, HTTP auth smoke, Trivy, Glama TDQS watchdog | β | β | β | β |
| Publishing β PyPI, GHCR, MCP Registry, Glama | PyPI | Docker Hub/GitHub | GHCR | β |
Key differentiators:
manage_* tool with an action= parameter, mirroring the canonical get_timetable/login family design.A single MCP server exposing 27 tools (published on PyPI as gramps-mcp-full):
ping (health), get_instances (configured Gramps Web base URLs)manage_person, manage_family, manage_event, manage_place, manage_source, manage_citation, manage_note, manage_media, manage_repository, manage_tag β each takes one action= (get, list, create, update, delete); manage_media also handles binary upload, file download, thumbnails, OCR and face detectionsearch (full-text/semantic, filterable by object type), merge_objects (phoenix survives by default, titanic optional), get_timeline (person/family/tree), get_relation (degree + paths), get_living (status or probable dates), analyze_dna (matches, Y-DNA, segment parser)manage_import (list importers, import file with dry-run, restore backup), manage_export (list exporters, export GEDCOM/Gramps XML/CSV with privacy filters), manage_report (list/generate/download), manage_transaction (apply/undo raw payloads, history, bulk create/delete)manage_user, manage_tree (create/update/disable/enable/repair/migrate/verify/config), manage_bookmark (per-namespace), manage_type (default + custom vocabularies), get_server_info (database, versions, locale, object counts, capabilities)You need an MCP-capable client (opencode, Claude Desktop, Cursor, etc.) and a reachable Gramps Web instance (base URL + a user account with the needed permissions).
If you are using an AI coding client, a simple prompt is often enough to get started, for example: "Install the Gramps MCP as described in this GitHub repository oliverhruby/gramps-mcp". Most MCP-capable clients can then guide you through the available setup options.
Option A β from MCP Registry (recommended, one-click in VS Code / GitHub Copilot)
The server is listed in the MCP Registry. In VS Code or GitHub Copilot, search for "Gramps MCP" and install with one click. Or use the direct deeplink: mcp://install/io.github.oliverhruby/gramps-mcp
Option B β from PyPI
Use this for normal usage with a released version.
Requirements: uv for uvx, or Python 3.10+ for pip.
uvx runs the package without a persistent install. If uvx is unavailable, install uv first (pip install uv or winget install astral-sh.uv).
Option C β from GitHub (latest source)
Use this if you want the latest changes before a PyPI release.
Requirements: uv for uvx, or Python 3.10+ for pip.
Option D β Docker
Use this for an isolated container runtime.
Requirements: Docker.
Pull a prebuilt image (recommended):
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/gramps-mcp-mcp-server)<a href="https://allmcps.com/mcp/gramps-mcp-mcp-server"><img src="https://allmcps.com/api/badge/gramps-mcp-mcp-server?style=directory" alt="Gramps MCP MCP Server on AllMCPs" /></a>