Academic Paper Search
让 Codex / Claude Code 完成可复现的文献检索、核验与引用导出。
安装标识仍为 nature-academic-search,现有命令与配置无需迁移。
默认并行检索 CrossRef、PubMed、arXiv、OpenAlex 和 Europe PMC;需要时显式调用 Semantic Scholar 搜索或富化,并把 ClinicalTrials.gov 试验注册与论文严格分开。
直接这样问
安装后,在 Codex 或 Claude Code 中输入:
使用
$nature-academic-search查找 2022 年以来 GLP-1 受体激动剂与抑郁风险的论文。 使用默认五个论文源,去重后核验 DOI / PMID / PMCID,区分正式论文和预印本; 对有强标识符的记录用 Semantic Scholar 补充引用指标,最后导出 RIS。某个来源失败时继续并说明。
查询试验注册时明确指定实体类型:
使用
$nature-academic-search调用search_papers,以entity_type="trial"查找正在招募的 肺癌新辅助免疫治疗试验;按 NCT ID 去重,不要把试验注册当成已发表论文。
返回结果会证明哪些来源实际执行,而不是只展示一张无法追溯的标题清单:
query: "GLP-1 receptor agonists AND depression risk"
entity_type: publication
sources_queried: [crossref, pubmed, arxiv, openalex, europe_pmc]
sources_succeeded: [crossref, pubmed, arxiv, openalex, europe_pmc]
sources_skipped: []
errors: null
raw_result_count: <去重前数量>
result_count: <唯一记录数量>
results:
- title: <题名>
sources: [pubmed, europe_pmc]
source_records: [<来源记录>]
citation_counts: {openalex: <来源计数>, semantic_scholar: <来源计数>}
citation_count_source: openalex
30 秒开始
Codex 插件
codex plugin marketplace add wp-a/nature-academic-search
codex plugin add nature-academic-search@wp-a-academic-tools
Claude Code 插件
claude plugin marketplace add wp-a/nature-academic-search
claude plugin install nature-academic-search@wp-a-academic-tools
CLI 与自动安装器
uv tool install nature-academic-search
export PUBMED_EMAIL=researcher@example.com
nature-academic-search install --client both --email researcher@example.com
nature-academic-search preflight
也可使用 pipx install nature-academic-search。从仓库安装并保留旧命令兼容:
bash install.sh researcher@example.com
NCBI_API_KEY、OPENALEX_API_KEY、SEMANTIC_SCHOLAR_API_KEY 均为可选项。没有 Semantic Scholar
key 时预检会标记 SKIP,不会回显任何凭据。完整说明见安装文档。
数据源如何分工
| 来源 | 调用方式 | 最适合做什么 | 边界 |
|---|---|---|---|
| CrossRef | 默认论文源 | DOI、出版商元数据、格式化引用 | 不是完整学科数据库 |
| PubMed | 默认论文源 | 生物医学索引、PMID、MeSH | 不保证全文可得 |
| arXiv | 默认论文源 | 预印本与版本线索 | 不代表同行评审状态 |
| OpenAlex | 默认论文源 | 跨学科发现、OA 与来源化引用指标 | 指标只代表 OpenAlex 口径 |
| Europe PMC | 默认论文源 | PMID/PMCID、生物医学与开放全文线索 | 与 PubMed 有重叠 |
| Semantic Scholar | 显式搜索或 enrich |
补充元数据和引用/参考文献指标 | 富化只用强标识符 |
| ClinicalTrials.gov | entity_type="trial" |
NCT 注册、状态、干预、申办方和入组信息 | 试验注册不是论文 |
默认 publication 搜索调用前五源。显式传入旧三源列表时仍只调用 CrossRef、PubMed、arXiv,兼容旧工作流。
它如何工作
检索 → 去重 → 核验 → 导出
- 定义范围:记录研究主题、日期、类型、数量、是否接受预印本以及实体类型。
- 按库检索:使用各来源适合的查询,不把 PubMed 字段语法复制到其他 API。
- 合并去重:优先匹配 DOI、PMID、PMCID、arXiv、OpenAlex、Semantic Scholar 或 NCT ID; 弱题名匹配只在相同实体类型内进行。
- 保留溯源:每条记录带
sources/source_records;冲突进入conflicts。 - 逐条核验:对照题名、作者、期刊、年份和标识符,标记
verified、mismatch、not_found或manual_needed。 - 分类交付:正式论文、预印本、trial 和未解决记录分开;论文可导出 RIS、BibTeX、NBIB 或 ENW。
任一来源超时或失败时,其他成功结果仍会保留。sources_queried、sources_succeeded、
sources_skipped 与 errors 明确展示完整状态。
为什么是“核验优先”
| 常见检索输出 | Academic Paper Search |
|---|---|
| 只给标题和链接 | 保留查询、日期、实体类型、标识符与来源追踪 |
| 多库结果重复 | 强标识符优先去重,弱匹配保留冲突 |
| 引用次数混成一个数字 | 使用 citation_counts 和 citation_count_source 标明口径 |
| 预印本、论文和试验注册混在一起 | 按 publication/preprint/trial 分组且禁止跨实体合并 |
| 单库故障导致整次失败 | 返回部分成功结果并披露失败或跳过原因 |
| 引用格式靠模型补全 | 解析记录后格式化;NCT 不伪造论文引用 |
适合的科研任务
- 选题调研:“找近五年肿瘤免疫治疗耐药机制论文,按正式论文和预印本分组。”
- MeSH 策略:“核验生成式 AI 与医学教育的 MeSH,再构建 PubMed 检索式。”
- 引用核验:“检查这些 DOI / PMID / PMCID 是否对应给定题名,逐项报告冲突。”
- 版本追踪:“判断这些 arXiv 预印本是否已有正式发表版本。”
- 试验追踪:“查 ClinicalTrials.gov 招募中试验,并另行核验其 linked publications。”
- 文献导出:“把已核验论文去重后导出 RIS,同时单列未解决引用。”
它适合综述前期检索、证据地图和引用整理,但不会替代正式系统综述所需的订阅数据库、双人筛选、 偏倚评估或学科馆员复核。
MCP 工具
四个工具名保持稳定;客户端可能添加 MCP 命名空间前缀。
| Tool | 用途 |
|---|---|
search_papers |
搜索 publication 或 trial,合并记录并返回来源状态 |
get_paper_by_id |
解析 DOI、PMID、PMCID、arXiv、OpenAlex、Semantic Scholar URL 或 NCT ID |
get_citation |
格式化已解析论文;trial 返回结构化边界错误 |
lookup_mesh |
查询 PubMed MeSH 描述词 |
CLI
nature-academic-search --help
nature-academic-search serve
nature-academic-search preflight
nature-academic-search citation --pmid 28344011 --format ris
nature-academic-search citation --input refs.txt --format bib --output references/
能力边界
- 本项目未连接 Google Scholar、Web of Science、Scopus、Embase、CNKI、万方,不会声称覆盖这些来源。
- 当前以元数据、标识符、引用和检索策略为核心,不承诺自动获得付费全文。
- 上游 API 会限流、超时或暂时不可用;预检和搜索结果会逐源披露。
- 不同来源的引用次数口径不同,不会相加成“全网总引用数”。
- 引用进入正式稿件前仍应由作者核对原文、出版社页面和期刊要求。
开发与维护
python -m pip install -e ".[test]"
python scripts/sync_skill.py --check
python -m ruff check src tests
python -m pytest
python -m pytest mcp-server/tests
python -m build
twine check dist/*
项目支持 Python 3.10–3.13。发布与依赖维护流程见维护手册。
参与项目
发现解析、来源冲突或安装问题时,请提交 Issue。 贡献代码前请保留四个 MCP 工具名、实体边界与结果契约,并添加回归测试。
如果这个项目能让你的文献检索更可追溯,欢迎点一个 Star;它会帮助更多中文科研用户找到这套工作流。
License
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nature_academic_search-0.2.0.tar.gz.
File metadata
- Download URL: nature_academic_search-0.2.0.tar.gz
- Upload date:
- Size: 119.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75df22b484eaa326e39b99a466b7588f2235c539e08bc8196804fe6dd46d599e
|
|
| MD5 |
4b98642999f96f19b2b246406154fa43
|
|
| BLAKE2b-256 |
62edd52afe692f5a4299b0dfd4bad7f7ebf41984280c9fa0ae19b93b48ef0a95
|
Provenance
The following attestation bundles were made for nature_academic_search-0.2.0.tar.gz:
Publisher:
publish.yml on wp-a/nature-academic-search
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nature_academic_search-0.2.0.tar.gz -
Subject digest:
75df22b484eaa326e39b99a466b7588f2235c539e08bc8196804fe6dd46d599e - Sigstore transparency entry: 2204702761
- Sigstore integration time:
-
Permalink:
wp-a/nature-academic-search@16b133810d22dd66aababe68aabc16fd1d7c843c -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/wp-a
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@16b133810d22dd66aababe68aabc16fd1d7c843c -
Trigger Event:
release
-
Statement type:
File details
Details for the file nature_academic_search-0.2.0-py3-none-any.whl.
File metadata
- Download URL: nature_academic_search-0.2.0-py3-none-any.whl
- Upload date:
- Size: 60.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29f1ff0c271b26b06772a010dc58acd95eb4fb6181ab900911d2543c5b84572c
|
|
| MD5 |
aace485479db2ff7c5a443cb3aef1f7d
|
|
| BLAKE2b-256 |
25cd2377290934d0562ee3f4ee8b5ff32bb63708874d6bb1c8322022f95970f0
|
Provenance
The following attestation bundles were made for nature_academic_search-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on wp-a/nature-academic-search
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nature_academic_search-0.2.0-py3-none-any.whl -
Subject digest:
29f1ff0c271b26b06772a010dc58acd95eb4fb6181ab900911d2543c5b84572c - Sigstore transparency entry: 2204702764
- Sigstore integration time:
-
Permalink:
wp-a/nature-academic-search@16b133810d22dd66aababe68aabc16fd1d7c843c -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/wp-a
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@16b133810d22dd66aababe68aabc16fd1d7c843c -
Trigger Event:
release
-
Statement type: