MCP server for academic paper search and download via university network access. Leverages institutional network (IP-based authentication) to search for and download academic papers that would normally be behind paywalls. Combines multiple free APIs for discovery with direct publisher access for full-text PDFs.
Server has 4 tools with basic descriptions and parameter schemas, but significant gaps in quality. All tools have descriptions (10-200 chars range), and input schemas are present with type definitions. However, descriptions lack actionable context for LLM selection, parameter descriptions are minimal, output schemas are not documented, and error handling guidance is absent. No tool annotations (readOnlyHint/destructiveHint) despite clear risk profiles. Naming is verb-forward but generic. Per-tool average: search_papers=48, get_paper_pdf=45, resolve_doi=52, search_arxiv=58.
Download a paper PDF using multiple resolution strategies: direct open-access links, Unpaywall API, or university network IP-based access. Returns the local file path where the PDF was saved.
Resolve a DOI to full paper metadata and open-access status. Returns title, authors, abstract, journal, publication date, and available open-access PDF links.
Search arXiv preprint repository. Returns preprints with title, authors, abstract, arXiv ID, and direct PDF link.
Search for academic papers across multiple sources (Semantic Scholar, OpenAlex, CrossRef, arXiv). Returns metadata including title, authors, year, abstract, DOI, arXiv ID, citation count, and open-access PDF links.
Output schemas not documented. Tools return metadata (title, authors, DOI, PDF links) but LLM cannot plan downstream calls without knowing exact field names and types. Forces agent to guess structure.
Parameter descriptions are minimal (5-15 chars). 'Search query' and 'Maximum number of results' lack context on format, constraints, or when to use. LLM cannot infer valid ranges or expected input types.
No error handling guidance. Tools may fail (network timeout, DOI not found, PDF unavailable) but descriptions do not explain recovery steps. LLM has no actionable next step on failure.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | <=2025-11-25 | v2 |
Tool annotations missing. get_paper_pdf is marked WRITE (destructive) but has no destructiveHint annotation. search_papers and resolve_doi are READ_ONLY but lack readOnlyHint. Prevents agent from reasoning about side effects.
get_paper_pdf accepts 'url' parameter but description does not clarify: is this a DOI URL, a landing page, or a direct PDF link? Ambiguity invites wrong input from LLM.