Token导航 LogoToken导航

MCP Server · 搜索检索

Z3950 MCP

一个快速、高效的MCP服务器,用于搜索多个支持Z39.50的图书馆系统的目录。

stdio官方级别未说明来源级核验工具 6
PythonClaude搜索Claude Desktop

快速开始

作者 / 组织
codefzer
提供方
codefzer

工具数量

6

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Z3950 MCP 属于搜索检索类 MCP Server,公开资料标注 6 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

搜索检索

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install -r requirements.txt

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 6 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

Z39.50库系统MCP服务器

快速、高效的MCP(模型上下文协议)服务器,用于在多个启用Z39.50的库系统中搜索库目录。

特性

  • 快速并行搜索:使用异步I/O同时查询多个库
  • 多图书馆系统:美国国会图书馆、OCLC WorldCat、学术图书馆网络
  • 丰富的搜索选项:标题、作者、ISBN、主题、关键字搜索
  • 可用性检查:查找哪些图书馆有特定的书籍
  • 详细记录:检索全面的书目信息
  • MARC导出:下载二进制MARC、JSON或XML格式的记录
  • 结果重复数据删除:跨库智能合并结果
  • 连接池:持久连接可实现最佳性能

快速开始

安装

# Install dependencies
pip install -r requirements.txt

运行服务器

# Start the MCP server
python server.py

# With debug logging
python server.py --debug

与Claude Desktop一起使用

添加到您的Claude Desktop配置中:

{
  "mcpServers": {
    "z3950": {
      "command": "python",
      "args": ["/path/to/Z3950/server.py"]
    }
  }
}

然后重新启动Claude Desktop,Z39.50工具将可用。

可用工具

搜索库

跨多个图书馆系统搜索。

search_libraries(
  query: "Harry Potter",
  libraries: "loc,worldcat",        # Optional: defaults to all
  query_type: "title",              # title, author, isbn, subject, keyword
  max_results: 50
)

示例:

  • 按标题查找书籍: search_libraries("The Great Gatsby", query_type="title")
  • 按作者查找书籍: search_libraries("Stephen King", query_type="author")
  • 按ISBN查找: search_libraries("978-0-262-03384-8", query_type="isbn")

check_可用性

查一下哪些图书馆有书。

check_availability(
  isbn: "978-0-262-03384-8",
  libraries: "loc,worldcat"         # Optional: defaults to all
)

返回每个库的可用性状态和呼叫号码。

获取记录细节

获取全面的书目信息。

get_record_details(
  isbn: "978-0-262-03384-8",
  library: "loc"
)

返回详细的元数据,包括作者、出版商、主题、出版年份等。

浏览_主题

浏览可用的主题类别。

browse_subjects(
  library: "loc",
  subject_prefix: "History",
  limit: 20
)

list_librarys

获取有关可用库系统的信息。

list_libraries()

export_marc_record

下载MARC记录供本地使用。

export_marc_record(
  isbn: "978-0-262-03384-8",
  library: "loc",
  format: "binary"                  # binary, json, or xml
)

可用的库

美国国会图书馆(loc)

  • 主机:z3950.网址:7090
  • 数据库:旅行者号
  • 描述:世界上最大的图书馆,藏书丰富

OCLC WorldCat(世界猫)

  • 主机:z3950.oclc.org:210
  • 数据库:世界猫
  • 描述:世界上最大的图书馆目录,包含来自数千家图书馆的记录

I-Share财团(I-Share)

  • 主机:伍芬德。卡利。伊利诺伊州。教育程度:210
  • 数据库:i-share
  • 描述:伊利诺伊州学术图书馆网络,内容来自主要大学

前Libris Alma(Alma模板)

  • 主机:z3950.阿拉木图图书馆集团网站:1921
  • 描述:现代图书馆管理系统(需要institution_id配置)

配置

库配置位于 config/libraries.json。要添加新库,请执行以下操作:

{
  "my-library": {
    "name": "My Library System",
    "host": "z3950.mylib.edu",
    "port": 210,
    "database": "mylibdb",
    "preferred_syntax": "USMARC",
    "timeout": 5,
    "max_records": 100
  }
}

性能优化

服务器针对速度进行了优化:

  1. 异步并行查询:同时查询多个库
  2. 连接池:持久连接消除了握手开销
  3. 智能超时:在慢速服务器上发生快速故障时超时5秒
  4. 二进制MARC:首选格式(比JSON/XML更快)
  5. 懒惰解析:默认情况下仅提取所需字段
  6. 结果重复数据删除:O(1)通过ISBN/控制号进行重复检测
  7. 流媒体结果:增量结果交付

绩效目标:

  • 单库搜索:\=0.1.0):MCP服务器框架
  • 皮马克 (>=5.0.0):MARC记录处理
  • 层 (>=3.11):查询解析器(PLY-Python Lex Yacc)

所有Z39.50协议实现都是纯Python,没有编译依赖关系。

搜索语法

通用命令语言

该系统使用CCL进行直观搜索:

  • 标题: title="The Great Gatsby"
  • 作者: author="F. Scott Fitzgerald"
  • 国际标准书号: isbn="978-0-7432-7356-5"
  • 主题: subject="American fiction"
  • 关键词: keyword="gatsby"
  • 出版商: publisher="Scribner"
  • 年: year="1925"

多种条件

与AND/OR结合:

  • author="Shakespeare" AND title="Hamlet"
  • subject="History" OR subject="Biography"

发展

运行测试

# All tests
python -m pytest tests/ -v

# With performance benchmarks
python -m pytest tests/ -v --benchmark

# Specific test file
python -m pytest tests/test_search.py -v

添加新库

  1. 编辑 config/libraries.json
  2. 测试连接: python -c "from z3950_client.connection_pool import AsyncConnectionPool; pool = AsyncConnectionPool(); print(asyncio.run(pool.test_connection('my-lib')))"
  3. 重启服务器

调试模式

运行调试日志:

python server.py --debug

故障排除

连接超时

  • 检查图书馆是否在线: list_libraries() 验证配置
  • 增加超时时间 config/libraries.json
  • 尝试特定库而不是全部库

未找到结果

  • 尝试不同的搜索类型(标题与关键字)
  • 检查ISBN格式(可能需要删除连字符)
  • 一些图书馆的藏书有限

MARC分析错误

  • 确保库返回USMARC格式
  • 尝试不同的查询以获取不同的记录
  • 联系库支持以进行格式配置

参考文献

许可证

此项目包含从开源PyZ3950中提取的代码。请参阅各个文件头以了解归属。

贡献

要添加新功能或修复错误:

  1. 创建测试用例
  2. 实现该功能
  3. 确保所有测试通过
  4. 更新文档

支持

对于以下问题:

工具与能力

工具数量

6

资源数量

0

提示词数量

0

能力标签

图书馆目录Python本地部署Z39.50协议并行搜索MARC记录书目检索

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 只提供 6 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Z3950 MCP

MCP World · 本页

6stdio有1 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Z3950 MCP 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Z3950 MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Z3950 MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Z3950 MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Z3950 MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP