Scholar

io.github.mlintangmz2765由 GitHub 帳號 mlintangmz2765 發布v1.0.0更新於 Oct 27, 2026

Hardened Scholar MCP for deep academic research (Scopus, OpenAlex, Unpaywall) with PDF vision.

概覽

AI 產生的概覽

本機 MCP 伺服器,讓助理統一檢索 Scopus、OpenAlex、Semantic Scholar 與 Unpaywall 的學術文獻,並擷取 PDF 文字與頁面影像。

可以做什麼
  • 跨 Scopus、OpenAlex、Semantic Scholar 與 Unpaywall 檢索論文,取得中繼資料與摘要,尋找相關文獻,並批次查詢最多 50 個 DOI
  • 透過 Google Books、Open Library 與 Library Genesis 檢索圖書,並從 Libgen 檔案擷取目錄、關鍵字命中或指定頁面範圍
  • 解析作者身分並取得書目計量檔案(H 指數、i10 指數、ORCID、所屬機構),來源包括 OpenAlex、Scopus 與 Semantic Scholar
  • 追蹤正向引用與反向參考文獻,並梳理研究主題與學科層級
  • 從開放取用 PDF 或 HTML 擷取文字,將 PDF 頁面轉成影像供視覺模型分析,並把 DOI 解析為開放取用或 Sci-Hub 的 PDF 連結
  • 產生 BibTeX 條目,並依 APA、IEEE、Chicago、Harvard、Vancouver、MLA 或 Turabian 格式編排引用
適用情境
適合文獻回顧、系統性論文探索、作者與引用分析,以及研究過程中閱讀或檢視 PDF 圖表。也適合希望用單一介面同時存取多個學術資料庫的助理。
執行需求
以 Python 套件(scholar-academic-mcp)透過 stdio 在本機執行,僅支援桌面用戶端。需要 CONTACT_EMAIL 與 SCOPUS_API_KEY;選用 SCOPUS_INST_TOKEN、S2_API_KEY、SCIHUB_MIRRORS 與 LIBGEN_MIRRORS。需要連線至學術 API 與 PDF 網站的網路。
安裝前請注意
此伺服器明確提供 Sci-Hub 與 Library Genesis 作為付費牆論文的備援途徑,可能涉及法律與授權風險,啟用前請自行評估。它會把聯絡信箱傳送給 OpenAlex 與 Unpaywall,並把 API 金鑰傳送給 Elsevier 與 Semantic Scholar。它會下載遠端 PDF 與 HTML,且 Semantic Scholar 呼叫限速為每秒一次。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Scholar,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Scholar MCP Server

[Python Version] [Model Context Protocol] [License: MIT] [Registry]

A Model Context Protocol (MCP) server providing structured access to scientific literature databases. It serves as a unified interface for Scopus, OpenAlex, Semantic Scholar, and Unpaywall, enabling AI agents to perform systematic paper discovery, author disambiguation, citation lineage tracking, and multimodal Content extraction.

Core Capabilities

  • Unified Literature Search

    • Semantic Scholar Integration — High-relevance search and detailed metadata, including AI-generated TLDRs (requires API key).
    • Scopus Integration — Targeted metadata retrieval via advanced Boolean syntax (requires API key).
    • OpenAlex Integration — Broad search across 250M+ works with abstract reconstruction.
    • Unpaywall Resolution — DOI-to-PDF cross-referencing across global Open Access repositories.
    • Sci-Hub Fallback (⚠️ Use with Caution) — Automatic mirror resolution and parsing for paywall bypassing.
  • Book Search & Extraction

    • Google Books & Open Library — Integrated search for book metadata, editions, and descriptions without API keys.
    • Library Genesis (Libgen) — Search and extract full text from books directly using PyMuPDF. Features smart caching and token-saving strategies (TOC reading, targeted keyword searching, and page range extraction).
  • Author Identification & Metrics

    • Instant author disambiguation and ID resolution via OpenAlex autocomplete.
    • Comprehensive profiles: H-index, i10-index, institutional affiliation history, and ORCID linkage.
    • Precision metrics from Elsevier (Scopus) for verified publication counts.
  • Citation Lineage Tracking

    • Map research evolution through forward citations (citing works) and backward references (cited works).
  • Structured & Multimodal Extraction

    • Text Extraction — Layout-aware parsing of OA PDFs using PyMuPDF.
    • Vision Rendering — Page-by-page PNG rendering for LLM-based analysis of charts, tables, and equations.
    • HTML Fallbacks — Extraction from web-based research resources via BeautifulSoup.
  • Topic Mapping & Field Analysis

    • Concepts and domain hierarchy discovery to map research landscapes.
    • Batch metadata retrieval for high-throughput literature processing (up to 50 DOIs/request).
  • Access Management & Fallbacks

    • Automated detection of closed-access content with human-in-the-loop instructions for manual uploads.

Architecture

mermaid
graph TD    A[LLM Agent] -->|MCP Protocol| B(Scholar MCP Server)    B --> C{Database Router}    C -->|Primary| D[Scopus API]    C -->|Fallback| E[OpenAlex API]    C -->|DOI Resolver| F[Unpaywall API]    C -->|Citations| P[CrossRef API]        D --> G{Access Check}    E --> G    F --> G    P --> G        G -->|Open Access| H[PDF Buffer Download]    G -->|Closed Access| I[Human-in-the-Loop Prompt]    H --> J[PyMuPDF Text Extractor]    H --> K[PyMuPDF Vision Renderer]    J --> L[Return Context to LLM]    K --> L    I --> L    B --> M{Author Router}    M -->|Profile| N[OpenAlex Authors API]    M -->|Metrics| O[Scopus Author API]    N --> L    O --> L

Installation

Quick Start (via PyPI)

The fastest way to use the server is directly via PyPI:

bash
pip install scholar-academic-mcp

Manual Setup (for Development)

bash
# Clone the repositorygit clone https://github.com/mlintangmz2765/Scholar-MCP.gitcd Scholar-MCP
# Setup virtual environmentpython -m venv venv.\venv\Scripts\activate  # Windowssource venv/bin/activate # Unix
# Install in editable modepip install -e .

Environment Variables

VariableRequiredDescription
SCOPUS_API_KEYYesElsevier API key for Scopus search and author retrieval.
S2_API_KEYNoSemantic Scholar API key for TLDRs and S2 graph access.
SCIHUB_MIRRORSNoComma-separated list of active Sci-Hub mirrors for PDF fallback.
LIBGEN_MIRRORSNoComma-separated list of active Library Genesis mirrors.
SCOPUS_INST_TOKENNoInstitutional token for full abstract access via Scopus.
CONTACT_EMAILYesEmail for OpenAlex/Unpaywall polite-pool API routing.

Configuration

Claude Desktop / Cursor

Add the following to your configuration file (e.g., claude_desktop_config.json):

json
{  "mcpServers": {    "scholar-academic-mcp": {      "command": "scholar-academic-mcp",      "env": {        "SCOPUS_API_KEY": "your_scopus_api_key",        "S2_API_KEY": "your_s2_api_key",        "SCIHUB_MIRRORS": "https://sci-hub.ru,https://sci-hub.st",        "LIBGEN_MIRRORS": "https://libgen.la,http://libgen.li",        "SCOPUS_INST_TOKEN": "your_optional_inst_token",        "CONTACT_EMAIL": "[email protected]"      }    }  }}

Quick Start & Examples

Once configured, your AI agent can perform complex research workflows. Below are representative examples of tool inputs and structured outputs.

1. Literature Discovery (Scopus)

Prompt: "Find recent papers about 'Transformer architectures' published after 2022 using Scopus."

Tool Call: search_papers_tool(query="TITLE-ABS-KEY(Transformer architectures) AND PUBYEAR > 2022", limit=3)

Output:

text
Found 3 papers via Scopus:- [SCOPUS_ID:85184...] Attention is All You Need? A Survey of Transformer Variants  Authors: Smith, J., Doe, A.  Date: 2024-01-15 | DOI: 10.1016/j.artint.2023.104012

2. Multimodal Content Analysis

Prompt: "I need to see the diagram for the neural network architecture on page 3 of this URL."

Tool Call: get_full_text_visual_tool(url="https://arxiv.org/pdf/1706.03762.pdf", max_pages=3)

Output:

  • [Text] "Successfully rendered 3 pages visually..."
  • [Image] (PNG data of page 1)
  • [Image] (PNG data of page 2)
  • [Image] (PNG data of page 3 - containing the architecture diagram)

3. Research Topic Mapping

Prompt: "Help me understand the subfields and domains related to 'Generative AI'."

Tool Call: search_topics_tool(query="Generative AI")

Output:

text
Found 1 topics for 'Generative AI':- Artificial Intelligence  Hierarchy: Computer Science → Artificial Intelligence → Machine Learning  Works: 12,450 | Citations: 450,210  Description: A field of computer science that focuses on creating systems capable of generating...

Tools

The server registers 23 tools across 7 categories:

Paper Discovery

ToolSignatureDescription
search_papers_tool(query, limit=5, use_scopus=True, sort_by="relevance")Search papers via Scopus (Boolean syntax) or OpenAlex. Sort by cited_by_count or publication_year.
search_papers_s2_tool(query, limit=5)Search papers via Semantic Scholar. Note: strictly rate-limited to 1 request/sec.
get_paper_details_tool(paper_id)Fetch full metadata and abstract by Scopus ID, DOI, or OpenAlex ID (with automatic routing).
get_paper_details_s2_tool(paper_id)Fetch full metadata from Semantic Scholar, including AI-generated TLDRs. Accepts S2 ID or DOI.
search_titles_unpaywall_tool(query, is_oa=None)Search Unpaywall's database directly by title. Set is_oa=True for strictly OA results.
get_related_works_tool(paper_id, limit=10)Find related/similar papers using OpenAlex's bibliographic coupling.

Book Discovery & Extraction

ToolSignatureDescription
search_books_tool(query, limit=5, source="googlebooks")Search for book metadata via Google Books or Open Library.
get_book_details_tool(book_id, source="googlebooks")Fetch complete book details, descriptions, and ISBNs.
search_libgen_tool(query, limit=5)Search Library Genesis for books to retrieve their download MD5 hashes.
interact_with_book_tool(md5, action, keyword, start_page, end_page)Smart extraction from Libgen. Actions: toc (Table of Contents), search (keywords), pages (range).

Author Analytics

ToolSignatureDescription
autocomplete_authors_tool(name, limit=5)Rapidly disambiguate author names and resolve OpenAlex Author IDs.
search_authors_tool(name, institution=None, limit=5)Detailed bibliometric profiles: H-index, i10-index, ORCID, and research concepts.
search_author_by_orcid_tool(orcid)Look up an author directly by ORCID (raw or URL format).
retrieve_author_works_tool(author_id, limit=15)Chronologically sorted publications for a given OpenAlex author.
get_author_profile_scopus_tool(author_id)Fetch precise Scopus-sourced h-index, citation counts, and affiliation.
get_author_profile_s2_tool(author_id)Fetch Semantic Scholar author profile (H-index, paper count, citations).

Citation Tracking

ToolSignatureDescription
get_citations_tool(paper_id, direction="references")Retrieve forward citations or backward references via OpenAlex.

Full-Text & PDF

ToolSignatureDescription
get_full_text_tool(url, start_page=None, end_page=None)Extract text from an OA PDF or HTML page. Supports page range selection.
get_full_text_visual_tool(url, max_pages=3)Render PDF pages as images for Vision-capable LLMs.
fetch_pdf_text_unpaywall_tool(doi)All-in-one: resolve DOI via Unpaywall → download PDF → extract text.
get_scihub_link_tool(doi)Attempts to resolve a strict paywalled DOI to a free direct PDF link using Sci-Hub.
fetch_pdf_text_scihub_tool(doi)All-in-one bypass: resolve DOI via Sci-Hub → download PDF → extract text.

Citation & Writing

ToolSignatureDescription
get_bibtex_tool(doi)Generate a BibTeX entry for LaTeX via CrossRef content negotiation.
format_citation_tool(doi, style="apa")Format citation in APA, IEEE, Chicago, Harvard, Vancouver, MLA, or Turabian.

Open Access Resolution

ToolSignatureDescription
get_unpaywall_link_tool(doi)Resolve a DOI to all available OA locations via Unpaywall.

Topic Mapping & Batch Analysis

ToolSignatureDescription
search_topics_tool(query, limit=10)Browse research topics/concepts. Returns fields, domains, and publication volume.
batch_lookup_tool(dois: list[str])Batch-fetch metadata for multiple DOIs in a single call (max 50).

Technical Design & Reliability

Scholar MCP is engineered for precision and fault tolerance in high-stakes research environments, utilizing several layers of protection to ensure data integrity:

  • Strict Data Contracts (Pydantic)

    • All upstream API responses are validated against Pydantic models before being returned to the agent.
    • Ensures a predictable, type-safe interface even if upstream database schemas change.
  • Fault-Tolerant Networking (Tenacity)

    • Integrated Exponential Backoff using tenacity for transient HTTP errors (429, 5xx).
    • Configurable rate-limit awareness for Elsevier and OpenAlex "polite pool" routing.
  • Resource Safety & Concurrency

    • Context-Managed Extractors: Automatic cleanup of PDF buffers and file descriptors.
    • Isolated Concurrency: Batch operations utilize asyncio.gather with localized exception handling to prevent session-wide failures.
  • System Observability

    • Structured standard-error (stderr) logging provides execution visibility during the tool lifecycle without interfering with the MCP JSON-RPC protocol.
  • Automated Verification

    • Comprehensive test suite leveraging respx for deterministic API mocking, ensuring 100% coverage of edge cases without network externalites.

Project Structure

text
Scholar-MCP/├── .github/workflows/ # GitHub Actions (CI & Releases)├── scripts/           # Automation & Validation scripts├── tests/             # Pytest suite (respx mocked)├── server.py          # FastMCP tool entry point├── api.py             # API Clients (Scopus, OpenAlex, Unpaywall, CrossRef)├── extractor.py       # PDF/HTML Extraction & Rendering├── models.py          # Pydantic Data Validation├── server.json        # MCP Registry Manifest├── pyproject.toml     # Python packaging configuration├── requirements.txt   # Dependencies├── VERSION            # Version tracking (v1.0.0)├── LICENSE            # MIT License├── README.md          # Documentation├── .env.example       # Template for API keys└── .gitignore         # Git exclusion rules

Troubleshooting

SymptomCauseResolution
HTTP 401 from ScopusStandard API keys lack META_ABS view access.Set SCOPUS_INST_TOKEN or use OpenAlex as fallback.
HTTP 403 on PDF downloadPublisher anti-bot protection (Cloudflare, DataDome).Provide the PDF manually to the LLM.
Empty Unpaywall resultsPaper is behind a strict paywall with no OA copies.Request the PDF from the author via ResearchGate or institutional access.
SCOPUS_API_KEY is not setMissing environment variable.Ensure .env is configured or pass via MCP client env block.

Contributing

  1. Fork the repository.
  2. Create a feature branch (git checkout -b feature/my-feature).
  3. Commit your changes (git commit -m 'feat: add new capability').
  4. Push to the branch (git push origin feature/my-feature).
  5. Open a Pull Request.

Please ensure all code follows PEP 8 conventions.

License

MIT License. See LICENSE for details.


Disclaimer: Automated querying of publisher APIs must comply with the respective Terms of Service of Elsevier, OpenAlex, and Unpaywall. Do not distribute API keys. Adhere to all applicable rate limits.

mcp-name: io.github.mlintangmz2765/scholar

來源:README.md,提交 65ebee8

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分