使用说明
研究来源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服务器套件的一部分: