使用AI助手进行家谱研究是有限且令人沮丧的:
Gramps MCP通过一系列全面的工具,为AI助手提供了直接访问您的Gramps家谱数据库的能力。现在,您的AI助手可以:
将Gramps MCP添加到您的AI助手,并改变您研究家族历史的方式:
查找所有在1850年前出生在爱尔兰的John Smith的后代
为Mary O'Connor创建一个新的个人记录,出生日期为1823年,在科克郡
查找所有缺少结婚日期的家庭,并提出研究优先级
不再需要手动输入数据,无需在应用程序之间切换上下文,不再提供通用的家谱建议。
确保Gramps Web正在运行:
启动服务器:
# 下载配置
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凭据
# 启动服务器
docker-compose up -d
就这样!MCP服务器将在http://localhost:8000/mcp运行
如果您希望直接使用Python运行服务器:
# 安装uv(如果尚未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 安装依赖项
uv sync
# HTTP传输(用于基于Web的MCP客户端)
uv run python -m src.gramps_mcp.server
# Stdio传输(用于基于CLI的MCP客户端)
uv run python -m src.gramps_mcp.server stdio
HTTP服务器将在http://localhost:8000/mcp可用,而stdio将在终端中直接运行。
创建一个.env文件,填写您的Gramps Web设置:
# 您的Gramps Web实例(来自步骤1)
GRAMPS_API_URL=https://your-gramps-web-domain.com # 不要加/api后缀 - 将会自动添加
GRAMPS_USERNAME=your-gramps-web-username
GRAMPS_PASSWORD=your-gramps-web-password
GRAMPS_TREE_ID=your-tree-id # 在Gramps Web的系统信息下找到这个
添加到您的Claude Desktop MCP配置文件(claude_desktop_config.json):
使用Docker(适用于预构建和本地镜像):
{
"mcpServers": {
"gramps": {
"command": "docker",
"args": ["exec", "-i", "gramps-mcp-gramps-mcp-1", "python", "-m", "src.gramps_mcp.server", "stdio"]
}
}
}
直接使用uv(如果未使用Docker):
{
"mcpServers": {
"gramps": {
"command": "uv",
"args": ["run", "python", "-m", "src.gramps_mcp.server", "stdio"],
"cwd": "/path/to/gramps-mcp"
}
}
}
OpenWebUI推荐使用mcpo代理将MCP服务器暴露为OpenAPI端点。
使用uv:
uvx mcpo --port 8000 -- uv run python -m src.gramps_mcp.server stdio
使用Docker:
uvx mcpo --port 8000 -- docker exec -i gramps-mcp-gramps-mcp-1 uv run python -m src.gramps_mcp.server stdio
HTTP传输:
claude mcp add --transport http gramps http://localhost:8000/mcp
Stdio传输(直接连接,更高效):
# 使用Docker
claude mcp add --transport stdio gramps "docker exec -i gramps-mcp-gramps-mcp-1 sh -c 'cd /app && python -m src.gramps_mcp.server stdio'"
# 直接使用uv(需要本地设置)
claude mcp add --transport stdio gramps "uv run python -m src.gramps_mcp.server stdio"
传输选择:使用stdio以获得更好的性能和与CLI工具如Claude Code的直接集成。当您需要服务器处理多个客户端或偏好基于Web的访问时,使用HTTP。
对于任何其他MCP客户端,请使用HTTP传输端点:
{
"mcpServers": {
"gramps": {
"url": "http://localhost:8000/mcp"
}
}
}
src/gramps_mcp/
|-- server.py # 使用HTTP传输的MCP服务器
|-- tools.py # 工具注册表和导出
|-- client.py # Gramps Web API客户端
|-- models.py # Pydantic数据模型
|-- auth.py # JWT认证
|-- config.py # 配置管理
|-- tools/ # 模块化工具实现
| |-- search_basic.py
| |-- search_details.py
| |-- data_management.py
| |-- tree_management.py
| `-- analysis.py
|-- handlers/ # 数据格式化处理器
`-- client/ # API客户端模块
查找所有姓“Smith”且出生于爱尔兰的人
显示过去30天内对家谱树的最近更改
为Patrick O'Brien创建一个新的个人记录,出生于1845年的爱尔兰科克郡
为John和Mary Smith添加一个结婚事件,时间是1870年6月15日,在波士顿
查找Margaret Kelly的所有后代,并显示他们的出生地
显示我的家谱树的统计数据 - 有多少人、家庭和事件
在过去一周里,我对我家谱树做了哪些更改?
连接被拒绝错误:确保您的Gramps Web API服务器正在运行并且可以在配置的URL上访问。
身份验证失败:验证您的用户名和密码是否正确,用户是否有适当的权限。
工具超时错误:检查您的网络连接,并考虑增加大型数据集的超时值。
Docker问题:确保已安装并运行Docker和Docker Compose。
启用调试日志,请检查应用日志:
docker-compose logs -f
此项目根据GNU Affero通用公共许可证v3.0许可 - 详情请参阅LICENSE文件。
我们欢迎贡献!请参阅我们的贡献指南了解详情: