Provides comprehensive access to scientific papers from the arXiv repository, allowing users to browse categories, search by metadata, and extract full-text content.
Features an advanced DOI resolution system that utilizes a fallback chain including Unpaywall, Crossref, and Semantic Scholar to locate and retrieve paper content.
Specializes in harvesting and extracting text from over 200 million open access research papers across major academic databases and repositories.
Enables searching and full-text extraction of biomedical and life science literature specifically from the PubMed Central (PMC) database.
Integrates the Semantic Scholar Academic Graph as a metadata source and fallback provider for resolving paper DOIs and retrieving scholarly content.
Click on "Install 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., "@Scientific Paper Harvester MCP Serverfind the most cited machine learning papers since 2024"
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.
Scientific Paper Harvester MCP Server
A comprehensive Model Context Protocol (MCP) server that provides LLMs with real-time access to scientific papers from 6 major academic sources: arXiv, OpenAlex, PMC (PubMed Central), Europe PMC, bioRxiv/medRxiv, and CORE.
๐ Features
Comprehensive Source Coverage
arXiv: Computer science, physics, mathematics preprints and papers
OpenAlex: Open catalog of scholarly papers with citation data
PMC: PubMed Central biomedical and life science literature
Europe PMC: European life science literature database
bioRxiv/medRxiv: Biology and medical preprint servers
CORE: World's largest collection of open access research papers
Advanced Capabilities
Paper Fetching: Get latest papers from any source by category/concept
Paper Search: Search papers by title, abstract, author, or full-text across 4 major sources
Full-Text Extraction: Extract complete text content with intelligent fallback strategies
Citation Analysis: Find top cited papers from OpenAlex since a specific date
Paper Lookup: Retrieve full metadata for specific papers by ID
Category Discovery: Browse available categories from all sources
Smart Rate Limiting: Respectful API usage with per-source rate limiting
DOI Resolution: Advanced DOI resolver with Unpaywall โ Crossref โ Semantic Scholar fallback
Dual Interface: Both MCP protocol and CLI access
TypeScript: Full type safety with ESM modules
๐ Coverage Statistics
Total Sources: 6 academic databases
Category Coverage: 100+ categories across all disciplines
Paper Access: 200M+ papers with intelligent text extraction
Text Extraction Success: >90% for supported paper types
Response Time: <15 seconds average for paper fetching
๐ Installation
๐ MCP Client Configuration
To use this server with an MCP client (like Claude Desktop), add the following to your MCP client configuration:
For published package (available on npm):
Option 1: Using npx (recommended for AI tools like Claude)
Option 2: Global installation
Then configure:
๐ Usage
CLI Interface
List Categories
Fetch Latest Papers
Fetch Top Cited Papers
Search Papers
Fetch Specific Paper Content
๐ง Available Tools
list_categories
Lists available categories/concepts from any data source.
Parameters:
source:"arxiv"|"openalex"|"pmc"|"europepmc"|"biorxiv"|"core"
Returns:
Array of category objects with
id,name, and optionaldescription
Examples:
fetch_latest
Fetches the latest papers from any source for a given category with metadata only (no text extraction).
Parameters:
source:"arxiv"|"openalex"|"pmc"|"europepmc"|"biorxiv"|"core"category: Category ID or concept name (varies by source)count: Number of papers to fetch (default: 50, max: 200)
Category Examples by Source:
arXiv:
"cs.AI","physics.gen-ph","math.CO"OpenAlex:
"artificial intelligence","machine learning","C41008148"PMC:
"immunology","genetics","neuroscience"Europe PMC:
"biology","medicine","cancer"bioRxiv/medRxiv:
"biorxiv:neuroscience","medrxiv:psychiatry"CORE:
"computer_science","mathematics","physics"
Returns:
Array of paper objects with metadata (id, title, authors, date, pdf_url)
Text field: Empty string (
text: "") - usefetch_contentfor full text
fetch_top_cited
Fetches the top cited papers from OpenAlex for a given concept since a specific date.
Parameters:
concept: Concept name or OpenAlex concept IDsince: Start date in YYYY-MM-DD formatcount: Number of papers to fetch (default: 50, max: 200)
search_papers
Searches for papers across multiple academic sources with field-specific search and sorting options.
Parameters:
source:"arxiv"|"openalex"|"europepmc"|"core"query: Search query string (max 1500 characters)field:"all"|"title"|"abstract"|"author"|"fulltext"(default: "all")count: Number of results to return (default: 50, max: 200)sortBy:"relevance"|"date"|"citations"(default: "relevance")
Search Capabilities by Source:
arXiv: Title, abstract, author, and general search with Boolean operators
OpenAlex: Advanced search with relevance scoring and citation sorting
Europe PMC: Biomedical literature with MeSH terms and full-text search
CORE: Global academic papers with advanced query language
Example Queries:
Keywords:
"machine learning","climate change"Phrases:
"artificial intelligence"(use quotes for exact phrases)Boolean:
"deep learning AND neural networks"(arXiv supports this)Authors:
"John Smith","Smith J"
Returns:
Array of paper objects with metadata (id, title, authors, date, pdf_url)
Text field: Empty string (
text: "") - usefetch_contentfor full text
fetch_content
Fetches full metadata and text content for a specific paper by ID with complete text extraction.
Parameters:
source: Any of the 6 supported sourcesid: Paper ID (format varies by source)
ID Formats by Source:
arXiv:
"2401.12345","cs/0601001","1234.5678v2"OpenAlex:
"W2741809807"or numeric2741809807PMC:
"PMC8245678"or"12345678"Europe PMC:
"PMC8245678","12345678", or DOIbioRxiv/medRxiv:
"10.1101/2021.01.01.425001"or"2021.01.01.425001"CORE: Numeric ID like
"12345678"
๐ Paper Metadata Format
All tools return paper objects with the following structure:
๐ง Advanced Text Extraction
Multi-Source Strategy
Each source has specialized text extraction approaches:
arXiv: HTML from
arxiv.org/htmlwithar5iv.labs.arxiv.orgfallbackOpenAlex: HTML sources with DOI resolver fallback chain
PMC: E-utilities API with XML/HTML extraction
Europe PMC: REST API with multiple URL strategies
bioRxiv/medRxiv: Direct HTML extraction with abstract fallback
CORE: PDF/HTML with source URL fallback
DOI Resolution Chain
Advanced DOI resolver with multiple fallback strategies:
Unpaywall โ Free full-text sources
Crossref โ Publisher metadata and links
Semantic Scholar Academic Graph โ Alternative access
Performance & Reliability
Text Extraction Success: >90% for HTML-available papers
Graceful Degradation: Always returns metadata even if text extraction fails
Size Management: 6MB text limit with intelligent truncation
Caching: 24-hour LRU cache for DOI resolution
๐ Rate Limiting
Respectful API usage with per-source rate limiting:
arXiv: 5 requests per minute
OpenAlex: 10 requests per minute
PMC: 3 requests per second
Europe PMC: 10 requests per minute
bioRxiv/medRxiv: 5 requests per minute
CORE: 10 requests per minute (public), higher with API key
CORE API Configuration
For enhanced CORE access, set environment variable:
๐งช Testing
Run Test Suite
Test Coverage
Integration Tests: All 6 sources tested end-to-end
Performance Tests: Response time and throughput benchmarks
Workflow Tests: Real research scenarios across multiple sources
Unit Tests: Core components and edge cases
๐ Architecture
Modular Driver System
Clean separation between sources
Consistent interface across all drivers
Specialized text extraction per source
Advanced Features
DOI Resolution: Multi-provider fallback chain
Rate Limiting: Token bucket algorithm per source
Text Processing: HTML cleaning and normalization
Error Handling: Structured responses with actionable suggestions
Caching: Intelligent caching for DOI resolution
Technology Stack
TypeScript + ESM: Modern JavaScript with full type safety
Modular Design: Clean separation of concerns
Graceful Degradation: Always functional even with partial failures
Response Size Management: Automatic truncation and warnings
๐ Source Comparison
Source | Papers | Disciplines | Full-Text | Citation Data | Preprints | Search |
arXiv | 2.3M+ | STEM | HTML โ | Limited | โ | โโโ |
OpenAlex | 200M+ | All | Variable | โโโ | โ | โโโ |
PMC | 7M+ | Biomedical | XML/HTML โ | Limited | โ | Limited |
Europe PMC | 40M+ | Life Sciences | HTML โ | Limited | โ | โโโ |
bioRxiv/medRxiv | 500K+ | Bio/Medical | HTML โ | Limited | โโโ | Limited |
CORE | 200M+ | All | PDF/HTML โ | Limited | โ | โโโ |
๐ง Development
Build
Test Individual Sources
Performance Testing
๐จ Error Handling
Comprehensive error handling for all sources:
Invalid paper IDs with format suggestions
Rate limiting with retry-after information
API timeouts and server errors
Missing authentication (CORE API key)
Network connectivity issues
Text extraction failures with fallback strategies
๐ Troubleshooting
Common Issues
Rate limiting: Automatic retry with exponential backoff
Missing papers: Try alternative sources for the same content
Text extraction failures: Fallback to abstract or metadata
CORE API limits: Set
CORE_API_KEYenvironment variable
Performance Optimization
Use appropriate
countparameters (smaller for faster responses)Cache results when possible
Use
fetch_latestfor discovery,fetch_contentfor detailed reading
๐ License
MIT
Ready to explore the world's scientific knowledge? Start with any of the 6 sources and discover papers across all academic disciplines! ๐ฌ๐