家谱数据代理服务

一个基于Flask的中间件服务,用于自动管理Gramps Web API的访问令牌,并提供简化的接口进行家谱数据管理。

  • by gaboogler
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 gaboogler/gramps-mcp-server

使用说明

Gramps MCP服务器

使用Gramps Web。


概述

这个项目是 基于Flask的定制MCP(模块化控制点)服务器 旨在作为智能代理 Gramps Web API,首屈一指的开源家谱平台。

此服务器的主要功能是 自动访问令牌续订,允许与Gramps Web API端点进行无缝、不间断的交互,用于家谱数据管理。


为什么这很重要

GrampsWeb通过RESTful API提供了强大的系谱数据管理,但管理API令牌和安全身份验证对开发人员来说可能很麻烦。

此MCP服务器充当 中间件层抽象令牌处理 包括:

  • 透明身份验证,令牌获取和到期续订
  • 代理所有主要Gramps对象的CRUD操作(people, families, events, places, sources, citations, repositories, media, notes)
  • 添加了便利端点,如 search 元数据访问
  • 通过提供一致且易于使用的Flask端点接口简化客户端应用程序的集成

特性

  • 自动刷新过期的访问令牌 无需开发人员干预
  • 所有标准Gramps Web API资源的动态路由生成
  • 完全CRUD支持(GET, POST, PUT, DELETE)
  • JSON请求/响应合规性
  • 带有信息性消息的详细错误处理
  • 内置搜索和元数据代理端点
  • 轻松的环境配置 .env 支持凭据和API URL

安装

  1. 克隆存储库
git clone https://github.com/yourusername/gramps-flask-mcp-server.git
cd gramps-flask-mcp-server
  1. 创建并激活Python虚拟环境
python -m venv venv
source venv/bin/activate       # Linux/macOS
venv\Scripts\activate          # Windows
  1. 安装依赖项
pip install -r requirements.txt
  1. 创建一个 .env 包含以下变量的文件:
GRAMPS_API_URL=http://your-gramps-web-instance/api
GRAMPS_USER=your_username
GRAMPS_PASSWORD=your_password

用法

运行Flask服务器:

python app.py

这将在本地启动Flask MCP服务器,通常在 http://127.0.0.1:5000.

您现在可以与它进行交互,例如:

  • 获取所有人: GET /people
  • 搜索家谱: GET /search?q=Smith
  • 获取元数据: GET /metadata

服务器会自动处理令牌身份验证,并在令牌过期时进行更新。


贡献

该项目旨在为Gramps社区服务,欢迎捐款!无论您是想添加功能、改进文档还是修复错误,您的输入都是有价值的。

  • 分叉回购
  • 创建要素分支
  • 提交拉取请求

许可证

该项目根据MIT许可证获得许可。


致谢


感谢您对开源家谱软件的支持!


如果您有疑问或想使用此MCP服务器与Gramps Web共享您的集成,请随时提出问题或开始讨论。