项目简介
Gramps MCP 是一个创新的中间件,旨在弥合 AI 助手与 Gramps 家谱数据库之间的鸿沟。它将您的 Gramps Web 服务器转换为一个符合 Model Context Protocol (MCP) 标准的后端服务,让 AI 助手可以通过自然语言理解和执行复杂的家谱查询、数据管理和分析任务。无论是查找家族成员、记录历史事件,还是分析家族联系,Gramps MCP 都能为您的 AI 助手提供强大而准确的数据支持。
主要功能点
Gramps MCP 提供了16个强大的家谱工具,赋能您的AI助手:
- 智能搜索: 使用自然语言在您的家谱数据库中查找人物、家族、事件、地点、来源等各类实体。例如,您可以搜索“所有在1850年前出生于爱尔兰的John Smith的后代”。
- 数据管理: 创建和更新家谱记录,如人物、家族、事件、地点、来源、引文、笔记和媒体文件,并进行规范的数据验证。例如,您可以创建“为 Patrick O'Brien 创建一个新的个人记录,出生于1845年爱尔兰科克郡”。
- 家族树分析: 追溯家族的后代和祖先,探索家族成员之间的连接,识别研究空白。例如,您可以查询“查找 Margaret Kelly 的所有后代,并显示他们的出生地点”。
- 家族树信息: 获取全面的家谱统计数据,并追踪数据近期变更。例如,您可以询问“显示过去30天内家族树的最新变更”。
安装步骤
在安装Gramps MCP之前,请确保您的Gramps Web服务器已经配置并运行。
-
确保Gramps Web服务器运行:
- 按照 Gramps Web安装指南 的说明,设置并运行您的Gramps Web服务器,确保您的家谱数据可在线访问。
- 记下您的Gramps Web URL(例如 'https://your-gramps-web-domain.com',不带 '/api' 后缀)、用户名、密码以及家谱ID(可在Gramps Web界面的“系统信息”中找到)。
-
启动Gramps MCP服务器 (推荐使用Docker):
- 下载项目配置:
在您的命令行中执行以下命令,下载项目所需的 'docker-compose.yml' 和 '.env.example' 文件:
curl -O https://raw.githubusercontent.com/cabout-me/gramps-mcp/main/docker-compose.yml curl -O https://raw.githubusercontent.com/cabout-me/gramps-mcp/main/.env.example cp .env.example .env - 配置环境变量:
使用文本编辑器打开新创建的 '.env' 文件。将其中预留的占位符替换为您的Gramps Web API凭据和家谱ID:
GRAMPS_API_URL=https://your-gramps-web-domain.com # 替换为您的 Gramps Web 域名 GRAMPS_USERNAME=your-gramps-web-username # 替换为您的 Gramps Web 用户名 GRAMPS_PASSWORD=your-gramps-web-password # 替换为您的 Gramps Web 密码 GRAMPS_TREE_ID=your-tree-id # 替换为您的家谱唯一标识符 - 启动服务器:
保存 '.env' 文件后,在同一目录下执行以下命令启动Gramps MCP服务器:
Gramps MCP服务器将在后台运行,并通过 HTTP 协议在 'http://localhost:8000/mcp' 地址上提供服务。docker-compose up -d
- 下载项目配置:
在您的命令行中执行以下命令,下载项目所需的 'docker-compose.yml' 和 '.env.example' 文件:
-
替代方案:直接使用Python运行: 如果您更倾向于直接在Python环境中运行服务器,请按照以下步骤操作:
- 安装 'uv' 包管理器 (如果未安装):
curl -LsSf https://astral.sh/uv/install.sh | sh - 安装项目依赖:
导航到 Gramps MCP 仓库的根目录,然后安装所有必要的Python依赖:
uv sync - 运行服务器:
- HTTP 传输 (适用于网页端MCP客户端):
服务器将运行在 'http://localhost:8000/mcp'。uv run python -m src.gramps_mcp.server - Stdio 传输 (适用于命令行MCP客户端):
服务器将直接在终端中以 Std-io 模式运行。uv run python -m src.gramps_mcp.server stdio
- HTTP 传输 (适用于网页端MCP客户端):
- 安装 'uv' 包管理器 (如果未安装):
服务器配置 (MCP客户端连接指南)
MCP服务器是为MCP客户端提供服务的后端。为了让您的AI助手(MCP客户端)能连接到Gramps MCP服务器,您需要将以下信息添加到您的MCP客户端配置文件中(通常是JSON格式)。以下是不同连接方式所需的关键信息描述,请根据您的MCP客户端类型和运行方式进行配置:
-
通过 Std-io 传输 (使用 Docker 运行 Gramps MCP): 在您的MCP客户端配置文件中,您需要为服务器指定一个 'command' 来执行 'docker' 命令。该命令将包含 'args' 参数列表,例如 '["exec", "-i", "gramps-mcp-gramps-mcp-1", "python", "-m", "src.gramps_mcp.server", "stdio"]'。
- 'command':通常设置为 '"docker"'。
- 'args':一个字符串数组,包含 'exec' 命令及后续参数。'"-i"' 允许交互式输入(针对 Std-io 传输)。'"gramps-mcp-gramps-mcp-1"' 是通过 'docker-compose up -d' 启动时容器的默认名称,您可能需要检查实际的容器名称。'"python -m src.gramps_mcp.server stdio"' 是在容器内部启动MCP服务器的Python命令。
-
通过 Std-io 传输 (直接使用 Python 运行 Gramps MCP): 在您的MCP客户端配置文件中,您需要为服务器指定一个 'command' 来执行 'uv' 命令(或者如果 'uv' 不可用,直接使用 'python')。该命令将包含 'args' 参数列表,例如 '["run", "python", "-m", "src.gramps_mcp.server", "stdio"]'。
- 'command':通常设置为 '"uv"' (如果使用 'uv')。
- 'args':一个字符串数组,包含 'run' 命令及后续参数,以 Std-io 模式启动MCP服务器。
- 'cwd':您还需要指定 'cwd'(当前工作目录),它应该设置为 Gramps MCP 仓库在您本地文件系统中的绝对路径,以确保命令在正确的项目目录下执行。
-
通过 HTTP 传输 (通用): 这是最简单且通用的连接方式。您的MCP客户端只需要提供 Gramps MCP 服务器的 HTTP 访问 URL。
- 'url':通常设置为 '"http://localhost:8000/mcp"'。如果您的服务器部署在不同的地址或端口,请相应地修改此URL。
请将这些信息填入您的MCP客户端(如Claude Desktop, OpenWebUI, Claude Code等)的相应配置字段中,以便它们能正确地启动和连接Gramps MCP服务器。
基本使用方法
将 Gramps MCP 服务器成功连接到您的 AI 助手后,您就可以通过自然语言开始智能家谱研究了。您的 AI 助手将能够调用 Gramps MCP 提供的16个工具来执行各种任务。
例如,您可以尝试以下自然语言指令:
- 搜索人物:
查找所有出生在爱尔兰,姓氏为 "Smith" 的人。 - 查看家族树变更:
显示我的家族树在过去7天内做出的所有更改。 - 创建新的家谱记录:
为名为 "Eleanor Vance" 的女性创建一份新的人物记录,她于1880年出生在英国伦敦。 - 添加事件信息:
在1905年3月10日,为 John Doe 和 Jane Smith 添加一个结婚事件,地点在纽约市。 - 分析家族关系:
找出 Mary O'Connor 的所有祖先,并显示到第三代。
这些只是冰山一角,Gramps MCP 允许您与家谱数据进行深度、自然的交互。
信息
分类
AI与计算