Gramps Web MCP Server
by scormaveio.github.Scormave/gramps-web-mcpv2.4.0
Gramps Web genealogy: search and edit family tree records, explore ancestors, descendants, relationships and timelines, and read media with privacy-aware previews. Includes a read-only mode and Claude Desktop bundles.
context tax
queued
security
queued
cold start
queued
freshness
Active1d ago
Install Gramps Web MCP server
Install in Claude Code
claude mcp add gramps-web -e GRAMPS_API_URL='<gramps-api-url>' -e GRAMPS_PASSWORD='<gramps-password>' -e GRAMPS_REFRESH_TOKEN='<gramps-refresh-token>' -e GRAMPS_TREE_ID='<gramps-tree-id>' -- docker run -i --rm -e GRAMPS_API_URL -e GRAMPS_PASSWORD -e GRAMPS_REFRESH_TOKEN -e GRAMPS_TREE_ID ghcr.io/scormave/gramps-web-mcp:2.4.0Install in Cursor
{
"mcpServers": {
"gramps-web": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GRAMPS_API_URL",
"-e",
"GRAMPS_PASSWORD",
"-e",
"GRAMPS_REFRESH_TOKEN",
"-e",
"GRAMPS_TREE_ID",
"ghcr.io/scormave/gramps-web-mcp:2.4.0"
],
"env": {
"GRAMPS_API_URL": "<gramps-api-url>",
"GRAMPS_PASSWORD": "<gramps-password>",
"GRAMPS_REFRESH_TOKEN": "<gramps-refresh-token>",
"GRAMPS_TREE_ID": "<gramps-tree-id>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"gramps-web": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GRAMPS_API_URL",
"-e",
"GRAMPS_PASSWORD",
"-e",
"GRAMPS_REFRESH_TOKEN",
"-e",
"GRAMPS_TREE_ID",
"ghcr.io/scormave/gramps-web-mcp:2.4.0"
],
"env": {
"GRAMPS_API_URL": "<gramps-api-url>",
"GRAMPS_PASSWORD": "<gramps-password>",
"GRAMPS_REFRESH_TOKEN": "<gramps-refresh-token>",
"GRAMPS_TREE_ID": "<gramps-tree-id>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"gramps-web": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GRAMPS_API_URL",
"-e",
"GRAMPS_PASSWORD",
"-e",
"GRAMPS_REFRESH_TOKEN",
"-e",
"GRAMPS_TREE_ID",
"ghcr.io/scormave/gramps-web-mcp:2.4.0"
],
"env": {
"GRAMPS_API_URL": "<gramps-api-url>",
"GRAMPS_PASSWORD": "<gramps-password>",
"GRAMPS_REFRESH_TOKEN": "<gramps-refresh-token>",
"GRAMPS_TREE_ID": "<gramps-tree-id>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"gramps-web": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GRAMPS_API_URL",
"-e",
"GRAMPS_PASSWORD",
"-e",
"GRAMPS_REFRESH_TOKEN",
"-e",
"GRAMPS_TREE_ID",
"ghcr.io/scormave/gramps-web-mcp:2.4.0"
],
"env": {
"GRAMPS_API_URL": "<gramps-api-url>",
"GRAMPS_PASSWORD": "<gramps-password>",
"GRAMPS_REFRESH_TOKEN": "<gramps-refresh-token>",
"GRAMPS_TREE_ID": "<gramps-tree-id>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| MCP_TRANSPORT | — | — | Pinned to stdio for registry-installed containers that the client spawns itself. The image's own default is http (Streamable HTTP on port 8080) for networked Docker deployments; see the README for that setup. |
| GRAMPS_API_URL | yes | — | Base URL of your Gramps Web instance |
| GRAMPS_USERNAME | — | — | Gramps Web API username; required with GRAMPS_PASSWORD unless GRAMPS_REFRESH_TOKEN is set |
| GRAMPS_PASSWORD | — | yes | Gramps Web API password; required with GRAMPS_USERNAME unless GRAMPS_REFRESH_TOKEN is set |
| GRAMPS_REFRESH_TOKEN | — | yes | Refresh token for instances with password login disabled; replaces GRAMPS_USERNAME and GRAMPS_PASSWORD |
| GRAMPS_TREE_ID | yes | — | Gramps Web tree UUID |
| GRAMPS_READ_ONLY | — | — | Set to true to block create, update, and delete tools |
| GRAMPS_MUTATION_SERIALIZE | — | — | Serialize create/update/delete HTTP calls in-process (set false to allow parallel writes) |
| GRAMPS_MUTATION_MIN_INTERVAL_MS | — | — | Minimum milliseconds between mutation HTTP calls. Use 250 or 500 on SQLite if you see database is locked |
| GRAMPS_LOG_LEVEL | — | — | Server log level: Trace, Debug, Information, Warning, Error, Critical, or None. Debug and Trace also log request and response bodies, which contain genealogy data |
| GRAMPS_MEDIA_RESOURCES_ENABLED | — | — | Set to true to expose read_media and the media resources for thumbnails and full files |
| GRAMPS_MEDIA_MAX_BYTES | — | — | Maximum bytes returned by read_media or a media resource |
| GRAMPS_MEDIA_ALLOW_PRIVATE | — | — | Set to true to return bytes for media records marked private |
Freshness
Active — last maintenance signal 1d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-10-08 · 1d ago · GitHub
Latest release
2026-10-08 · 1d ago · GitHub · v2.4.0
Package published
no data · npm/PyPI
Registry entry updated
2026-10-08 · 1d ago · official registry · v2.4.0
FAQ
›How do I install the Gramps Web MCP server in Claude Code?
Run: claude mcp add gramps-web -e GRAMPS_API_URL='<gramps-api-url>' -e GRAMPS_PASSWORD='<gramps-password>' -e GRAMPS_REFRESH_TOKEN='<gramps-refresh-token>' -e GRAMPS_TREE_ID='<gramps-tree-id>' -- docker run -i --rm -e GRAMPS_API_URL -e GRAMPS_PASSWORD -e GRAMPS_REFRESH_TOKEN -e GRAMPS_TREE_ID ghcr.io/scormave/gramps-web-mcp:2.4.0. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Gramps Web require an API key?
Yes. It expects GRAMPS_API_URL, GRAMPS_TREE_ID, GRAMPS_PASSWORD, GRAMPS_REFRESH_TOKEN, of which 2 are secrets.
›Can I use Gramps Web as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Gramps Web in the official MCP registry?
Yes, as io.github.Scormave/gramps-web-mcp.
Alternatives to Gramps Web
Other web search MCP servers.