io.github.FreyaBit/shanghai-library-open-data-mcp
PYPI · SHANGHAI-LIBRARY-OPEN-DATA-MCP · SCANNED SEP 16
上海图书馆开放数据检索 MCP:纪年/家谱/建筑/红色事件/99 个 webapi + 搜韵诗词,支持 stdio 与 HTTP。
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security50
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 39 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability74
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1581 tokens (~131/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
- Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the io.github.FreyaBit/shanghai-library-open-data-mcp server?
io.github.FreyaBit/shanghai-library-open-data-mcp runs locally as a PyPI package, launched with uvx shanghai-library-open-data-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · shanghai-library-open-data-mcp
claude mcp add freyabit-shanghai-library-open-data-mcp -- uvx shanghai-library-open-data-mcp
{
"mcpServers": {
"freyabit-shanghai-library-open-data-mcp": {
"command": "uvx",
"args": [
"shanghai-library-open-data-mcp"
]
}
}
} {
"servers": {
"freyabit-shanghai-library-open-data-mcp": {
"command": "uvx",
"args": [
"shanghai-library-open-data-mcp"
]
}
}
} codex mcp add freyabit-shanghai-library-open-data-mcp -- uvx shanghai-library-open-data-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"freyabit-shanghai-library-open-data-mcp": {
"type": "local",
"command": [
"uvx",
"shanghai-library-open-data-mcp"
],
"enabled": true
}
}
} openclaw mcp add freyabit-shanghai-library-open-data-mcp --command uvx --arg shanghai-library-open-data-mcp
mcp_servers:
freyabit-shanghai-library-open-data-mcp:
command: "uvx"
args: ["shanghai-library-open-data-mcp"] {
"McpServers": {
"freyabit-shanghai-library-open-data-mcp": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"shanghai-library-open-data-mcp"
]
}
}
} assistant mcp add freyabit-shanghai-library-open-data-mcp -t stdio -c uvx -a shanghai-library-open-data-mcp
{
"mcpServers": {
"freyabit-shanghai-library-open-data-mcp": {
"command": "uvx",
"args": [
"shanghai-library-open-data-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 14 Sept 26 +13
- Malware scan: unverified → pass ▲ security
- Stability: pass → 0.80 functional
- 13 Sept 26 0
- Stability: 0.97 → pass security
- 12 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 9 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 8 Sept 26 −2
- Stability: pass → 0.83 functional
- 7 Sept 26 0
- Stability: 0.97 → pass security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 16 Sept 2026 · Analysed pypi/shanghai-library-open-data-mcp@1.3.2
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 0 packages
| Packages resolved | 0 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
slc_api ~219
通用分发器:调用 api_2025 注册的全部 webapi 接口(家谱/古籍/盛档/人名库/碑帖/电影/期刊/舆图/书目/地名志/武康路 等 99 个)。endpoint 填接口 id;params 填查询参数(JSON);path_args 填路径占位 {0}{1};key 填你自己的上海图书馆开放数据 APIKey(必填)。先用 slc_endpoints 查 id。
| Name | Type | Req | Description |
|---|---|---|---|
| endpoint | string | yes | 接口 id 或 家族名(取该家族首个接口),如 work_data / 武康路历史 |
| key | string | – | 上海图书馆开放数据 APIKey(必填) |
| params | object | – | 查询参数(JSON 对象),如 {'freetext':'江南','pageNum':1} |
| path_args | array | – | 路径占位 {0}{1} 的取值列表 |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | 接口返回的 JSON 数据,具体结构随接口而异 |
| status | integer | – | HTTP/业务状态码(200 表示成功) |
| text | string | – | 非 JSON 响应时的原始文本(已截断) |
No examples provided.
slc_building ~72
武康路历史建筑检索(已验证可用):按路名/建筑关键词检索。需传入 key。
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | – | 上海图书馆开放数据 APIKey(必填) |
| keyword | string | yes | 路名/建筑关键词,如 武康路 |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | 接口返回的 JSON 数据,具体结构随接口而异 |
| status | integer | – | HTTP/业务状态码(200 表示成功) |
| text | string | – | 非 JSON 响应时的原始文本(已截断) |
No examples provided.
slc_datasets ~52
数据集与第三方机构总览:上海图书馆核心平台、搜韵诗词、韬奋纪念馆、Artlib、CBDB、全国报刊索引等。
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| 主题 | string | – | – |
| 方向 | array | – | – |
| 核心平台(需Key) | object | – | – |
| 离线包 | string | – | – |
| 第三方机构(部分) | object | – | – |
No examples provided.
slc_endpoints ~64
列出全部可用 webapi 接口(id/家族/路径/参数),可按 family 过滤。用于发现能力。
| Name | Type | Req | Description |
|---|---|---|---|
| family | string | – | 可选:按家族过滤,如 古籍循证 / 武康路历史 |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | – | 可用接口数量 |
| endpoints | array | – | – |
No examples provided.
slc_era ~110
中国历史纪年表:输入朝代/年号返回公元年范围,或反之。例:明 -> 1368~1644。需传入 key(你自己的上海图书馆开放数据 APIKey)。
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | – | 上海图书馆开放数据 APIKey(必填,也可走环境变量 SLC_API_KEY) |
| term | string | yes | 朝代/年号/公元年,如 明、洪武、1369 |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | 接口返回的 JSON 数据,具体结构随接口而异 |
| status | integer | – | HTTP/业务状态码(200 表示成功) |
| text | string | – | 非 JSON 响应时的原始文本(已截断) |
No examples provided.
slc_jiapu ~87
家谱谱目检索(data1 平台):可按谱名或姓氏检索家谱。需传入 key。
| Name | Type | Req | Description |
|---|---|---|---|
| familyname | string | – | 姓氏,如 王 |
| key | string | – | 上海图书馆开放数据 APIKey(必填) |
| title | string | – | 谱名关键词,如 王氏家谱 |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | 接口返回的 JSON 数据,具体结构随接口而异 |
| status | integer | – | HTTP/业务状态码(200 表示成功) |
| text | string | – | 非 JSON 响应时的原始文本(已截断) |
No examples provided.
slc_raw ~108
任意 data1.library.sh.cn 路径的 GET 兜底调用:当专属工具或 slc_api 不满足时使用。需传入 key。
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | – | 上海图书馆开放数据 APIKey(必填) |
| params | object | – | 查询参数(JSON 对象),如 {'freetext':'兰亭','pageNum':1} |
| path | string | yes | 接口路径,如 /webapi/beitie/search |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | 接口返回的 JSON 数据,具体结构随接口而异 |
| status | integer | – | HTTP/业务状态码(200 表示成功) |
| text | string | – | 非 JSON 响应时的原始文本(已截断) |
No examples provided.
slc_red_event ~84
红色旅游/历史事件检索:按关键词或年份检索。需传入 key。
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | 年份,如 1940(与 keyword 二选一) |
| key | string | – | 上海图书馆开放数据 APIKey(必填) |
| keyword | string | – | 事件关键词,如 中共一大会址 |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | 接口返回的 JSON 数据,具体结构随接口而异 |
| status | integer | – | HTTP/业务状态码(200 表示成功) |
| text | string | – | 非 JSON 响应时的原始文本(已截断) |
No examples provided.
slc_sparql ~42
SPARQL 图查询说明:该平台 Key 仅网页端可用,本工具返回友好提示与替代方案而非报错。
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| note | string | – | 说明与替代调用建议 |
| status | string | – | 固定为 blocked |
No examples provided.
souyun_couplet ~58
搜韵对仗词汇(免 token):返回与输入字/词对仗的词汇,用于写对仗句。
| Name | Type | Req | Description |
|---|---|---|---|
| word | string | yes | 字或词,如 人间 / 月 |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | 接口返回的 JSON 数据,具体结构随接口而异 |
| status | integer | – | HTTP/业务状态码(200 表示成功) |
| text | string | – | 非 JSON 响应时的原始文本(已截断) |
No examples provided.
souyun_poem ~160
搜韵诗词检索(免 token):按作者/标题/诗句/朝代/体裁/韵部查诗词,服务于 AIGC 歌词与创作。
| Name | Type | Req | Description |
|---|---|---|---|
| dynasty | string | – | 朝代,如 Tang / Song |
| keyword | string | yes | 关键词或诗 ID,如 王之涣 / 登鹳雀楼 / 7734 |
| pageno | integer | – | 页码,从 1 开始 |
| rhyme | string | – | 韵部,如 江 / 尤 |
| scope | string | – | 检索范围:All / Author / Title / Sentence |
| type | string | – | 体裁,如 QiLv / WuJue |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | 接口返回的 JSON 数据,具体结构随接口而异 |
| status | integer | – | HTTP/业务状态码(200 表示成功) |
| text | string | – | 非 JSON 响应时的原始文本(已截断) |
No examples provided.
souyun_rhyme ~91
搜韵韵典(免 token):查字所属韵部、词末/词首典故、句末诗例。
| Name | Type | Req | Description |
|---|---|---|---|
| char | string | yes | 韵字,如 天 / 月 |
| qtype | integer | – | 0全部 1韵目 2词末典故 3词首 4词末 5句末诗例 |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | 接口返回的 JSON 数据,具体结构随接口而异 |
| status | integer | – | HTTP/业务状态码(200 表示成功) |
| text | string | – | 非 JSON 响应时的原始文本(已截断) |
No examples provided.
What is the io.github.FreyaBit/shanghai-library-open-data-mcp server?
io.github.FreyaBit/shanghai-library-open-data-mcp is listed in the public MCP registry as io.github.FreyaBit/shanghai-library-open-data-mcp. 上海图书馆开放数据检索 MCP:纪年/家谱/建筑/红色事件/99 个 webapi + 搜韵诗词,支持 stdio 与 HTTP。 This page covers its PyPI package (shanghai-library-open-data-mcp).
Is the io.github.FreyaBit/shanghai-library-open-data-mcp server safe to use?
io.github.FreyaBit/shanghai-library-open-data-mcp scores 68 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 16 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.FreyaBit/shanghai-library-open-data-mcp server expose?
io.github.FreyaBit/shanghai-library-open-data-mcp exposes 12 tools: slc_era, slc_jiapu, slc_building, slc_red_event, slc_api, and 7 more. Their descriptions and schemas cost roughly 1,147 tokens of context every time the server is loaded.
Is the io.github.FreyaBit/shanghai-library-open-data-mcp server still maintained?
io.github.FreyaBit/shanghai-library-open-data-mcp is still listed as active in the MCP registry. We last reached this channel on 16 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.FreyaBit/shanghai-library-open-data-mcp server under?
io.github.FreyaBit/shanghai-library-open-data-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.