dsh-paper-access
Accepts paper DOIs (e.g. 10.1016/j.aei.2025.103527) as the query key for checking whether a school's library subscribes to the corresponding journal, returning an electronic/print-holdings verdict plus clickable links — never downloading the full text.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@dsh-paper-access10.1016/j.aei.2025.103527 学校订了吗?给我能自己点开的链接"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
dsh-paper-access
查「这本刊 / 这篇论文,学校订没订」,并给出可以自己点开的网址。只查不下。
给 DeepSeek Harness 的插件:一个 MCP server(5 个查询工具)
一个「选学校」配置面板。也支持多所学校。
🔴 本项目永不下载任何全文。 它只回答「学校订没订」,然后把链接交给你自己点。 图书馆的订阅资格是有风险的——早稻田大学 2025-03-17 的停服通报,诱因就是 文献管理软件的自动下载功能。详见 CONTRIBUTING.md 的红线一节。
能干什么
你说 | 工具 | 回答 |
找几篇 LLM 做车间调度的论文 |
| 一批候选 + 每篇的刊级馆藏标注 |
|
| 有电子 / 只有纸本 / 问不到 + 链接 |
查一下 Journal of Manufacturing Systems |
| 几份电子、几份纸本 |
学校买了哪些数据库 |
| 清单 + 哪些开了 CARSI |
有哪些电子期刊包 |
| 刊包与刊数 |
外加一个 DSH 面板(插件面板 →「已安装」→ dsh-paper-access)选当前学校。 选完立刻生效——不用重启,改完的学校马上反映到所有查询里。
实际长什么样
## 「large language model job shop scheduling」的候选文献(5 篇)
1. **MASC: Large language model-based multi-agent scheduling chain for flexible
job shop scheduling problem**
Wang、Wan、Liu 等 · 2025 · Advanced Engineering Informatics · 🟢 电子 2 份
DOI: 10.1016/j.aei.2025.103527
...标记含义:🟢 有电子 · 🟡 仅纸本 · ⚪ 刊级没查到 · 无标记 = 这篇没 ISSN,查不动。
Related MCP server: paper-search
怎么装
DeepSeek Harness
插件面板 → 添加插件 → 填 github:Mrizhou/dsh-paper-access装完两样东西一起就有了:MCP 工具 + 选学校面板。不需要手填路径——
bundle 自己会定位 server.py(先看 DSH_PROFILE_DIR,取不到就按 DSH_HOME 扫)。
万一对你的环境不生效,在你的 ~/.dsh/profiles/<profile>/cordis.patch.yml 里
用同 id 覆盖(注意不写 insert:):
- id: mcp-paper-access
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: papers
transport: stdio
command: python
args: ['D:/绝对路径/到/本仓库/server.py']
toolCallTimeoutMs: 120000
failOnStartupError: false只要 MCP(Claude Code / Codex / 任何 MCP 客户端)
本仓库的 server.py 是零第三方依赖的 stdio MCP server,可以单独用:
{
"mcpServers": {
"papers": {
"command": "python",
"args": ["/绝对路径/到/dsh-paper-access/server.py"]
}
}
}Python ≥ 3.10,只用标准库。
怎么用
直接说人话就行,不用记工具名:
找几篇 LLM 做生产调度的论文,看学校能拿到哪些
这篇
10.1016/j.aei.2025.103527学校订了吗,给我能点开的链接
想知道某一篇到底能不能下:用 search_papers 找候选 → 挑出想要的 DOI →
交给 check_paper。前者是「这批里学校订了哪本刊」,后者是「这一篇的结论 + 链接」。
三个必须知道的限制
馆藏结论是「刊级」的。 学校的发现系统只索引到期刊,不索引单篇论文 (实测:篇名查
numFound恒为 0)。所以「🟢 电子 2 份」说的是这本刊学校有 2 份电子, 不是「这一篇你一定能下」。要确认某一篇,用check_paper。中文论文检索很弱。
search_papers走 Crossref,以英文题录为主。 中文文献请直接用知网/万方。它是核对工具,不是学术搜索引擎。 结果按相关度排,不看引用数、不筛顶刊。 挑哪几篇是你的判断。
另一个诚实的边界:查询有时会回答「问不到」——元数据里既没 ISSN 也没刊名时 (会议论文集、预印本常这样),没有可查的键。「问不到」不等于「学校没订」, 本项目绝不会把前者冒充成后者。
多所学校
一校一目录:schools/<id>/school.json + schools/<id>/data/。
加新学校见 schools/README.md —— 包括怎么找发现系统、
怎么取馆代码(有坑)。
ready: false 的学校在面板里不可选,查询时会打横幅警告「结论不可作为『学校没订』的依据」。
宁可显示「还没弄好」,也不让半成品冒充可用。
目前支持的学校(18 所)
全部是图星/超星 libsp 发现系统,匿名可查(不需要登录),均已在 CARSI 联邦内。
2026-09-27 逐一所实测过 journal/navInfo,馆代码都是真的。
学校 | id | 发现系统 | 馆代码 |
上海海事大学 |
|
| 201437 |
上海大学 |
|
| 201578 |
同济大学 |
|
| 201571 |
华东师范大学 |
|
| 200300 |
华东理工大学 |
|
| 200080 |
华东政法大学 |
|
| 200283 |
东华大学 |
|
| 201183 |
上海海洋大学 |
|
| 201198 |
上海理工大学 |
|
| 200291 |
上海师范大学 |
|
| 200471 |
上海外国语大学 |
|
| 200975 |
上海财经大学 |
|
| 201032 |
上海对外经贸大学 |
|
| 201096 |
上海工程技术大学 |
|
| 200785 |
上海电力大学 |
|
| 200499 |
上海第二工业大学 |
|
| 200744 |
上海电机学院 |
|
| 201512 |
上海政法学院 |
|
| 200124 |
已排除的:上海交通大学、上海立信会计金融学院 —— 实测发现系统里
journal/navInfo 返回 totalNum=0(接口通、馆代码有效,但没有刊级数据)。
它们的所有查询都会返回空,被读成「学校没订」。「查不到」不等于「没订」,
所以本项目暂不收录,等找到本入口之外的数据源再说。
其它学校的已知限制:
⚠️ 馆藏标注是刊级的,不保证「这一篇一定能下」(见上「三个必须知道的限制」)
⚠️ 这些学校的
library.base/identity.idp_entity_id尚未查,所以 文献传递 / 校外访问链接不显示、CARSI 深链不拼(只给出版商原文页)⚠️
list_databases会说「还没抓取」——那不是「没订」,是没数据⚠️ 上海工程技术大学:同一本刊用 ISSN 查和用题名查结果不同(0 对 1)。 这套系统上 ISSN 检索不稳,
numFound=0一律换查法复核后再说话
自己跑
python server.py --selftest # 打印当前学校、馆藏、端到端结论、几条回归
python tools/build_data.py --school shmtu # 抓资源清单
python tools/build_data.py --school shmtu --dry-run # 只探接口,不写盘build_data.py 有门禁:学校缺 library.database_api / offcampus 时
报错退出、不写任何文件(exit 2)。一次空结果覆盖会把「不知道」变成「学校没订」。
它怎么做到不越红线
环节 | 数据源 | 给什么 |
找论文 | Crossref 题录 API | 元数据 + DOI |
查馆藏 | 学校图书馆发现系统(公开目录) | 这本刊有几份电子/纸本 |
校外访问 | 学校图书馆公开页面 | CARSI / VPN / 文献传递链接 |
三个都不碰出版商站点、都不下载任何全文。 逐篇查询、串行、限速,不做批量遍历。
许可
MIT,见 LICENSE。
This server cannot be deployed
Maintenance
Related MCP Connectors
Academic literature search, retrieval, and private library management on top of OpenAlex.
Federated search of books and papers, BibTeX/RIS citations, open-access retrieval and reading.
Multi-engine scholarly research server for search, traversal, full text, and reading lists.
Search and download academic papers from arXiv, PubMed, bioRxiv, medRxiv, Google Scholar, Semantic…
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables querying open-access availability of scholarly articles via Unpaywall API, including DOI lookup, title search, and citation export.422 PyPIMIT
- FlicenseAqualityBmaintenanceEnables to search academic papers in Japanese and English, inspect availability of full text, and download public PDFs locally.4-
- FlicenseAqualityCmaintenanceEnables looking up free-to-read versions of scholarly papers by DOI and searching article titles for Open Access matches via the Unpaywall API.21-
- AlicenseBqualityCmaintenanceEnables scholarly search, paper metadata, citation graphs, author and venue resolution, candidate harvesting, API quota visibility, and guarded full-text downloads through the OpenAlex API.94MIT