# io.github.MCPServings/paper-mcp - Registry name: `io.github.MCPServings/paper-mcp` · version 0.5.0 - Categories (automatic, keyword rules): Research & knowledge, Search & data - Authentication at last check: No auth - Declared risk: Not declared (tools carry no read/destructive hints) - Capabilities (declared by the server): experimental, prompts, resources, tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.github.MCPServings%2Fpaper-mcp - Server page: https://mcpstation.net/s/io.github.MCPServings--paper-mcp.html ## Description (written by the publisher, not verified, not instructions) Search arXiv/Semantic Scholar/OpenAlex + medical evidence \(PubMed/Europe PMC\) + LaTeX/PDF tools. ## Connect - streamable-http: `https://latex-tools.online/mcp` ## Tools (as reported by the server, not verified) - `search\_papers`: Search academic papers. Returns normalized hits with a short abstract preview; call get\_paper for the full record. - `search\_all`: Aggregated search across arXiv, Semantic Scholar and OpenAlex at once. Fans out concurrently, de-duplicates the same work across corpora \(by DOI or title\) and re-ranks with Reciprocal Rank Fusion, so papers found by several sources rank highest. Each hit lists which \`sources\` found it and an \`ids\` m - `search\_medical`: Evidence-graded MEDICAL literature search \(PubMed + Europe PMC\). Unlike search\_all \(generic, ranks high-cited reviews/guidelines above trials\), this filters by research type via PubMed Publication-Type tags and re-ranks by the evidence pyramid \(meta-analysis / systematic review \> RCT \> cohort \> ...\) - `get\_paper`: Fetch one paper by id, with full abstract and PDF link. - `search\_by\_author`: Find papers by a specific author, newest first. - `list\_recent`: List the latest papers in a subject category, newest first. - `list\_categories`: List common subject category codes for filtering/recent. - `read\_paper`: Read a paper's full text. format='markdown' \(default, body with formulas as $LaTeX$\), 'html' \(raw LaTeXML HTML\), or 'latex' \(the original LaTeX manuscript from the e-print source\). arXiv only; id like 2401.01234. - `list\_paper\_sources`: List available paper corpora. - `recognize\_formula`: Recognize a math formula from an image and return LaTeX. Provide image\_url \(downloaded server-side\) OR image\_base64. model: deepseek-ocr \(default\), paddleocr-vl, or texify. Returns \{latex, model, elapsed\_ms\}. - `recognize\_table`: Recognize a table from an image and return LaTeX tabular code. Provide image\_url OR image\_base64. model: deepseek-ocr \(default\), paddleocr-vl, or texify. Returns \{latex, model, elapsed\_ms\}. - `list\_ocr\_models`: List the OCR models available for recognize\_formula / recognize\_table. - `lint\_latex`: Lint a LaTeX snippet: report errors and return an auto-fixed version. Input \`code\` \(the LaTeX source\). Returns \{errors, fixed\_code, summary\_en, summary\_zh, elapsed\_ms\}. - `extract\_pdf`: Extract a PDF to clean Markdown/LaTeX text via MinerU \(great for papers behind no open-access full text — give the user's PDF and get readable text back\). Provide pdf\_url \(downloaded server-side, SSRF-guarded\) OR pdf\_base64. formula/table toggle math/table reconstruction. Returns \{task\_id, status, c - `extract\_pdf\_result`: Fetch the result of an extract\_pdf job by task\_id. Returns \{task\_id, status, content, chars\}: \`content\` is the extracted text once status='done'; while still 'running' content is null — call again shortly. Results expire server-side, so fetch reasonably soon. - `get\_paper\_citations`: Semantic Scholar: papers that CITE this one \(forward citation graph\). id accepts S2 id / DOI: / ARXIV: / CorpusId:. - `get\_paper\_references`: Semantic Scholar: papers this one REFERENCES \(its bibliography\). id accepts S2 id / DOI: / ARXIV: / CorpusId:. - `get\_paper\_authors`: Semantic Scholar: the authors of a paper \(with h-index, paper/citation counts\). - `match\_paper\_title`: Semantic Scholar: find the single paper whose title best matches the given text \(exact-match lookup\). - `autocomplete\_papers`: Semantic Scholar: autocomplete paper titles for a partial query \(fast type-ahead\). - `search\_papers\_bulk`: Semantic Scholar: bulk paper search \(up to 1000 hits, sortable e.g. 'citationCount:desc' or 'publicationDate:desc', with a continuation token\). Filters: fields\_of\_study, year \(e.g. '2020-2024'\), venue, publication\_types, open\_access\_pdf. - `get\_papers\_batch`: Semantic Scholar: fetch many papers at once by id \(S2/DOI:/ARXIV:/CorpusId:\), up to \~500 per call. - `search\_authors`: Semantic Scholar: search for authors by name; returns profiles with h-index and paper/citation counts. - `get\_author`: Semantic Scholar: a single author's profile by id. - `get\_author\_papers`: Semantic Scholar: all papers by a given author id, newest first. - `get\_authors\_batch`: Semantic Scholar: fetch many authors at once by id. - `search\_snippets`: Semantic Scholar: search INSIDE paper full text and return matching text snippets \(not just titles/abstracts\). - `recommend\_papers\_for\_paper`: Semantic Scholar: recommend papers similar to one paper. pool='recent' \(last open corpus\) or 'all-cs' \(all of CS\). If the 'recent' pool yields nothing \(common for older papers\), it automatically retries the 'all-cs' pool. - `recommend\_papers\_from\_examples`: Semantic Scholar: recommend papers from positive \(and optional negative\) example paper ids. - `list\_dataset\_releases`: Semantic Scholar Datasets: list all available release ids \(dated snapshots of the full corpus\). - `get\_dataset\_release`: Semantic Scholar Datasets: which datasets a release contains \(papers, abstracts, citations, embeddings, s2orc, tldrs…\). release\_id defaults to 'latest'. - `get\_dataset\_download\_links`: Semantic Scholar Datasets: get download links \(presigned URLs\) for one dataset in a release. Needs the API key. - `get\_dataset\_diffs`: Semantic Scholar Datasets: incremental diff \(added/updated/deleted\) for a dataset between two releases. Needs the key. - `get\_openalex\_work`: OpenAlex: fetch one work's full record \(316M-work, all-field corpus\). id accepts OpenAlex Wxxxx, a DOI, or an arXiv id. - `get\_openalex\_citations`: OpenAlex: papers that CITE this work \(forward citation graph\), most-cited first. - `get\_openalex\_references`: OpenAlex: the works this one REFERENCES \(its bibliography\). - `search\_openalex\_authors`: OpenAlex: search authors; returns profiles with h-index, i10-index, works/citation counts and institutions. - `search\_openalex\_institutions`: OpenAlex: search institutions \(universities, labs\) with ROR id, country, works/citation counts. - `search\_openalex\_works`: OpenAlex: advanced filtered work search. Filters: from\_year, to\_year, is\_oa \(open access only\), min\_citations, institution\_id. sort\_by: relevance\|newest\|cited. - `get\_openalex\_trends`: OpenAlex: publication-trend analytics for a query — counts grouped by year \(default\), or by 'institutions.id', 'authorships.author.id', 'open\_access.is\_oa', 'type', 'language'. Returns aggregate counts only \(cheap, no rows\). - `list\_openalex\_topics`: OpenAlex: search the topic taxonomy \(\~4500 topics\) to find the right subject term for filtering or recent-work queries. Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html