Searches and edits Gramps Web family tree records and explores ancestors, descendants, relationships and timelines.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add gramps-web --env GRAMPS_API_URL='<GRAMPS_API_URL>' --env GRAMPS_PASSWORD='<GRAMPS_PASSWORD>' --env GRAMPS_REFRESH_TOKEN='<GRAMPS_REFRESH_TOKEN>' --env 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.6.0~/.codex/config.toml
[mcp_servers.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.6.0"]
env = { GRAMPS_API_URL = "<GRAMPS_API_URL>", GRAMPS_PASSWORD = "<GRAMPS_PASSWORD>", GRAMPS_REFRESH_TOKEN = "<GRAMPS_REFRESH_TOKEN>", GRAMPS_TREE_ID = "<GRAMPS_TREE_ID>" }
# codex mcp add gramps-web --env GRAMPS_API_URL='<GRAMPS_API_URL>' --env GRAMPS_PASSWORD='<GRAMPS_PASSWORD>' --env GRAMPS_REFRESH_TOKEN='<GRAMPS_REFRESH_TOKEN>' --env 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.6.0~/.cursor/mcp.json
{
"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.6.0"
],
"env": {
"GRAMPS_API_URL": "<GRAMPS_API_URL>",
"GRAMPS_PASSWORD": "<GRAMPS_PASSWORD>",
"GRAMPS_REFRESH_TOKEN": "<GRAMPS_REFRESH_TOKEN>",
"GRAMPS_TREE_ID": "<GRAMPS_TREE_ID>"
}
}
}
}.vscode/mcp.json
{
"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.6.0"
],
"env": {
"GRAMPS_API_URL": "<GRAMPS_API_URL>",
"GRAMPS_PASSWORD": "<GRAMPS_PASSWORD>",
"GRAMPS_REFRESH_TOKEN": "<GRAMPS_REFRESH_TOKEN>",
"GRAMPS_TREE_ID": "<GRAMPS_TREE_ID>"
}
}
}
}~/.gemini/settings.json
{
"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.6.0"
],
"env": {
"GRAMPS_API_URL": "<GRAMPS_API_URL>",
"GRAMPS_PASSWORD": "<GRAMPS_PASSWORD>",
"GRAMPS_REFRESH_TOKEN": "<GRAMPS_REFRESH_TOKEN>",
"GRAMPS_TREE_ID": "<GRAMPS_TREE_ID>"
}
}
}
}claude_desktop_config.json
{
"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.6.0"
],
"env": {
"GRAMPS_API_URL": "<GRAMPS_API_URL>",
"GRAMPS_PASSWORD": "<GRAMPS_PASSWORD>",
"GRAMPS_REFRESH_TOKEN": "<GRAMPS_REFRESH_TOKEN>",
"GRAMPS_TREE_ID": "<GRAMPS_TREE_ID>"
}
}
}
}.trae/mcp.json
{
"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.6.0"
],
"env": {
"GRAMPS_API_URL": "<GRAMPS_API_URL>",
"GRAMPS_PASSWORD": "<GRAMPS_PASSWORD>",
"GRAMPS_REFRESH_TOKEN": "<GRAMPS_REFRESH_TOKEN>",
"GRAMPS_TREE_ID": "<GRAMPS_TREE_ID>"
}
}
}
}Environment variables
GRAMPS_API_URLGRAMPS_PASSWORDGRAMPS_REFRESH_TOKENGRAMPS_TREE_ID
Replace the placeholders with your own credentials and keep them out of version control.