pypi analyzed 0.1.7

academic-mcp

v0.1.7
pypi

A MCP server for searching and downloading academic papers from multiple sources.

maintainer
Xueyuan Lin
license
first seen
2026-05-31
last seen
2026-06-11
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio counts 0 tools · 0 res · 0 prompts permission surface via code analysis

no tools enumerated yet for this server.

code evidence v0.1.7 · pypi-sdist
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@*