图书馆目录搜索服务器

一款用于Ex Libris Primo图书馆发现系统的MCP服务器,可搜索大学目录和订阅数据库(如ProQuest、Elsevier、Crossref等),并提供记录详情、自动完成搜索建议、生成引用和导出功能。

  • by geheharidas
  • Python
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 geheharidas/primo-mcp-server

使用说明

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

许可证

麻省理工学院