academic-mcp
Allows searching for and retrieving academic papers from arXiv, including preprint and open access literature, via the deepxiv-sdk.
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., "@academic-mcp search open literature for transformer structural health monitoring"
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.
academic-mcp
Unified academic search MCP server for open literature, CNKI, and Web of Science.
The project combines three workflows:
Open literature search through
deepxiv-sdkfor arXiv, bioRxiv, medRxiv, PMC, and paper reading.Browser-backed CNKI search, detail lookup, and download with persistent Playwright login state.
Browser-backed Web of Science advanced search, detail lookup, and export with persistent institutional authentication.
It also adds a local paper library, cross-source deduplication, search cache, named collections, and export to BibTeX, RIS, CSV, JSONL, JSON, or Markdown.
Why MCP First
MCP is the best first interface for this project because CNKI and Web of Science need user authentication, browser sessions, and occasional manual verification. MCP lets an AI assistant call the tools, ask the user to log in only when needed, and reuse the saved browser profile.
The reusable logic is kept outside the MCP tool functions in modules such as schema.py, deepxiv.py, library.py, and unified.py. That keeps the path open for a future Python SDK or web app without rewriting the search and collection logic.
Related MCP server: Scholar MCP
Install
cd C:\Users\WeiZh\academic-mcp
uv sync --extra dev
uv run playwright install chromiumIf you already use a separate scientific Conda environment, make sure the environment that runs academic-mcp can import deepxiv_sdk.
Run
uv run academic-mcpFor visible browser login:
$env:ACADEMIC_HEADLESS = "false"
uv run academic-mcpThe browser profile and downloads are stored under:
%USERPROFILE%\.academic-mcp\Main Tools
search_literature is the unified entry point.
Fast open search:
{
"query": "structural health monitoring transformer",
"sources": "open",
"limit": 10,
"save_as": "shm-transformer"
}Full search after CNKI/WoS login:
{
"query": "structural health monitoring transformer",
"sources": "all",
"limit": 20,
"mode": "balanced",
"save_as": "shm-transformer-all"
}Web of Science advanced query:
{
"query": "structural health monitoring transformer",
"sources": "wos",
"wos_query": "TS=(structural health monitoring AND transformer) AND PY=(2020-2026)",
"limit": 20
}Collection tools:
list_paper_collectionsget_paper_collectionexport_paper_collectionsave_papers_to_collection
DeepXiv tools:
search_deepxivget_deepxiv_paperget_deepxiv_pmccheck_deepxiv_status
Existing authenticated tools are still available:
CNKI:
search_cnki,get_paper_detail,download_paper,login_cnki,check_cnki_statusWoS:
search_wos,get_wos_detail,export_wos,login_wos,check_wos_status,debug_wos
Source Strategy
For convenience, start with sources="open" because it is fast and does not require browser authentication.
For accuracy, use sources="all" after login. The unified search deduplicates by DOI, arXiv ID, and normalized title. It ranks results with a balanced score that considers source rank, citation count, source authority, and recency.
Suggested workflow:
Use
search_literature(..., sources="open")for discovery.Run
login_wosandlogin_cnkionce when authenticated sources are needed.Use
search_literature(..., sources="all", save_as="...").Export the collection with
export_paper_collection.
Local Data
The local SQLite library is stored at:
%USERPROFILE%\.academic-mcp\library.sqlite3Exports are written to:
%USERPROFILE%\.academic-mcp\exports\Override paths with:
$env:ACADEMIC_LIBRARY_DB = "D:\papers\academic.sqlite3"
$env:ACADEMIC_EXPORT_DIR = "D:\papers\exports"Tests
uv run pytestAvailable Tools
21 toolscheck_academic_sourcesB
Check open-source availability and optionally CNKI/WoS browser auth status.
Inputs: check_authenticated. Returns: result
check_cnki_statusA
检查知网连接状态和登录状态。
Returns: 当前连接状态、登录状态、IP 认证信息
Inputs: no named parameters. Returns: result
check_deepxiv_statusA
Check whether deepxiv-sdk is importable and whether a token is configured.
Inputs: no named parameters. Returns: result
check_wos_statusA
检查 Web of Science 连接和认证状态。
Returns: 连接状态、代理认证状态
Inputs: no named parameters. Returns: result
debug_wosA
调试工具:截图并分析 WoS 页面的 DOM 结构。 用于诊断选择器失效等问题。
Args: target: 要调试的页面 (advanced_search / home / current_url)
Returns: 页面截图路径 + DOM 结构摘要(表单元素、按钮等)
Inputs: target. Returns: result
download_paperA
下载知网论文 PDF/CAJ。需要已登录(机构 IP 认证或账号登录)。
Args: url: 论文详情页 URL save_dir: 保存目录,默认 ~/.academic-mcp/downloads/
Returns: 下载结果(文件路径或错误信息)
Inputs: url (required), save_dir. Returns: result
export_paper_collectionC
Export a collection as bibtex, ris, csv, jsonl, json, or md.
Inputs: name (required), format. Returns: result
export_wosA
导出当前 WoS 搜索结果的引文数据。需要先运行 search_wos。
Args: format: 导出格式 (bibtex/ris/csv/excel/plaintext) count: 导出记录数 (1-1000,默认50)
Returns: 下载结果(文件路径或错误信息)
Inputs: format, count. Returns: result
get_deepxiv_paperA
Read an arXiv paper via DeepXiv: brief, metadata, preview, raw, or json.
Inputs: arxiv_id (required), view. Returns: result
get_deepxiv_pmcB
Read PMC metadata or full structured content via DeepXiv.
Inputs: pmc_id (required), full. Returns: result
get_paper_collectionB
Return one local paper collection with normalized records.
Inputs: name (required). Returns: result
get_paper_detailA
获取知网论文的详细信息。
Args: url: 论文详情页 URL(来自 search_cnki 的结果)
Returns: JSON 格式的论文详细信息(标题/作者/摘要/关键词/DOI 等)
Inputs: url (required). Returns: result
get_wos_detailA
获取 Web of Science 论文的完整记录。
Args: url: WoS 论文详情页 URL(来自 search_wos 的结果)
Returns: JSON 格式的论文完整记录(标题/作者/摘要/关键词/DOI/被引/基金等)
Inputs: url (required). Returns: result
list_paper_collectionsB
List local paper collections.
Inputs: no named parameters. Returns: result
login_cnkiA
打开知网登录页面进行手动登录。 首次使用时调用一次,之后登录态会自动持久化。 会打开一个可见的浏览器窗口。
Returns: 登录状态信息
Inputs: no named parameters. Returns: result
login_wosA
打开浏览器通过大学代理登录 Web of Science。 首次使用时调用一次,之后登录态会自动持久化。 会打开一个可见的浏览器窗口。
Returns: 登录状态信息
Inputs: no named parameters. Returns: result
save_papers_to_collectionA
Save normalized papers JSON into a named local collection.
Inputs: name (required), papers_json (required), description. Returns: result
search_cnkiA
搜索中国知网 (CNKI) 学术论文。
Args: keyword: 搜索关键词 search_type: 搜索类型 (主题/篇名/关键词/作者/单位/DOI/摘要/全文) page_count: 搜索页数 (1-5,每页约20条) sort_by: 排序方式 (相关度/被引/下载/发表时间)
Returns: JSON 格式的搜索结果列表
Inputs: keyword (required), search_type, page_count, sort_by. Returns: result
search_deepxivC
Search open literature through DeepXiv and return normalized JSON.
Inputs: query (required), sources, limit, offset, +7 more. Returns: result
search_literatureB
Search literature across open DeepXiv sources and optional CNKI/WoS.
Inputs: query (required), sources, limit, mode, +15 more. Returns: result
search_wosA
在 Web of Science 中进行高级检索。
使用 WoS 字段标签语法,例如: TS=(machine learning AND finance) AU=(Zhang Wei) AND PY=(2020-2025) TI=(neural network) AND SO=(Nature)
常用字段标签: TS=主题, TI=标题, AU=作者, SO=期刊, DO=DOI, PY=年份, AB=摘要, AK=作者关键词, OG=机构, FU=基金
Args: query: WoS 高级检索查询语句 sort_by: 排序 (relevance/date_newest/date_oldest/cited/usage) page_count: 页数 (1-5,每页约10-50条)
Returns: JSON 格式的搜索结果列表
Inputs: query (required), sort_by, page_count. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 21 tools
Most tools have clearly distinct purposes. The main overlap is between search_literature and individual source searches (search_cnki, search_wos, search_deepxiv), but search_literature is described as a unified search across sources, reducing ambiguity. All other tools target specific resources or operations.
Tool names follow a consistent verb_noun pattern (check_, login_, search_, get_, export_, etc.) with snake_case. Minor inconsistency: check_academic_sources differs from the check_*_status pattern, but overall naming is predictable and clear.
21 tools is appropriate for a multi-source academic literature server. Each tool serves a distinct function, covering search, retrieval, status checks, login, export, and local collection management without being excessive.
The tool set covers the main workflows for CNKI, WoS, and DeepXiv: search, detail retrieval, status, login, and export. Local collection management is present (save, list, get) but lacks explicit update/delete tools. Download is limited to CNKI. Minor gaps exist but do not severely hinder agent operation.
Maintenance
Related MCP Connectors
Academic research MCP server for paper search, citation checks, graphs, and deep research.
Auditable MCP server for PubMed, Europe PMC, ClinicalTrials.gov, and bioRxiv/medRxiv queries
Multi-engine scholarly research server for search, traversal, full text, and reading lists.
Peer-reviewed scientific paper & arXiv preprint search MCP with citations, abstracts & PDF links.
Related MCP Servers
- AlicenseAqualityCmaintenanceComprehensive MCP server for academic research workflows, enabling paper searching across multiple sources, manuscript processing with citation placeholders, search caching, and citation export.11MIT
- FlicenseAqualityBmaintenanceScholar MCP connects your agent to academic search, citations, primary text and figures, and an optional local research library. Source keys are optional.6667 PyPI8-
- AlicenseNot gradedqualityDmaintenanceA MCP server for academic literature retrieval, aggregating multiple data sources like arXiv, Crossref, OpenAlex, PubMed, and Semantic Scholar to provide search, details, citations, trends, and recommendations.4MIT
- AlicenseAqualityDmaintenanceAcademic paper search and retrieval MCP server integrating multiple scholarly platforms into a unified interface. Supports search, fetch, trend analysis, and literature review workflows.852 npm4MIT