档案搜索API服务

MCP OpenArchieven是一个为LLM代理提供荷兰公开档案(OpenArchieven.nl)JSON API访问的服务,支持人物和事件搜索、精确匹配查找、详细记录数据获取等功能,专注于家谱研究工作流。

  • by peterdewit
  • Python
  • 混合部署
  • 更新于
在 GitHub 查看 peterdewit/mcp-openarchieven

使用说明

MCP 开放档案

的公共JSON API的MCP服务器 打开档案(OpenArchieven.nl).

此服务器将OpenArchiveen API公开为 模型上下文协议(MCP)工具 因此LLM代理(OpenWebUI、MetaMCP等)可以:

  • 在链接的档案中搜索人员和事件
  • 执行精确匹配查找(姓名+出生年份)
  • 获取详细的A2A记录数据
  • 检索“N年前出生”列表
  • 获取荷兰地方的历史人口普查数据
  • 列出附加到记录中的用户评论

服务器设计为:

  • LLM友好 –每个工具都会返回两者 raw API JSON和 normalized 数据
  • 注重家谱 –工具和规范化是针对家谱工作流程量身定制的
  • 易于运行 –一个Python文件,一个Dockerfile,HTTP流式MCP

特性

  • 仅限JSON使用OpenArchiveen API(版本1.0和1.1)
  • Clean FastMCP集成 streamable_http_app()
  • 稳健的错误处理和参数验证
  • 轻量级依赖关系: mcp, requests, uvicorn
  • 已准备好插入MetaMCP/OpenWebUI

请参阅:


快速入门(裸Python)

git clone https://github.com/yourname/mcp-openarchieven.git
cd mcp-openarchieven

python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -r requirements.txt

uvicorn openarchieven_server:app --host 0.0.0.0 --port 8010

MCP HTTP端点将在以下位置可用:

http://localhost:8010/mcp

快速入门(Docker)

构建:

docker build -t mcp-openarchieven .

运行:

docker run -d --name mcp-openarchieven -p 8010:8010 mcp-openarchieven

MCP/MetaMCP集成

将此服务器配置为 可流式传输的HTTP MCP终点。

MetaMCP源条目示例:

{
  "type": "server",
  "id": "openarchieven",
  "name": "Open Archieven API",
  "endpoint": {
    "type": "streamable-http",
    "url": "http://mcp-openarchieven:8010/mcp"
  }
}

对于OpenWebUI+MetaMCP:

  • 类型: Streamable HTTP
  • 网址: http://mcp-openarchieven:8010/mcp

暴露的工具

所有工具返回:

  • status: "ok" 或 "error"
  • 关于成功:
    • raw:原始API JSON
    • normalized:简化的、面向法学硕士的结构

工具:

  • search_people –在档案中搜索人员/事件
  • search_people_all –相同,但获取所有页面
  • match_person –按姓名+出生年份完全匹配
  • get_record_details –详细的A2A记录(人员、事件、来源)
  • get_births_years_ago N年前出生的人列表
  • get_census_data –地方/市的人口普查数据
  • list_comments –用户对记录的评论

每个工具的详细信息记录在 docs/ENDPOINTS.md 和 docs/NORMALIZATION.md.


典型家谱工作流程

  1. 从开始 search_people 使用名称(可能还有地点/年份过滤器)。
  2. 检查 normalized.people 挑选有前途的候选人。
  3. 对于所选记录,请致电 get_record_details 随着 archive 和 identifier.
  4. 将人和事件与你的家谱记忆进行比较。
  5. 可选呼叫 get_census_data 为一个地方和一年提供历史背景。
  6. 使用 list_comments 看看其他研究人员是否添加了有用的注释。

许可证

MIT许可证。看 许可证.