← Scientific Paper Harvester MCP Server
0.1.40npm · @futurelab-studio/latest-science-mcp · current release
Observed 2026-08-14T07:38:13.231Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.
{
"tools": {
"listChanged": true
}
}| Tool | Category | Annotations | Risk |
|---|---|---|---|
fetch_contentInput schema{
"type": "object",
"properties": {
"source": {
"type": "string",
"enum": [
"arxiv",
"openalex",
"pmc",
"europepmc",
"biorxiv",
"core"
],
"description": "\n Data source where the target paper is located:\n • 'arxiv' - arXiv.org preprints (fast, full-text available)\n • 'openalex' - OpenAlex academic database (metadata + abstracts) \n • 'pmc' - PubMed Central (full-text biomedical papers, slower but comprehensive)\n • 'europepmc' - Europe PMC (full-text life sciences papers)\n • 'biorxiv' - bioRxiv/medRxiv preprints (biology/medicine preprints)\n • 'core' - CORE repository (academic papers, variable text availability)\n \n CONTENT AVAILABILITY:\n - arXiv, PMC, Europe PMC: Usually provide full paper text\n - OpenAlex: Provides abstracts and rich metadata\n - bioRxiv, CORE: Variable full-text availability\n "
},
"paper_id": {
"type": "string",
"description": "\n Paper ID from the respective source (obtain from fetch_latest or fetch_top_cited results):\n \n ID FORMATS BY SOURCE:\n • arXiv: '2506.21552', '1234.5678v2' (arXiv ID format)\n • OpenAlex: 'W2741809807' (Work ID starting with 'W')\n • PMC: 'PMC1234567' or '1234567' (PMC ID with or without prefix)\n • Europe PMC: 'PMC1234567', 'PMID:12345678', or DOI\n • bioRxiv: DOI format like '10.1101/2024.01.01.123456'\n • CORE: Usually numeric ID or DOI\n \n IMPORTANT: \n - Copy exact IDs from previous fetch_latest/fetch_top_cited results\n - Don't modify ID formats - use them exactly as provided\n - For PMC, both 'PMC1234567' and '1234567' formats work\n \n USAGE WORKFLOW:\n 1. Use fetch_latest or fetch_top_cited to find papers\n 2. Copy the 'id' field from results \n 3. Use that exact ID with matching source in fetch_content\n "
}
},
"required": [
"source",
"paper_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | — · — | — |
fetch_latestInput schema{
"type": "object",
"properties": {
"source": {
"type": "string",
"enum": [
"arxiv",
"openalex",
"pmc",
"europepmc",
"biorxiv",
"core"
],
"description": "\n Data source to fetch latest papers from:\n • 'arxiv' - arXiv.org preprints (physics, CS, math, etc.) - Very fast, comprehensive\n • 'openalex' - OpenAlex academic papers (all fields) - Massive database, good metadata\n • 'pmc' - PubMed Central (biomedical) - Full-text open access, high quality\n • 'europepmc' - Europe PMC (life sciences) - European biomedical literature\n • 'biorxiv' - bioRxiv/medRxiv preprints - Latest biology/medicine preprints\n • 'core' - CORE repository (multidisciplinary) - Global academic papers\n \n PERFORMANCE TIPS: \n - arXiv and OpenAlex are fastest for large queries\n - PMC sources provide full-text content but slower\n - Use smaller counts (5-10) initially to test categories\n "
},
"category": {
"type": "string",
"description": "\n Category or field to search within the chosen source:\n \n CATEGORY FORMATS BY SOURCE:\n • arXiv: Use codes like 'cs.AI', 'physics.quan-ph', 'math.NT'\n • OpenAlex: Use concept names like 'machine learning', 'quantum computing' or IDs like 'C41008148'\n • PMC: Use names like 'medicine', 'biology', 'neuroscience', 'oncology'\n • Europe PMC: Similar to PMC - 'medicine', 'genetics', 'immunology'\n • bioRxiv: Use 'biology', 'neuroscience', 'bioinformatics', 'genetics'\n • CORE: Use broad terms like 'computer science', 'engineering', 'medicine'\n \n IMPORTANT: Call list_categories first to see exact available options for your chosen source.\n "
},
"count": {
"type": "number",
"minimum": 1,
"maximum": 200,
"default": 50,
"description": "\n Number of papers to fetch (1-200, default: 50).\n \n RECOMMENDED COUNTS:\n • Initial exploration: 5-10 papers\n • Research survey: 20-50 papers \n • Comprehensive analysis: 50-100 papers\n • Large dataset: 100-200 papers\n \n NOTE: Larger counts take longer and may hit rate limits. Start small and increase as needed.\n "
}
},
"required": [
"source",
"category"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | — · — | — |
fetch_pdf_contentInput schema{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "\n Direct URL to a PDF file\n \n SUPPORTED SOURCES:\n • arXiv PDFs: https://arxiv.org/pdf/2305.11176.pdf\n • Research institution repositories\n • Journal publisher PDFs (if publicly accessible)\n • Conference proceedings PDFs\n • Preprint server PDFs\n \n USAGE EXAMPLES:\n • Extract full text from arXiv papers for analysis\n • Get complete paper content when abstracts aren't sufficient\n • Access detailed methodology sections, results, and conclusions\n • Extract references and citations from papers\n \n PERFORMANCE & RELIABILITY (Production Tested):\n • SUCCESS RATE: 100% for PDFs within size limits (extensively tested)\n • EXTRACTION QUALITY: Full paper content with proper formatting\n • ERROR HANDLING: Clean failures with informative messages for oversized files\n • PROCESSING SPEED: ~1 second per MB for typical academic papers\n • MEMORY SAFETY: Size limits enforced to prevent system overload\n \n RECENT TEST RESULTS (August 2024):\n • 15-page research paper (2.0MB): ✅ Complete extraction in ~1 second\n • 14.4MB paper: ❌ Properly rejected (size limit protection) \n • 10.1MB paper: ❌ Properly rejected (size limit protection)\n • Previous success: 21-page paper (2.5MB): ✅ Full extraction\n \n SIZE LIMIT BEHAVIOR:\n • Files within maxSizeMB: Extracted successfully with full content\n • Files exceeding maxSizeMB: Cleanly rejected with clear error message\n • No system crashes or unexpected behavior under any conditions\n \n NOTE: This tool extracts the full text content from PDF files, not just metadata.\n Use this when you need the complete paper text for analysis, summarization, or research.\n The system is production-ready and handles edge cases gracefully.\n "
},
"maxSizeMB": {
"type": "number",
"minimum": 1,
"maximum": 100,
"default": 50,
"description": "\n Maximum PDF size in MB (default: 50MB)\n \n SIZE RECOMMENDATIONS:\n • Small papers (1-10 pages): 5-10MB limit\n • Regular papers (10-30 pages): 20-50MB limit \n • Large papers/books (30+ pages): 50-100MB limit\n \n PERFORMANCE NOTES:\n • Larger files take longer to process\n • Files over 50MB may timeout in some environments\n • Consider using smaller limits for faster processing\n "
},
"maxPages": {
"type": "number",
"minimum": 1,
"maximum": 500,
"default": 100,
"description": "\n Maximum pages to extract (default: 100 pages)\n \n PAGE RECOMMENDATIONS:\n • Research papers: 50-100 pages usually sufficient\n • Conference papers: 20-50 pages typically enough\n • Books/dissertations: 200-500 pages for complete extraction\n \n EXTRACTION BEHAVIOR:\n • Extracts from beginning of document up to page limit\n • Maintains document structure and formatting\n • Includes headers, footers, and captions\n "
},
"timeout": {
"type": "number",
"minimum": 10,
"maximum": 300,
"default": 120,
"description": "\n Timeout in seconds (default: 120s)\n \n TIMEOUT RECOMMENDATIONS:\n • Small PDFs (<5MB): 30-60 seconds\n • Medium PDFs (5-20MB): 60-120 seconds\n • Large PDFs (20MB+): 120-300 seconds\n \n FACTORS AFFECTING PROCESSING TIME:\n • File size and complexity\n • Network speed for download\n • OCR processing for scanned documents\n "
},
"confirmLargeFiles": {
"type": "boolean",
"default": false,
"description": "\n Require confirmation for large files (default: false for MCP mode)\n \n CONFIRMATION BEHAVIOR:\n • false: Automatically process files within size limits\n • true: Prompt user for confirmation on large files (CLI mode only)\n \n AUTO-CONFIRMATION LOGIC:\n • Files within maxSizeMB limit: Auto-approved\n • Files exceeding maxSizeMB limit: Auto-rejected\n • MCP mode always uses auto-confirmation for seamless operation\n "
}
},
"required": [
"url"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | — · — | — |
fetch_top_citedInput schema{
"type": "object",
"properties": {
"concept": {
"type": "string",
"description": "\n Research concept or field to search for highly cited papers.\n \n CONCEPT FORMATS:\n • Natural language: 'machine learning', 'artificial intelligence', 'quantum computing', 'cancer treatment'\n • OpenAlex concept IDs: 'C41008148' (for specific concepts)\n • Interdisciplinary terms: 'computational biology', 'materials science', 'climate change'\n \n EXAMPLES BY FIELD:\n • AI/CS: 'deep learning', 'natural language processing', 'computer vision'\n • Medicine: 'immunotherapy', 'precision medicine', 'covid-19' \n • Physics: 'quantum computing', 'gravitational waves', 'dark matter'\n • Biology: 'crispr', 'gene therapy', 'synthetic biology'\n \n TIP: Use list_categories with source='openalex' to explore available research concepts.\n "
},
"since": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "\n Start date in YYYY-MM-DD format (e.g., '2024-01-01').\n Only papers published on or after this date will be included.\n \n DATE STRATEGY RECOMMENDATIONS:\n • Current hot topics: Use last 6-12 months (e.g., '2024-06-01')\n • Established fields: Use last 2-3 years (e.g., '2022-01-01') \n • Breakthrough research: Use last 5 years (e.g., '2020-01-01')\n • Historical analysis: Use older dates as needed\n \n NOTE: More recent dates = fewer but more current papers. Older dates = more papers but less current.\n "
},
"count": {
"type": "number",
"minimum": 1,
"maximum": 200,
"default": 50,
"description": "\n Number of top cited papers to fetch (1-200, default: 50).\n \n RECOMMENDED COUNTS BY USE CASE:\n • Quick overview: 5-10 papers (most influential recent work)\n • Literature review: 20-50 papers (comprehensive survey)\n • Meta-analysis: 50-100 papers (extensive research base)\n • Complete survey: 100-200 papers (exhaustive coverage)\n \n NOTE: Results are ranked by citation count, so you get the most influential papers first.\n "
}
},
"required": [
"concept",
"since"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | — · — | — |
list_categoriesInput schema{
"type": "object",
"properties": {
"source": {
"type": "string",
"enum": [
"arxiv",
"openalex",
"pmc",
"europepmc",
"biorxiv",
"core"
],
"description": "\n Data source to fetch categories from:\n • 'arxiv' - arXiv.org preprint categories (physics, computer science, mathematics, etc.)\n • 'openalex' - OpenAlex research concepts (AI, machine learning, quantum computing, etc.) \n • 'pmc' - PubMed Central biomedical categories (medicine, biology, neuroscience, etc.)\n • 'europepmc' - Europe PMC life sciences categories (similar to PMC but European focus)\n • 'biorxiv' - bioRxiv/medRxiv preprint categories (biology, medicine preprints)\n • 'core' - CORE academic paper repository categories (multidisciplinary)\n \n USAGE TIP: Always call this first to understand available categories before using fetch_latest.\n "
}
},
"required": [
"source"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | — · — | — |
search_papersInput schema{
"type": "object",
"properties": {
"source": {
"type": "string",
"enum": [
"arxiv",
"openalex",
"europepmc",
"core"
],
"description": "\n Data source to search within:\n • 'arxiv' - arXiv.org preprints (physics, CS, math, etc.) - Fast, comprehensive search\n • 'openalex' - OpenAlex academic papers (all fields) - Massive database, good search capabilities\n • 'europepmc' - Europe PMC (life sciences) - Biomedical literature with full-text search\n • 'core' - CORE repository (multidisciplinary) - Global academic papers with advanced search\n \n SEARCH CAPABILITIES BY SOURCE:\n - arXiv: Title, abstract, author, and general search with Boolean operators\n - OpenAlex: Title, abstract, author, fulltext, and general search with relevance scoring\n - Europe PMC: Title, abstract, author, fulltext search with MeSH terms\n - CORE: Title, abstract, author, fulltext search with advanced query language\n "
},
"query": {
"type": "string",
"minLength": 1,
"maxLength": 1500,
"description": "\n Search query (max 1500 characters).\n \n SEARCH STRATEGIES:\n • Keywords: 'machine learning', 'climate change', 'quantum computing'\n • Phrases: Use quotes for exact phrases: '\"artificial intelligence\"'\n • Boolean: 'deep learning AND neural networks' (arXiv supports this)\n • Specific terms: 'CRISPR gene editing', 'COVID-19 treatment'\n \n FIELD-SPECIFIC EXAMPLES:\n • Author search: 'John Smith', 'Smith J'\n • Title search: 'attention mechanisms', 'transformer architecture'\n • Abstract search: 'reinforcement learning applications'\n • Full-text search: 'methodology AND results'\n \n TIP: Start with simple keywords and refine based on results.\n "
},
"field": {
"type": "string",
"enum": [
"all",
"title",
"abstract",
"author",
"fulltext"
],
"default": "all",
"description": "\n Search field to focus on (default: 'all'):\n • 'all' - Search across all fields (recommended for discovery)\n • 'title' - Search only in paper titles (precise, focused results)\n • 'abstract' - Search only in abstracts (good for content-based discovery)\n • 'author' - Search by author names (find papers by specific researchers)\n • 'fulltext' - Search full paper text (comprehensive but slower)\n \n USAGE RECOMMENDATIONS:\n • Discovery: Use 'all' for broad exploration\n • Precision: Use 'title' for specific topics \n • Content: Use 'abstract' for thematic searches\n • Author tracking: Use 'author' for researcher-specific queries\n • Deep search: Use 'fulltext' for comprehensive content analysis\n "
},
"count": {
"type": "number",
"minimum": 1,
"maximum": 200,
"default": 50,
"description": "\n Number of search results to return (1-200, default: 50).\n \n RECOMMENDED COUNTS:\n • Initial exploration: 5-10 results\n • Research survey: 20-50 results\n • Comprehensive analysis: 50-100 results\n • Large dataset: 100-200 results\n \n NOTE: Larger counts take longer and may hit rate limits. Start small and increase as needed.\n "
},
"sortBy": {
"type": "string",
"enum": [
"relevance",
"date",
"citations"
],
"default": "relevance",
"description": "\n Sort order for results (default: 'relevance'):\n • 'relevance' - Most relevant to query (best for discovery)\n • 'date' - Newest papers first (best for current research)\n • 'citations' - Most cited papers first (best for influential work)\n \n AVAILABILITY BY SOURCE:\n • arXiv: relevance, date (no citation sorting)\n • OpenAlex: relevance, date, citations (full support)\n • Europe PMC: relevance, date, citations (full support)\n • CORE: relevance, date (limited citation support)\n \n TIP: Use 'relevance' for exploration, 'date' for current topics, 'citations' for established fields.\n "
}
},
"required": [
"source",
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
} | — | — · — | — |