家族史研究服务

通过MCP协议实现多源家族史数据检索,支持新闻档案、家谱协作平台及墓志铭记录查询。

  • by ibarrajo
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ibarrajo/research-sources-mcp

使用说明

研究来源MCP服务器

通过MCP搜索Claude Code的外部家谱源

通过克劳德的模型上下文协议搜索报纸、维基树、开放档案和寻找家族史研究的坟墓。

特征

  • 🗞️ 记录美国 -国会图书馆报纸检索(1789-1963)
  • 🌳 维基树 -协作家谱树集成
  • 📚 开放档案 -荷兰、比利时和法国的历史记录
  • ⚰️ 寻找坟墓 -通过FamilySearch收藏的墓地和埋葬记录
  • 🔍 交叉引用 -并行搜索所有来源

安装

通过克劳德桌面

添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "research-sources": {
      "command": "node",
      "args": ["/path/to/research-sources-mcp-standalone/dist/index.js"]
    }
  }
}

通过Docker

docker run -it research-sources-mcp

来源

git clone https://github.com/ibarrajo/research-sources-mcp
cd research-sources-mcp
npm install
npm run build

可用工具

工具 说明
search_newspapers 按查询、州和日期范围搜索《美国纪事报》
get_newspaper_page 从特定报纸页面获取完整的OCR文本
search_wikitree 搜索WikiTree协作家谱树
get_wikitree_person 获取某人的详细WikiTree个人资料
search_open_archives 搜索欧洲历史记录(荷兰语、比利时语、法语)
search_findagrave_via_fs 通过FamilySearch收藏搜索查找坟墓埋葬记录
cross_reference_person 并行搜索所有来源以进行全面研究

使用示例

在报纸上寻找祖先

询问克劳德代码:

Search for obituaries for "John Smith" in California newspapers between 1920-1930

克劳德将使用:

search_newspapers({
  query: "John Smith obituary",
  state: "California",
  start_date: "1920-01-01",
  end_date: "1930-12-31"
})

所有来源的交叉引用

询问克劳德代码:

Search all available sources for Maria Garcia, born 1845 in Jalisco, Mexico

克劳德将使用:

cross_reference_person({
  given_name: "Maria",
  surname: "Garcia",
  birth_year: "1845",
  birth_place: "Jalisco, Mexico",
  sources_to_search: ["all"]
})

查找埋葬记录

询问克劳德代码:

Find the grave for Antonio Lopez who died in San Diego around 1950

克劳德将使用:

search_findagrave_via_fs({
  given_name: "Antonio",
  surname: "Lopez",
  death_place: "San Diego",
  death_year: "1950"
})

发展

# Clone repository
git clone https://github.com/ibarrajo/research-sources-mcp
cd research-sources-mcp

# Install dependencies
npm install

# Run in development mode
npm run dev

# Build
npm run build

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Lint
npm run lint

# Format code
npm run format

建筑

  • TypeScript -严格模式下的类型安全开发
  • MCP-SDK -官方模型上下文协议集成
  • SQLite -本地缓存搜索结果以提高性能
  • 外部API -大多数来源不需要身份验证
    • 美国API(美国国会图书馆)
    • 维基树API
    • OpenArch.nl API
    • FamilySearch收藏(查找坟墓索引)

数据流

Claude Code
    ↓
MCP Protocol (stdio)
    ↓
research-sources-mcp
    ↓
┌─────────────┬──────────────┬────────────┬──────────────┐
│ Chronicling │   WikiTree   │    Open    │ Find A Grave │
│  America    │              │  Archives  │   (via FS)   │
└─────────────┴──────────────┴────────────┴──────────────┘
    ↓
SQLite Cache (sources-cache.sqlite)

工具参考

search_newspapers

搜索《美国纪事报》的报纸收藏。

参数:

  • query (必填):搜索词(姓名、关键字)
  • state (可选):美国州缩写(例如“CA”、“NY”)
  • start_date (可选):开始日期(YYYY-MM-DD)
  • end_date (可选):结束日期(YYYY-MM-DD)
  • page (可选):结果页码

退货: 包含标题、日期、页面、OCR文本片段和URL的报纸文章数组

get_newspaper_page

从报纸页面获取完整的OCR文本。

参数:

  • lccn (必填):美国国会图书馆控制编号
  • date (必填):发布日期(YYYY-MM-DD)
  • edition (可选):版本号
  • page (必填):页码

退货: 完整的OCR文本和元数据

search_wikitree

搜索WikiTree协作家谱树。

参数:

  • first_name (可选):给定名称
  • last_name (必填):姓氏
  • birth_date (可选):出生年份(YYYY)
  • birth_location (可选):出生地
  • death_date (可选):死亡年份(YYYY)
  • death_location (可选):死亡地点

退货: 带有ID和基本信息的匹配WikiTree配置文件数组

get_wikitree_person

获取详细的WikiTree个人资料。

参数:

  • wikitree_id (必填):维基树个人ID(例如“Smith-12345”)

退货: 完整的个人资料,包括传记、关系、来源、照片

search_open_archives

搜索欧洲历史记录。

参数:

  • first_name (可选):给定名称
  • last_name (必填):姓氏
  • birth_year (可选):出生年份
  • country_code (可选):国家(荷兰、比利时、法国)
  • source_type (可选):公民登记、教堂记录、公证记录

退货: 带有图像链接的匹配记录数组

search_findagrave_via_fs

搜索查找坟墓埋葬记录。

参数:

  • given_name (可选):给定名称
  • surname (必填):姓氏
  • birth_year (可选):出生年份
  • death_year (可选):死亡年份
  • burial_place (可选):墓地位置

退货: 带照片和GPS的Find A Grave纪念记录阵列

cross_reference_person

并行搜索所有来源。

参数:

  • given_name (必填):给定名称
  • surname (必填):姓氏
  • birth_year (可选):出生年份
  • birth_place (可选):出生地
  • death_year (可选):死亡年份
  • death_place (可选):死亡地点
  • sources_to_search (可选):源名称数组或[“all”]

退货: 所有请求来源的汇总结果

贡献

欢迎投稿!请看 贡献.md 发展指南。

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

积分

作为FamilySearch家谱研究系统的一部分而构建。用于全面家谱研究的MCP服务器套件的一部分:

链接

支持