项目简介

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服务器已经配置并运行。

  1. 确保Gramps Web服务器运行:

    • 按照 Gramps Web安装指南 的说明,设置并运行您的Gramps Web服务器,确保您的家谱数据可在线访问。
    • 记下您的Gramps Web URL(例如 'https://your-gramps-web-domain.com',不带 '/api' 后缀)、用户名、密码以及家谱ID(可在Gramps Web界面的“系统信息”中找到)。
  2. 启动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服务器:
      docker-compose up -d
      Gramps MCP服务器将在后台运行,并通过 HTTP 协议在 'http://localhost:8000/mcp' 地址上提供服务。
  3. 替代方案:直接使用Python运行: 如果您更倾向于直接在Python环境中运行服务器,请按照以下步骤操作:

    • 安装 'uv' 包管理器 (如果未安装):
      curl -LsSf https://astral.sh/uv/install.sh | sh
    • 安装项目依赖: 导航到 Gramps MCP 仓库的根目录,然后安装所有必要的Python依赖:
      uv sync
    • 运行服务器:
      • HTTP 传输 (适用于网页端MCP客户端):
        uv run python -m src.gramps_mcp.server
        服务器将运行在 'http://localhost:8000/mcp'。
      • Stdio 传输 (适用于命令行MCP客户端):
        uv run python -m src.gramps_mcp.server stdio
        服务器将直接在终端中以 Std-io 模式运行。

服务器配置 (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与计算