Hi all,
I’d like to share the first public release of gramps-web-mcp, an MCP server for Gramps Web written in .NET 8.
The goal is to give AI agents structured, tool-based access to a Gramps Web family tree through the Model Context Protocol, while still using the official Gramps Web API rather than talking directly to the database.
A key idea behind the project is local-first deployment. Genealogy data is deeply personal: it can include information about living relatives, family history, documents, photos, locations, and private notes. For that reason, this server is designed to work well when deployed locally or inside a trusted home/local network, and to be used with self-hosted AI agents such as Open WebUI. The intention is to make AI-assisted genealogy possible without having to send sensitive family data to large commercial AI platforms for training or analysis.
It currently exposes 57 MCP tools covering the main Gramps Web objects: people, families, events, places, sources, citations, notes, media, repositories, tags, search, and a few composite workflows such as quick-add person, add event to person, find by Gramps ID, ancestors, descendants, relationships, and timelines.
A few highlights:
- read, create, update, and delete tools for core Gramps object types
- full-text search and paginated listing
- kinship-oriented tools for ancestors, descendants, relationships, and timelines
- MCP resources for input guidance, type vocabularies, metadata, and name settings
- optional media thumbnail/file access for vision-capable agents, guarded by size limits, MIME allowlists, and private-record defaults
- MCP prompts for common genealogy workflows like researching a person, adding a family, finding connections, and importing from text
- stdio, Streamable HTTP, and legacy SSE transports
- read-only mode that keeps the tools visible but blocks mutation calls at the server level
The read-only mode is useful when experimenting with agents against a real tree: the model can still understand the available write workflows, but create/update/delete calls fail before any mutation request is sent to Gramps Web.
I’d be glad to get feedback from anyone running Gramps Web with MCP clients such as Claude Desktop, Cursor, Open WebUI, or similar tools. In particular, I’m interested in edge cases where Gramps Web API behavior differs from what users expect from the normal UI, and in what workflows are most useful for genealogy research assistants.