# Gramps Web MCP

Подключает языковые модели к генеалогической базе Gramps Web через MCP. Позволяет исследовать семейные связи и дополнять записи архивными источниками прямо в чате.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 15
- Автор: Scormave
- Лицензия: AGPL-3.0 · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/Scormave/gramps-web-mcp
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/mcp/gramps-web-mcp

## Что делает

Сервер работает в связке с запущенным инстансом Gramps Web, не заменяя его веб-интерфейс. Агенту передаётся набор из 32 инструментов. Среди них — текстовый поиск, фильтрация через Gramps QL, редактирование персон и событий, а также расчёт линий предков и потомков.

Предусмотрены откат отдельных правок и режим только для чтения. При передаче превью картинок сервер очищает метаданные EXIF и GPS. Опасные операции `delete_object` и `undo_change` запрашивают подтверждение у человека, если используемый клиент поддерживает элиситацию.

Для работы обязательно нужны поднятый экземпляр Gramps Web с доступом к API и настроенная авторизация. Без готового сервера генеалогии контейнеру не к чему обращаться.

## Требования
- Нужно: Docker
- Переменные окружения: `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` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```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
```
Вместо <…> подставьте свои значения. Ещё 10 переменных окружения — в README сервера

### Codex

**Командой платформы**
```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
```
Вместо <…> подставьте свои значения. Ещё 10 переменных окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.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>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 10 переменных окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.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>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 10 переменных окружения — в README сервера

### Gemini 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
```
Вместо <…> подставьте свои значения. Ещё 10 переменных окружения — в README сервера

## Когда брать
- построить линии предков или потомков для выбранной персоны
- добавить факт события с привязкой архивных источников и цитат
- найти людей без установленных родственных связей
- откатить ошибочную транзакцию без потери более поздних правок

## Примеры запросов агенту
- Построй список прямых предков для персоны с идентификатором `I0001`.
- Добавь факт рождения в запись `I0042` и привяжи архивный источник.
- Найди в базе Gramps Web всех людей с фамилией Иванов.

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
