Token导航 LogoToken导航TokenDH.com
Gramps Ez MCP logo
AI代理stdio官方级别未说明来源级核验

Gramps Ez MCP

MCP Server

一个易于使用的MCP服务器,用于与Gramps家谱数据库进行交互,允许通过自然语言查询家谱信息。

工具数

0

提示词数

0

GitHub Stars

3

资源数

0
数据库交互Python自然语言处理本地部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

dsblank

提供方

dsblank

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install gramps-ez-mcp

详细介绍

gramps-ez-mcp

一个易于使用的MCP(模型上下文协议)服务器,用于与Gramps家谱树进行交互。该软件包在人工智能助手和Gramps数据库之间架起了一座桥梁,支持对家谱进行自然语言查询。

安装

使用pip安装软件包:

pip install gramps-ez-mcp

概述

gramps-ez-mcp 是一个MCP服务器,通过标准化协议公开您的Gramps家谱数据库。它允许人工智能助手和聊天机器人使用自然语言查询和探索您的家谱数据。

服务器提供以下工具:

  • 按姓名搜索人员
  • 检索人员详细信息(出生、死亡、事件等)
  • 引导家庭关系(父母、子女、配偶)
  • 访问家庭和活动信息
  • 查询家庭成员

配置

设置

您将需要以下内容:

  1. 来自模型提供者的API密钥(如OpenAI、Anthropic等)
  2. 安装Gramps并使用家谱(可能还需要 pip install gramps)

例如,您的环境中可能存在:

export OPENAI_API_KEY="sk-..."

基本配置

MCP服务器可以使用命令行参数或通过MCP客户端配置文件进行配置。

命令行用法

gramps-ez-mcp DBNAME [OPTIONS]

论据:

  • DBNAME:要打开的Gramps数据库树的名称(必需)

选项:

  • --transport {stdio,sse}:要使用的传输方法(默认值: stdio)
  • --host HOST:SSE传输主机(默认值: localhost)
  • --port PORT:SSE传输端口(默认值: 8000)

示例:

# Use stdio transport with a database
gramps-ez-mcp "Gramps Example"

# Specify a custom database name
gramps-ez-mcp "My Family Tree"

# Use SSE transport on a custom port
gramps-ez-mcp "Gramps Example" --transport sse --port 9000

MCP客户端配置

用于MCP兼容客户端(如 ez-mcp-chatbot、游标等),您将需要一个配置文件。

例如,对于 ez-mcp-chatbot:

例子: ez-config.json

{
  "model": "openai/gpt-4o-mini",
  "model_parameters": {
    "temperature": 0.0
  },
  "mcp_servers": [
    {
      "name": "gramps-ez-mcp",
      "description": "Gramps EZ MCP server for genealogy chats",
      "command": "gramps-ez-mcp",
      "args": ["Gramps Example"]
    }
  ]
}

替换 "Gramps Example" 使用您的实际Gramps数据库名称。

使用示例

与ez-mcp聊天机器人一起使用

ez-mcp-chatbot 是一个可以与MCP服务器交互的命令行聊天机器人。以下是如何使用它 gramps-ez-mcp:

  1. 安装ez-mcp聊天机器人 (如果尚未安装):
   pip install ez-mcp-toolbox
  1. 创建配置文件 (例如。, examples/ez-config.json):
   {
     "model": "openai/gpt-4o-mini",
     "model_parameters": {
       "temperature": 0.0
     },
     "mcp_servers": [
       {
         "name": "gramps-ez-mcp",
         "description": "Gramps EZ MCP server for genealogy chats",
         "command": "gramps-ez-mcp",
         "args": ["Gramps Example"]
       }
     ]
   }
  1. 运行聊天机器人:
   ez-mcp-chatbot --config examples/ez-config.json
  1. 您可以问的示例查询:

- “谁是我家谱中的家庭成员?” - “搜索名为约翰·史密斯的人” - “他的出生日期是什么时候?” - “约翰的孩子是谁?” - “找到莎拉·安德森的母亲”

LLM日志记录、调试和可观察性

如果你愿意 ez-mcp-chatbot 要创建MCP服务器正在做什么的日志,可以记录交互 通过以下方式获得法学硕士学位:

pip install opik

然后,您可以从https://www.comet.com/docs/opik/quickstart 并设置它:

export OPIK_API_KEY="..."

对话示例

You: Who is the home person in my family tree?

Assistant: I'll look up the home person for you.
[Uses get_home_person tool]
The home person is John Doe (born 1950-01-15).

You: Who are their children?

Assistant: Let me find the children of John Doe.
[Uses get_children_of_person tool]
John Doe has 2 children:
- Jane Doe (handle: abc123)
- Bob Doe (handle: def456)

可用工具

MCP服务器提供以下工具:

个人工具

  • get_person(person_handle: str)

- 按句柄获取一个人的完整数据字典 - 返回:包含所有人员数据的字典

  • search_people_by_name(name: str, page: int = 1, page_size: int = 10)

- 按姓名搜索人员(部分匹配,不区分大小写) - 支持分页 - 返回:匹配人员词典列表

  • get_home_person()

- 从数据库中获取家庭成员数据 - 返回:包含家庭成员数据的词典

关系工具

  • get_father_of_person(person_handle: str)

- 获取某人父亲的数据 - 返回:包含父亲数据的词典

  • get_mother_of_person(person_handle: str)

- 获取某人的母亲数据 - 返回:包含母亲数据的字典

  • get_children_of_person(person_handle: str)

- 获取一个人主要家庭的儿童句柄列表 - 返回:子句柄列表(字符串)

日期和地点工具

  • get_person_birth_date(person_handle: str)

- 以字符串形式获取出生日期 - 返回:出生日期字符串

  • get_person_death_date(person_handle: str)

- 以字符串形式获取死亡日期 - 返回:死亡日期字符串

  • get_person_birth_place(person_handle: str)

- 以字符串形式获取出生地 - 返回:出生地字符串

  • get_person_death_place(person_handle: str)

- 以字符串形式获取死亡地点 - 返回:死亡地点字符串

家庭和活动工具

  • get_family(family_handle: str)

- 按家庭句柄获取家庭数据 - 注意:家庭手柄与个人手柄不同 - 返回:包含族数据的字典

  • get_person_event_list(person_handle: str)

- 获取与某人关联的事件句柄列表 - 返回:事件句柄列表(字符串)

  • get_event(event_handle: str)

- 按事件句柄获取事件数据 - 返回:包含事件数据的字典

  • get_event_place(event_handle: str)

- 获取与活动相关的地点 - 返回:放置字符串

需求

  • Python 3.8或更高版本
  • Gramps(家谱软件)
  • MCP兼容客户端(用于使用服务器)

故障排除

未找到数据库

如果出现找不到数据库的错误:

  • 验证数据库名称是否完全匹配(区分大小写)
  • 检查数据库是否存在于Gramps数据目录中
  • 使用Gramps中显示的确切名称

许可证

本项目根据GNU通用公共许可证版本2(GPL-2.0)获得许可。有关详细信息,请参阅LICENSE文件。

贡献

欢迎投稿!请随时提交问题或拉取请求。

链接

  • 首页: https://github.com/dsblank/gramps-ez-mcp
  • 仓库: https://github.com/dsblank/gramps-ez-mcp
  • 缺陷跟踪系统: https://github.com/dsblank/gramps-ez-mcp/issues

目录标签

目录标签

数据库交互Python自然语言处理本地部署家谱查询AI助手

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP