关于 Nplg Catalog
Nplg Catalog 面向图书馆员、研究人员和读者,提供格鲁吉亚国家议会图书馆联合目录与数字馆藏的检索。它保留 MARC 字段结构,并提供包含扫描印刷品、论文和海报的数字馆藏搜索。
主要功能
- 01检索联合目录记录
- 02按资料类型筛选
- 03查看解析后的 MARC 字段
- 04搜索数字馆藏
- 05获取稳定的记录链接
适用场景
- 01查找格鲁吉亚语书目资料
- 02研究记录中的作者、主题与分类信息
- 03检索数字馆藏中的论文或海报
MCP 相关
作为 MCP 服务,它向客户端提供联合目录搜索、MARC 记录检索和数字馆藏搜索工具。可通过 Pipeworx 网关连接,也可作为本地 stdio MCP 服务运行。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/nplg-catalog/mcpclaude mcp add --transport http pipeworx-io-nplg-catalog https://gateway.pipeworx.io/nplg-catalog/mcp{"mcpServers":{"pipeworx-io-nplg-catalog":{"type":"http","url":"https://gateway.pipeworx.io/nplg-catalog/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-nplg-catalog":{"type":"http","url":"https://gateway.pipeworx.io/nplg-catalog/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-nplg-catalog":{"type":"http","url":"https://gateway.pipeworx.io/nplg-catalog/mcp"}}}{"mcpServers":{"pipeworx-io-nplg-catalog":{"serverUrl":"https://gateway.pipeworx.io/nplg-catalog/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
@pipeworx/nplg-catalog
格鲁吉亚国家议会图书馆的联合目录和数字图书馆——保留原始 MARC 格式的格鲁吉亚语书目记录,以及小型全文数字馆藏。
属于 Pipeworx——一个连接 AI Agent 与 1683+ 个实时数据源的 MCP 网关。
工具
nplg_search(query, index?, scope?, offset?)— 按关键词/标题/作者/主题搜索联合目录。返回真实总数(而非页面条目数),以及 50 条简要引文,每条都包含永久 Sierrabib_id、标题(格鲁吉亚语标题与平行拉丁字母标题分开显示,前提是记录中包含后者)、作者、出版信息、资料类型和稳定的目录 URL。scope取值 1-11,可按资料类型缩小范围——图书、期刊、地图、学位论文、档案文献、报纸和期刊文章。nplg_record_marc(bib_id)— 单条记录的解析后 MARC:记录头标、控制字段,以及保留独立指示符和子字段的所有数据字段;另附扁平化摘要(标题、作者、出版信息、语言、分类、主题、所属文献)。041 语言代码以及格鲁吉亚语/英语平行的 245 字段以结构化形式保留,而非合并成一个字符串。nplg_dlibrary_search(query, collection?, page?)— 数字图书馆:包含扫描版印刷品档案、学位论文和海报,每条结果都提供作者、发行日期、完整来源引文、格鲁吉亚语/俄语/英语主题标目、杜威主题分类和稳定的条目 URL。
身份验证
无需密钥。每个请求都无需凭据即可获得响应。
Sierra REST API v6.1.0 确实已在 catalog.nplg.gov.ge/iii/sierra-api/v6/ 上运行,但没有图书馆签发的客户端密钥/密码时会返回 401(OAuth2 客户端凭据通过 /v6/token 交换)。如果向 NPLG 申请一个密钥,就能将此工具包中的所有 HTML 解析替换为受支持的 JSON API,且不改变其他任何数据结构。
数据源
- https://catalog.nplg.gov.ge/search*eng/X?SEARCH=…&searchscope=1&SORT=D — 联合目录,后端为 Innovative Interfaces Sierra,使用经典 WebPAC Pro 前端(
Server: III 100)。 https://catalog.nplg.gov.ge/search~S<scope>*eng?/X<q>…/<first>%2C<total>%2C<total>%2CB/browse— III 的原生偏移游标。- https://catalog.nplg.gov.ge/search*eng/.b4972685/.b4972685/1%2C1%2C1%2CB/marc
— 单条记录的 MARC,使用
|作为子字段分隔符。 - http://www.nplg.gov.ge/dlibrary/search.html?qs=…&co=0&pg=1 — 数字图书馆。
co表示馆藏(0 为全部,1 为印刷品档案,2 为学位论文,3 为海报),pg表示从 1 开始编号、每页 10 条的页码。
否则下一个人也会费力才能发现的事情
短语索引不会返回记录。 /search*eng/t、/a 和 /d
返回状态码 200,并提供按字母排序的标题列表,没有任何简要引文——
看起来像是没有返回结果的标题搜索。记录来自关键词索引,查询中要使用 III 自带的字段限定符:t:(tbilisi)、
a:(abashidze)、d:(tbilisi)。这里的 index: 就是这么用的。
偏移量游标会在 URL 中携带结果总数,即使总数填错,仍然会返回记录。 51,2896,2896,B 这个三元组表示 first,last,total。传入与搜索结果不符的总数,仍会得到状态码 200 和记录,但响应头中的总数却毫无依据——记录本身没错,但它所分页的结果总量是错的。因此,偏移量请求会先从第一页读取真实总数,再请求对应偏移量;这会多花一次请求,也是唯一能确保分页准确的方式。
游标路径中的 ~S<scope> 必须与 searchscope= 匹配。 两处的数字相同,而真正限定浏览范围的是路径中的那个。
格鲁吉亚文以数字字符引用的形式返回。 大部分标记使用的是 მ,而非 UTF-8;MARC 标点则以 ; / " 的形式返回。只认识 & 等实体的解码器会产生乱码,但解析仍然能顺利完成。
无匹配项的搜索会返回状态码 200,并附带 “NO ENTRIES FOUND”,以及“是否要找”的提示区块,而不是 404。该工具包会报告 total: 0 并附带说明;其他任何解析后记录数为零的情况都会报错,因为无法区分静默返回空列表和页面布局发生变化。
简要引文有一行或两行,而只有一行表示没有作者。 没有 100 字段的记录只显示出版信息,因此如果把第一行当作作者,就会把“თბილისი, 2023.”归档为一个人名。
MARC 列位置至关重要。 标签位于第 0–2 列,指示符位于第 4–5 列,数据从第 7 列开始,换行内容缩进 7 列。任何剥离标签并替换为空格的操作都会使列位置偏移,导致每个字段都错一位。
/search*geo 将 MARC 记录头标为 ლიდერი,结果标题也使用格鲁吉亚文;/search*eng 则显示 LEADER 和 Keywords (1-50 of 2896)。两者返回的记录完全相同,因此该工具包只为确保标签稳定而请求英文界面。
行不通的路,免得其他人再走一遍
dspace.nplg.gov.ge— 一个 DSpace 实例,若能正常运行,本可提供 OAI-PMH 和 REST API。2026-09-10 上午,该站点所有路径均由 Apache 返回 503;同一天再次探测时,所有路径(/、/rest/communities、/server/api、/oai/request?verb=Identify、/jspui/)均由 Apache 返回 404。Web 服务器后面仍然没有应用;只是故障的表现形式变了。在有人认定这个工具包的数字图书馆部分已经做到最好之前,值得再次探测。www.nplg.gov.ge/ec/ka/*— 较早的电子目录,返回 403。geoclassic.nplg.gov.ge— 格鲁吉亚古典音乐的 WooCommerce 商店。它确实提供wp-json,但这是商店,不是目录。
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"nplg-catalog": {
"url": "https://gateway.pipeworx.io/nplg-catalog/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/nplg-catalog/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 共享元工具——ask_pipeworx、
discover_tools、search_within、remember/recall 和网关范围内的其他工具。因此,你看到的工具数量会多于表格中的数量:目前,单个工具包端点除了列出该工具包自身的工具外,还会列出大约 30 个共享工具。连接的 initialize 响应会说明其确切范围,是了解当天实际情况的权威依据。
这是有意为之,并非意外复用。元工具可以让限定范围的连接回答此工具包未涵盖的问题——通过 ask_pipeworx 跨整个目录路由——无需再添加第二个 MCP 服务。目前无法挂载不带这些元工具的工具包端点;如果额外的架构定义消耗的上下文多于路由功能带来的价值,请连接一次完整网关,而不是连接多个工具包端点。
或者,连接完整的 Pipeworx 网关,直接列出每个工具包的工具,而不只是此工具包的工具:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
两个 URL 都连接到同一个网关和相同的 1683+ 个数据源。唯一的区别是直接列出哪个工具包的工具;无论连接哪一个,ask_pipeworx 都能访问所有工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/nplg_search \
-H 'Content-Type: application/json' \
-d '{"query":"tbilisi"}'
首次调用无需账户。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/nplg_search。查找工具包:使用 {"query":"..."} 向 https://gateway.pipeworx.io/v1/tools/search_packs 发送 POST 请求。
独立运行(无需网关账户)
此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需经过网关:
{
"mcpServers": {
"nplg-catalog": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-nplg-catalog"]
}
}
}
或者直接运行,以确认它能够启动:
npx -y @pipeworx/mcp-nplg-catalog
它通过 stdin/stdout 使用 MCP 通信,并针对仅此工具包的工具响应 initialize/tools/list/tools/call——不包含上文网关连接额外提供的任何共享元工具。代码相同,工具相同,但没有 ask_pipeworx 路由功能。
使用 ask_pipeworx
你可以用通俗易懂的语言提问,而不是直接调用工具——上述工具包端点和完整网关都支持此功能:
ask_pipeworx({ question: "your question about Nplg Catalog data" })
网关会自动选择合适的工具并填入参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。