使用说明
📚 学术MCP
🔬 academic-mcp 是一个基于Python的MCP服务器,使用户能够搜索、下载和阅读来自各种平台的学术论文。它提供了三个主要工具:
- 🔎
paper_search:在多个学术数据库中搜索论文 - 📥
paper_download:下载纸质PDF,下载文件的返回路径 - 📖
paper_read:从论文中提取和阅读文本内容
📑 目录
✨ 特性
- 🌐 多源支持:从19多个学术数据库中搜索和下载论文,包括arXiv、PubMed、PubMedCentral、bioRxiv、medRxiv、Google Scholar、IACR ePrint Archive、Semantic Scholar、CrossRef、Science Direct、Springer、IEEE Xplore、Scopus、CORE等。
- 🎯 统一接口:所有平台都可以通过一致的
paper_search,paper_download,以及paper_read工具。 - 📊 标准化输出:论文将通过以下方式以一致的词典格式返回
Paper类。 - ⚡ 异步操作:使用以下工具高效处理并发搜索和下载
httpx以及async/await。 - 🔌 MCP集成:与MCP客户端兼容,用于LLM上下文增强。
- 🧩 可扩展设计:通过扩展,轻松添加新的学术平台
sources模块。
🎬 截图
📝 支持的学术平台
✅ 完全实施(19个来源)
免费开放获取:
- [x] arXiv -物理、数学、计算机科学等的预打印存储库
- [x] PubMed -生物医学文献数据库
- [x] PubMed Central(PMC) -免费全文生物医学和生命科学文章
- [x] 生物预印本 -生物预打印服务器
- [x] 医学预印本 -健康科学预打印服务器
- [x] 语义学者 -人工智能驱动的研究工具
- [x] Crossref -DOI注册机构和元数据提供商
- [x] 谷歌学术 -学术搜索引擎
- [x] IACR电子打印档案 -密码学预印本
- [x] 核心 -开放获取研究论文聚合器
需要API密钥:
- [x] 科学指引 -爱思唯尔的全文科学数据库(需要爱思唯尔neneneba API密钥)
- [x] 全文电子期刊 -施普林格的科学出版物(需要施普林格API密钥)
- [x] IEEE Xplore。 -IEEE的数字图书馆(需要IEEE API密钥)
- [x] 垃圾 -爱思唯尔的摘要和引用数据库(需要Scopus API密钥)
机构准入要求:
- [x] 美国计算机协会数字图书馆 -ACM的计算文献(没有公开的API)
- [x] 科学引文索引 -Clarivate的引文数据库(需要订阅)
- [x] 文献检索系统 -学术期刊数字图书馆(无公共API)
- [x] 研究之门 -学术社交网络(没有官方API)
退休服务:
- [x] 微软学术 -服务于2021年12月31日退役(占位符实施)
📦 安装
academic-mcp 可以使用安装 uv 或 pip。以下是不同场景的详细安装指南。
⚡ 快速安装
安装软件包:
pip install academic-mcp
启动MCP服务器:
academic-mcp
🔧 MCP客户端配置
选择您的MCP客户端并按照配置步骤进行操作:
1️⃣ Claude Desktop
地点:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
配置:
{
"mcpServers": {
"academic-mcp": {
"command": "python",
"args": ["-m", "academic_mcp"],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "",
"SCIENCEDIRECT_API_KEY": "",
"SPRINGER_API_KEY": "",
"IEEE_API_KEY": "",
"SCOPUS_API_KEY": "",
"CORE_API_KEY": "",
"WOS_API_KEY": "",
"ACADEMIC_MCP_ENABLED_SOURCES": "arxiv,pubmed,pmc,biorxiv,medrxiv,semantic,core,crossref,google_scholar,iacr",
"ACADEMIC_MCP_DISABLED_SOURCES": "ieee,scopus,springer,sciencedirect,wos,acm,jstor",
"ACADEMIC_MCP_DOWNLOAD_PATH": "./downloads"
}
}
}
}
2️⃣ Claude Code (CLI)
地点:
- 用户级别:
~/.claude/settings.json - 项目级别:
.mcp.json
配置:
{
"mcpServers": {
"academic-mcp": {
"command": "academic-mcp",
"args": [],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "",
"SCIENCEDIRECT_API_KEY": "",
"SPRINGER_API_KEY": "",
"IEEE_API_KEY": "",
"SCOPUS_API_KEY": "",
"CORE_API_KEY": "",
"WOS_API_KEY": "",
"ACADEMIC_MCP_ENABLED_SOURCES": "arxiv,pubmed,pmc,biorxiv,medrxiv,semantic,core,crossref,google_scholar,iacr",
"ACADEMIC_MCP_DISABLED_SOURCES": "ieee,scopus,springer,sciencedirect,wos,acm,jstor",
"ACADEMIC_MCP_DOWNLOAD_PATH": "./downloads"
}
}
}
}
注: 您还可以使用
"command": "python"随着"args": ["-m", "academic_mcp"]如果你更喜欢通过Python模块运行。
验证安装:
# Check if academic-mcp is loaded
claude mcp list
# Test the server
claude mcp test academic-mcp
3️⃣ Cline (VS Code Extension)
地点: VS代码设置→ 扩展→ 克莱恩→ MCP设置
方法一:通过VS代码设置界面
- 打开VS代码设置(Cmd/Ctrl+,)
- 搜索“临床MCP”
- 点击“在settings.json中编辑”
- 添加配置:
{
"cline.mcpServers": {
"academic-mcp": {
"command": "academic-mcp",
"args": [],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "",
"SCIENCEDIRECT_API_KEY": "",
"SPRINGER_API_KEY": "",
"IEEE_API_KEY": "",
"SCOPUS_API_KEY": "",
"CORE_API_KEY": "",
"WOS_API_KEY": "",
"ACADEMIC_MCP_ENABLED_SOURCES": "arxiv,pubmed,pmc,biorxiv,medrxiv,semantic,core,crossref,google_scholar,iacr",
"ACADEMIC_MCP_DISABLED_SOURCES": "ieee,scopus,springer,sciencedirect,wos,acm,jstor",
"ACADEMIC_MCP_DOWNLOAD_PATH": "./downloads"
}
}
}
}
方法2:直接设置.json编辑
编辑 ~/.config/Code/User/settings.json (Linux/macOS)或 %APPDATA%\Code\User\settings.json (Windows):
{
"cline.mcpServers": {
"academic-mcp": {
"command": "academic-mcp",
"args": [],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "",
"SCIENCEDIRECT_API_KEY": "",
"SPRINGER_API_KEY": "",
"IEEE_API_KEY": "",
"SCOPUS_API_KEY": "",
"CORE_API_KEY": "",
"WOS_API_KEY": "",
"ACADEMIC_MCP_ENABLED_SOURCES": "arxiv,pubmed,pmc,biorxiv,medrxiv,semantic,core,crossref,google_scholar,iacr",
"ACADEMIC_MCP_DISABLED_SOURCES": "ieee,scopus,springer,sciencedirect,wos,acm,jstor",
"ACADEMIC_MCP_DOWNLOAD_PATH": "./downloads"
}
}
}
}
4️⃣ Zed Editor
地点: ~/.config/zed/settings.json
配置:
{
"context_servers": {
"academic-mcp": {
"command": {
"path": "academic-mcp",
"args": []
},
"settings": {
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "",
"SCIENCEDIRECT_API_KEY": "",
"SPRINGER_API_KEY": "",
"IEEE_API_KEY": "",
"SCOPUS_API_KEY": "",
"CORE_API_KEY": "",
"WOS_API_KEY": "",
"ACADEMIC_MCP_ENABLED_SOURCES": "arxiv,pubmed,pmc,biorxiv,medrxiv,semantic,core,crossref,google_scholar,iacr",
"ACADEMIC_MCP_DISABLED_SOURCES": "ieee,scopus,springer,sciencedirect,wos,acm,jstor",
"ACADEMIC_MCP_DOWNLOAD_PATH": "./downloads"
}
}
}
}
}
5️⃣ Custom MCP Client
对于其他MCP客户端,请使用标准MCP服务器配置:
服务器命令:
academic-mcp
# or
python -m academic_mcp
环境变量:
SEMANTIC_SCHOLAR_API_KEY:语义学者的可选API密钥SCIENCEDIRECT_API_KEY:Science Direct的可选API密钥SPRINGER_API_KEY:Springer Link的可选API密钥IEEE_API_KEY:用于IEEE Xplore的可选API密钥SCOPUS_API_KEY:Scopus的可选API密钥CORE_API_KEY:CORE的可选API密钥WOS_API_KEY:Web of Science的可选API密钥ACADEMIC_MCP_DOWNLOAD_PATH:下载目录(默认:./downloads)ACADEMIC_MCP_ENABLED_SOURCES:已启用源的逗号分隔列表ACADEMIC_MCP_DISABLED_SOURCES:禁用源的逗号分隔列表
服务器功能:
- 工具:
paper_search,paper_download,paper_read - 运输:stdio
- 协议:MCP 1.0
⚙️ 环境变量
API密钥 (可选-仅适用于高级服务):
SEMANTIC_SCHOLAR_API_KEY:语义学者(获取API密钥)SCIENCEDIRECT_API_KEY:爱思唯尔科学指导(获取API密钥)SPRINGER_API_KEY:施普林格·自然(获取API密钥)IEEE_API_KEY:IEEE Xplore(获取API密钥)SCOPUS_API_KEY:爱思唯尔Scopus(获取API密钥)CORE_API_KEY:CORE聚合器(获取API密钥)WOS_API_KEY:Web of Science(需要机构订阅)
常规设置:
ACADEMIC_MCP_DOWNLOAD_PATH:下载PDF的目录(默认:./downloads)
源代码管理:
ACADEMIC_MCP_ENABLED_SOURCES:逗号分隔的列表,用于启用特定源(白名单)ACADEMIC_MCP_DISABLED_SOURCES:逗号分隔的列表可禁用特定源(黑名单)- 如果两者都被设置,
ACADEMIC_MCP_ENABLED_SOURCES优先 - 如果两者都没有设置,则默认情况下启用所有18个源
可用源名称(共18个):
| 源名称 | 类型 | 需要API密钥 | 说明 |
|---|---|---|---|
arxiv |
免费 | - | 物理、数学、计算机科学预印本库 |
pubmed |
免费 | - | MEDLINE生物医学文献 |
pmc |
免费 | - | PubMed Central全文存档 |
biorxiv |
免费 | - | 生物预印本服务器 |
medrxiv |
免费 | - | 健康科学预印本服务器 |
google_scholar |
免费 | - | 谷歌学者搜索 |
iacr |
免费 | - | 国际密码学研究协会 |
semantic |
免费 | SEMANTIC_SCHOLAR_API_KEY (可选)获取API密钥 |
语义学者AI搜索(API密钥的更高费率限制) |
crossref |
免费 | - | 交叉引用DOI元数据 |
core |
免费 | CORE_API_KEY获取API密钥 |
CORE开放获取论文聚合器 |
ieee |
保费 | IEEE_API_KEY获取API密钥 |
IEEE Xplore数字图书馆 |
scopus |
保费 | SCOPUS_API_KEY获取API密钥 |
爱思唯尔Scopus数据库 |
springer |
保费 | SPRINGER_API_KEY获取API密钥 |
施普林格出版物 |
sciencedirect |
保费 | SCIENCEDIRECT_API_KEY获取API密钥 |
爱思唯尔科学直接 |
wos |
保费 | WOS_API_KEY机构准入 |
Web of Science(需要机构订阅) |
acm |
高级 | - | ACM数字图书馆 |
jstor |
高级 | - | JSTOR存档 |
researchgate |
免费 | - | ResearchGate社交网络 |
🚀 用法
一旦配置, academic-mcp 提供了三个主要工具,可通过Claude Desktop或任何兼容MCP的客户端访问。
1.搜索论文(paper_search)
跨多个来源搜索学术论文:
基本搜索示例:
# Search arXiv for machine learning papers
paper_search([
{"searcher": "arxiv", "query": "machine learning", "max_results": 5}
])
# Search PubMed Central for biomedical papers
paper_search([
{"searcher": "pmc", "query": "cancer treatment", "max_results": 5}
])
# Search CORE for open access papers
paper_search([
{"searcher": "core", "query": "climate change", "max_results": 5}
])
多平台搜索:
# Search multiple platforms simultaneously
paper_search([
{"searcher": "arxiv", "query": "deep learning", "max_results": 5},
{"searcher": "pubmed", "query": "cancer immunotherapy", "max_results": 3},
{"searcher": "pmc", "query": "diabetes treatment", "max_results": 3},
{"searcher": "semantic", "query": "climate change", "max_results": 4, "year": "2020-2023"}
])
高级资源(需要API密钥):
# Search IEEE Xplore (requires IEEE_API_KEY)
paper_search([
{"searcher": "ieee", "query": "neural networks", "max_results": 5}
])
# Search Springer Link (requires SPRINGER_API_KEY)
paper_search([
{"searcher": "springer", "query": "quantum computing", "max_results": 5}
])
# Search Scopus (requires SCOPUS_API_KEY)
paper_search([
{"searcher": "scopus", "query": "artificial intelligence", "max_results": 5}
])
搜索所有平台:
# Search all platforms (omit "searcher" parameter)
paper_search([
{"query": "quantum computing", "max_results": 10}
])
2.下载论文(paper_download)
使用标识符下载纸质PDF:
# Download from free sources
paper_download([
{"searcher": "arxiv", "paper_id": "2106.12345"},
{"searcher": "pubmed", "paper_id": "32790614"},
{"searcher": "pmc", "paper_id": "PMC7419405"},
{"searcher": "biorxiv", "paper_id": "10.1101/2020.01.01.123456"},
{"searcher": "semantic", "paper_id": "DOI:10.18653/v1/N18-3011"}
])
# Download from CORE (open access)
paper_download([
{"searcher": "core", "paper_id": "123456789"}
])
注: 高级来源(IEEE、Springer、Science Direct、Scopus)需要机构访问或订阅PDF下载。
3.阅读论文(paper_read)
从论文中提取并阅读文本内容:
# Read papers from free sources
paper_read(searcher="arxiv", paper_id="2106.12345")
paper_read(searcher="pubmed", paper_id="32790614")
paper_read(searcher="pmc", paper_id="PMC7419405")
paper_read(searcher="biorxiv", paper_id="10.1101/2020.01.01.123456")
paper_read(searcher="semantic", paper_id="DOI:10.18653/v1/N18-3011")
paper_read(searcher="core", paper_id="123456789")
🛠️ 为了发展
对于想要修改代码或做出贡献的开发人员:
-
设置环境:
# Install uv if not installed curl -LsSf https://astral.sh/uv/install.sh | sh # Clone repository git clone https://github.com/LinXueyuanStdio/academic-mcp.git cd academic-mcp # Create and activate virtual environment uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate -
再进行:
# Install dependencies (recommended) uv pip install -e . # Add development dependencies (optional) uv pip install pytest flake8
🤝 贡献
我们欢迎捐款!以下是如何开始:
-
分叉存储库: 在GitHub上点击“分叉”。
-
克隆和设置:
git clone https://github.com/yourusername/academic-mcp.git cd academic-mcp uv pip install -e . # Install in development mode -
进行更改:
- 在中添加新平台
academic_mcp/sources/. - 更新测试
tests/.
- 在中添加新平台
-
提交拉取请求: 在GitHub上推送更改并创建PR。
📄 许可证
该项目根据MIT许可证获得许可。有关详细信息,请参阅LICENSE文件。
快乐的研究 academic-mcp!如果您遇到问题,请打开GitHub问题。