Enables searching and downloading physics and computer science preprints, with support for full-text PDF downloads and metadata retrieval.
Provides access to Web of Science database with advanced search capabilities including multi-topic queries, field tag support, year range filtering, and citation sorting.
Allows paper retrieval and information lookup using DOI identifiers across multiple academic platforms with validation and security checks.
Enables searching ScienceDirect full-text database and Scopus citation database with filters for open access content, authors, and document types.
Enables comprehensive academic search across publishers with citation data, automatic filtering for peer-reviewed papers, and year range queries.
Enables searching and downloading open access papers from Springer Nature's OpenAccess API, bioRxiv, and medRxiv preprint servers.
Allows searching biomedical literature from PubMed/MEDLINE database with filters for authors, journals, publication types, and date ranges.
Provides access to the largest citation database with advanced filtering by affiliation, document type, and comprehensive citation metrics.
Provides AI-powered semantic search with citation networks, research field filtering, and direct access to open access PDFs.
Paper Search MCP (Node.js)
English|中文
A Node.js Model Context Protocol (MCP) server for searching and downloading academic papers from multiple sources, including arXiv, Web of Science, PubMed, Google Scholar, Sci-Hub, ScienceDirect, Springer, Wiley, Scopus, Crossref, and 14 academic platforms in total.
✨ Key Features
🌍 14 Academic Platforms: arXiv, Web of Science, PubMed, Google Scholar, bioRxiv, medRxiv, Semantic Scholar, IACR ePrint, Sci-Hub, ScienceDirect, Springer Nature, Wiley, Scopus, Crossref
🔗 MCP Protocol Integration: Seamless integration with Claude Desktop and other AI assistants
📊 Unified Data Model: Standardized paper format across all platforms
⚡ High-Performance Search: Concurrent search with intelligent rate limiting
🛡️ Security First: DOI validation, query sanitization, injection prevention, sensitive data masking
📝 Type Safety: Complete TypeScript support with extended interfaces
🎯 Academic Papers First: Smart filtering prioritizing academic papers over books
🔄 Smart Error Handling: Unified ErrorHandler with retry logic and platform fallback
📚 Supported Platforms
Platform | Search | Download | Full Text | Citations | API Key | Special Features |
Crossref | ✅ | ❌ | ❌ | ✅ | ❌ | Default search, extensive metadata coverage |
arXiv | ✅ | ✅ | ✅ | ❌ | ❌ | Physics/CS preprints |
Web of Science | ✅ | ❌ | ❌ | ✅ | ✅ Required | Multi-topic search, date sorting, year ranges |
PubMed | ✅ | ❌ | ❌ | ❌ | 🟡 Optional | Biomedical literature |
Google Scholar | ✅ | ❌ | ❌ | ✅ | ❌ | Comprehensive academic search |
bioRxiv | ✅ | ✅ | ✅ | ❌ | ❌ | Biology preprints |
medRxiv | ✅ | ✅ | ✅ | ❌ | ❌ | Medical preprints |
Semantic Scholar | ✅ | ✅ | ❌ | ✅ | 🟡 Optional | AI semantic search |
IACR ePrint | ✅ | ✅ | ✅ | ❌ | ❌ | Cryptography papers |
Sci-Hub | ✅ | ✅ | ❌ | ❌ | ❌ | Universal paper access via DOI |
ScienceDirect | ✅ | ❌ | ❌ | ✅ | ✅ Required | Elsevier's full-text database |
Springer Nature | ✅ | ✅* | ❌ | ❌ | ✅ Required | Dual API: Meta v2 & OpenAccess |
Wiley | ❌ | ✅ | ✅ | ❌ | ✅ Required | TDM API: DOI-based PDF download only |
Scopus | ✅ | ❌ | ❌ | ✅ | ✅ Required | Largest citation database |
✅ Supported | ❌ Not supported | 🟡 Optional | ✅* Open Access only
Note: Wiley TDM API does not support keyword search. Use
search_crossrefto find Wiley articles, then usedownload_paperwithplatform="wiley"to download PDFs by DOI.
⚖️ Compliance & Ethical Use (Sci-Hub / Google Scholar)
This project includes integrations that may have legal, contractual (ToS), and ethical constraints. You are responsible for ensuring your usage complies with applicable laws, institutional policies, and third‑party terms.
Sci-Hub: May provide access to copyrighted works without authorization in many jurisdictions. Use only when you have the legal right to access the content (e.g., open access, author‑provided copies, or licensed institutional access).
Google Scholar: This integration relies on automated fetching/parsing and may violate Google's Terms of Service or trigger blocking/rate limits. Prefer official APIs or metadata sources (e.g., Crossref, Semantic Scholar) when ToS compliance is required.
🚀 Quick Start
System Requirements
Node.js >= 18.0.0
npm or yarn
Installation
Configuration
Get Web of Science API Key
Register and apply for Web of Science API access
Add API key to
.envfile
Get PubMed API Key (Optional)
Without API key: Free usage, 3 requests/second limit
With API key: 10 requests/second, more stable service
Get key: See NCBI API Keys
Configure Environment Variables
# Edit .env file WOS_API_KEY=your_actual_api_key_here WOS_API_VERSION=v1 # PubMed API key (optional, recommended for better performance) PUBMED_API_KEY=your_ncbi_api_key_here # Semantic Scholar API key (optional, increases rate limits) SEMANTIC_SCHOLAR_API_KEY=your_semantic_scholar_api_key # Elsevier API key (required for ScienceDirect and Scopus) ELSEVIER_API_KEY=your_elsevier_api_key # Springer Nature API keys (required for Springer) SPRINGER_API_KEY=your_springer_api_key # For Metadata API v2 # Optional: Separate key for OpenAccess API (if different from main key) SPRINGER_OPENACCESS_API_KEY=your_openaccess_api_key # Wiley TDM token (required for Wiley) WILEY_TDM_TOKEN=your_wiley_tdm_token
Build and Run
Method 1: NPX (Recommended for MCP)
Method 2: Local Development
MCP Server Configuration
Add the following configuration to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
NPX Configuration (Recommended)
Local Installation Configuration
🛠️ MCP Tools
search_papers
Search academic papers across multiple platforms
Platform Selection Behavior:
platform: "crossref"(default) - Free API with extensive scholarly metadata coverageplatform: "all"- Randomly selects one platform for efficient, focused resultsSpecific platform - Searches only that platform
Available platforms:
crossref,arxiv,webofscience/wos,pubmed,biorxiv,medrxiv,semantic,iacr,googlescholar/scholar,scihub,sciencedirect,springer,scopusNote:
wileyonly supports PDF download by DOI, not keyword search
search_crossref
Search academic papers from Crossref database (default search platform)
search_arxiv
Search arXiv preprints specifically
search_webofscience
Search Web of Science database specifically
search_pubmed
Search PubMed/MEDLINE biomedical literature database
search_google_scholar
Search Google Scholar academic database
search_biorxiv / search_medrxiv
Search biology and medical preprints
search_semantic_scholar
Search Semantic Scholar AI semantic database
search_iacr
Search IACR ePrint cryptography archive
search_scihub
Search and download papers from Sci-Hub using DOI or paper URL
search_sciencedirect
Search Elsevier ScienceDirect database
search_springer
Search Springer Nature database (Metadata API v2 or OpenAccess API)
search_scopus
Search Scopus citation database
check_scihub_mirrors
Check health status of Sci-Hub mirror sites
download_paper
Download paper PDF files
get_paper_by_doi
Get paper information by DOI
get_platform_status
Check platform status and API keys
📊 Data Model
All platform paper data is converted to a unified format:
🔧 Development
Project Structure
Adding New Platforms
Create new searcher class extending
PaperSourceImplement required abstract methods
Register new searcher in
server.tsAdd corresponding MCP tool
Security Features (v0.2.5)
The codebase includes comprehensive security utilities:
Security Best Practices:
All DOIs are validated before use in URLs
Query parameters are escaped to prevent injection
API keys are masked in all log output
Request timeouts prevent hanging connections
Query complexity limits prevent DoS attacks
Testing
Test Coverage:
15 test suites, 144 test cases
All 13 platform searchers tested
Security utilities (DOI validation, query sanitization)
ErrorHandler (error classification, retry logic)
Test Suite | Coverage |
Platform Searchers | 13/13 ✅ |
SecurityUtils | ✅ |
ErrorHandler | ✅ |
🌟 Platform-Specific Features
Springer Nature Dual API System
Springer Nature provides two APIs:
Metadata API v2 (Main API)
Endpoint:
https://api.springernature.com/meta/v2/jsonSearches all Springer content (subscription + open access)
Requires API key from https://dev.springernature.com/
OpenAccess API (Optional)
Endpoint:
https://api.springernature.com/openaccess/jsonOnly searches open access content
May require separate API key or special permissions
Better for finding downloadable PDFs
Web of Science Advanced Search
🎯 WoS Starter API v1/v2 Support: Uses Clarivate's WoS Starter API with full field tag support.
API Version Configuration:
🔧 v0.2.5 Improvements:
✅ 18 Field Tags: Full support for all WoS Starter API field tags
✅ API Version Selection: Support for both v1 and v2 endpoints
✅ Enhanced Filtering: ISSN, Volume, Page, Issue, DocType, PMID filters
✅ Query Validation: Security checks for query complexity and injection prevention
Supported Search Options:
query: Search terms (supports multi-topic)year: Single year "2023" or range "2020-2023"author: Author name filteringjournal: Journal/source filteringsortBy: Sort field (date,citations,relevance,title,author,journal)sortOrder: Sort direction (asc,desc)maxResults: Maximum results (1-50 per page)
Supported WOS Field Tags (18 total):
Tag | Description | Tag | Description |
| Topic (title, abstract, keywords) |
| Title |
| Author |
| Author Identifier |
| Source/Journal |
| ISSN/ISBN |
| Publication Year |
| Final Publication Year |
| DOI |
| Date of Publication |
| Volume |
| Page |
| Issue |
| Document Type |
| PubMed ID |
| Accession Number |
| Organization |
| Source URL |
Example with Field Tags:
🔧 Debugging WOS Issues:
Google Scholar Features
Academic Paper Priority: Automatically filters out books, prioritizes peer-reviewed papers
Citation Data: Provides citation counts and academic metrics
Anti-Detection: Smart request patterns to avoid blocking
Comprehensive Coverage: Searches across all academic publishers
Semantic Scholar Features
AI-Powered Search: Semantic understanding of queries
Citation Networks: Paper relationships and influence metrics
Open Access PDFs: Direct links to freely available papers
Research Fields: Filter by specific academic disciplines
Sci-Hub Features
Universal Access: Access papers using DOI or direct URLs
Mirror Network: Automatic detection and use of fastest available mirror (11+ mirrors)
Health Monitoring: Continuous monitoring of mirror site availability
Automatic Failover: Seamless switching between mirrors when one fails
Smart Retry: Automatic retry with different mirrors on failure
Response Time Optimization: Mirrors sorted by response time for best performance
📝 License
MIT License - see LICENSE file for details.
🤝 Contributing
Contributions welcome! See CONTRIBUTING.md for guidelines.
Fork the project
Create feature branch (
git checkout -b feature/amazing-feature)Commit changes (
git commit -m 'Add amazing feature')Push to branch (
git push origin feature/amazing-feature)Open Pull Request
🐛 Issue Reporting
If you encounter issues, please report them at GitHub Issues.
🙏 Acknowledgments
Original paper-search-mcp for the foundation
MCP community for the protocol standards
⭐ If this project helps you, please give it a star!