primo-mcp 服务器
用于Ex-Libris Primo图书馆发现的MCP服务器——通过模型上下文协议搜索大学目录和订阅数据库(ProQuest、Elsevier、Crossref、Gale、Springer、IEEE等)。
特性
- 搜索 完整的大学目录和Primo中央索引(数百万条记录)
- 获取记录详细信息 包括摘要、作者、标识符和可用性
- 自动补全 搜索建议
- 生成引用 APA第七届、哈佛、芝加哥、IEEE和温哥华风格
- 出口 到BibTeX、RIS或CSV以导入参考管理器
安装
git clone https://github.com/geheharidas/primo-mcp-server.git
cd primo-mcp-server
pip install -e .在克劳德代码中注册
添加 ~/.claude/settings.json:
{
"mcpServers": {
"primo": {
"command": "python",
"args": ["-m", "primo_mcp_server"]
}
}
}重新启动克劳德代码。工具将显示为 mcp__primo__primo_search等等。
工具
| 工具 | 说明 |
|---|---|
primo_search | 使用过滤器(类型、日期、同行评审)搜索图书馆目录 |
primo_get_record | 按ID获取记录的完整详细信息 |
primo_suggest | 自动完成搜索建议 |
primo_cite | 生成格式化引文(APA7、哈佛、芝加哥、IEEE、温哥华) |
primo_export | 将记录导出为BibTeX、RIS或CSV |
用法示例
来自Claude Code的对话:
- “在图书馆搜索2020年后发表的关于创业中的机器学习的文章”
- “获取记录cdi_crossref_primary_10_1234的完整详细信息”
- “为这些记录生成APA7引用”
- “将搜索结果导出为BibTeX”
配置
UWA(西澳大利亚大学)设置了默认值。通过环境变量进行覆盖:
| 变量 | 默认值 | 描述 |
|---|---|---|
PRIMO_BASE_URL | https://onesearch.library.uwa.edu.au/primaws/rest/pub API 基础 URL。 | |
PRIMO_VID | 61UWA_INST:NDE_UWA | Primo视图ID |
PRIMO_INSTITUTION_NAME | UWA | 显示名称 |
PRIMO_REQUEST_TIMEOUT | 30.0 | HTTP超时(秒) |
PRIMO_MAX_RESULTS_PER_REQUEST | 50 | 每次搜索的最大结果数 |
PRIMO_DEFAULT_RESULTS | 10 | 每次搜索的默认结果 |
看 .env.example 查看完整列表。
运行测试
pip install -e ".[dev]"
pytest tests/ -v许可证
麻省理工学院
