A MCP server for searching and downloading academic papers from multiple sources.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
no tools enumerated yet for this server.
evidence-backed
findings quoted directly from the published source artifact — not inferred
filesystem 9
- fs academic_mcp-0.1.7/academic_mcp/sources/arxiv.py :56
with open(output_file, 'wb') as f: - fs academic_mcp-0.1.7/academic_mcp/sources/biorxiv.py :117
with open(output_file, 'wb') as f: - fs academic_mcp-0.1.7/academic_mcp/sources/core.py :140
with open(output_file, 'wb') as f: - fs academic_mcp-0.1.7/academic_mcp/sources/iacr.py :211
with open(filename, "wb") as f: - fs academic_mcp-0.1.7/academic_mcp/sources/medrxiv.py :120
with open(output_file, 'wb') as f: - fs academic_mcp-0.1.7/academic_mcp/sources/pmc.py :135
with open(output_file, 'wb') as f: - fs academic_mcp-0.1.7/academic_mcp/sources/pubmed.py :7
from pathlib import Path - fs academic_mcp-0.1.7/academic_mcp/sources/sci_hub.py :1
from pathlib import Path - fs academic_mcp-0.1.7/academic_mcp/sources/semantic.py :7
from pathlib import Path
network 20
- net academic_mcp-0.1.7/academic_mcp/__main__.py :6
import httpx - net academic_mcp-0.1.7/academic_mcp/sources/acm.py :3
import requests - net academic_mcp-0.1.7/academic_mcp/sources/arxiv.py :3
import requests - net academic_mcp-0.1.7/academic_mcp/sources/biorxiv.py :3
import requests - net academic_mcp-0.1.7/academic_mcp/sources/core.py :3
import requests - net academic_mcp-0.1.7/academic_mcp/sources/crossref.py :3
import requests - net academic_mcp-0.1.7/academic_mcp/sources/google_scholar.py :4
import requests - net academic_mcp-0.1.7/academic_mcp/sources/iacr.py :4
import requests - net academic_mcp-0.1.7/academic_mcp/sources/ieee.py :3
import requests - net academic_mcp-0.1.7/academic_mcp/sources/jstor.py :3
import requests - net academic_mcp-0.1.7/academic_mcp/sources/medrxiv.py :4
import requests - net academic_mcp-0.1.7/academic_mcp/sources/pmc.py :3
import requests - net academic_mcp-0.1.7/academic_mcp/sources/pubmed.py :3
import requests - net academic_mcp-0.1.7/academic_mcp/sources/researchgate.py :3
import requests - net academic_mcp-0.1.7/academic_mcp/sources/sci_hub.py :7
import requests - net academic_mcp-0.1.7/academic_mcp/sources/sciencedirect.py :3
import requests - net academic_mcp-0.1.7/academic_mcp/sources/scopus.py :3
import requests - net academic_mcp-0.1.7/academic_mcp/sources/semantic.py :3
import requests - net academic_mcp-0.1.7/academic_mcp/sources/springer.py :3
import requests - net academic_mcp-0.1.7/academic_mcp/sources/wos.py :3
import requests
secrets 6
- secrets academic_mcp-0.1.7/academic_mcp/sources/core.py :20
self.api_key = api_key or os.environ.get('CORE_API_KEY', '') - secrets academic_mcp-0.1.7/academic_mcp/sources/ieee.py :20
self.api_key = api_key or os.environ.get('IEEE_API_KEY', '') - secrets academic_mcp-0.1.7/academic_mcp/sources/sciencedirect.py :20
self.api_key = api_key or os.environ.get('SCIENCEDIRECT_API_KEY', '') - secrets academic_mcp-0.1.7/academic_mcp/sources/scopus.py :20
self.api_key = api_key or os.environ.get('SCOPUS_API_KEY', '') - secrets academic_mcp-0.1.7/academic_mcp/sources/springer.py :20
self.api_key = api_key or os.environ.get('SPRINGER_API_KEY', '') - secrets academic_mcp-0.1.7/academic_mcp/sources/wos.py :19
self.api_key = api_key or os.environ.get('WOS_API_KEY', '')
declared dependencies 3
- requests@*
- feedparser@*
- fastmcp@*