Search / io.github.MCPServings/paper-mcp
paper-mcp
not classifiedSearch arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.
v0.5.0 · active · repository · website · descriptor JSON · versions
Search / io.github.MCPServings/paper-mcp
Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.
v0.5.0 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"paper-mcp": {
"type": "http",
"url": "https://latex-tools.online/mcp"
}
}
}claude mcp add --transport http paper-mcp https://latex-tools.online/mcp[mcp_servers.paper-mcp]
url = "https://latex-tools.online/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"paper-mcp": {
"type": "remote",
"url": "https://latex-tools.online/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"paper-mcp": {
"type": "http",
"url": "https://latex-tools.online/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=paper-mcp&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbGF0ZXgtdG9vbHMub25saW5lL21jcCJ9"
}{
"servers": {
"paper-mcp": {
"type": "http",
"url": "https://latex-tools.online/mcp"
}
}
}{
"mcpServers": {
"paper-mcp": {
"httpUrl": "https://latex-tools.online/mcp"
}
}
}extensions:
"paper-mcp":
enabled: true
name: "paper-mcp"
type: streamable_http
uri: "https://latex-tools.online/mcp"
timeout: 300
protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)auth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky onestools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_dataset_release (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); search_authors (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_author_papers (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …tools.token_costabout 4,223 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes, stability.rug_pulltool history not recorded yetdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website +reachable +uptime-99% ~updated-125d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://latex-tools.online/mcp streamable-http | unknown | yes | 99% | 198 ms | – | 2026-10-20 |
autocomplete_papers | Semantic Scholar: autocomplete paper titles for a partial query (fast type-ahead). |
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, cached, content, chars}: a recently-seen (cached) or small PDF comes back with `content` in one call; a fresh PDF (MinerU is GPU-heavy, minutes) returns status='running' + a task_id — then call extract_pdf_result(task_id) to fetch the text. |
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_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. |
get_dataset_diffs | Semantic Scholar Datasets: incremental diff (added/updated/deleted) for a dataset between two releases. Needs the key. |
get_dataset_download_links | Semantic Scholar Datasets: get download links (presigned URLs) for one dataset in a release. Needs the API key. |
get_dataset_release | Semantic Scholar Datasets: which datasets a release contains (papers, abstracts, citations, embeddings, s2orc, tldrs…). release_id defaults to 'latest'. |
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). |
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). |
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_paper | Fetch one paper by id, with full abstract and PDF link. |
get_paper_authors | Semantic Scholar: the authors of a paper (with h-index, paper/citation counts). |
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_papers_batch | Semantic Scholar: fetch many papers at once by id (S2/DOI:/ARXIV:/CorpusId:), up to ~500 per call. |
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}. |
list_categories | List common subject category codes for filtering/recent. |
list_dataset_releases | Semantic Scholar Datasets: list all available release ids (dated snapshots of the full corpus). |
list_ocr_models | List the OCR models available for recognize_formula / recognize_table. |
list_openalex_topics | OpenAlex: search the topic taxonomy (~4500 topics) to find the right subject term for filtering or recent-work queries. |
list_paper_sources | List available paper corpora. |
list_recent | List the latest papers in a subject category, newest first. |
match_paper_title | Semantic Scholar: find the single paper whose title best matches the given text (exact-match lookup). |
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. |
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}. |
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. |
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` map ({source: id}) you can pass to get_paper / read_paper / the citation tools. Prefer this over search_papers for a broad lookup. |
search_authors | Semantic Scholar: search for authors by name; returns profiles with h-index and paper/citation counts. |
search_by_author | Find papers by a specific author, newest first. |
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 > ...), so the actual clinical trials surface first. Open-access full text is pulled from Europe PMC by PMID. `query` should be English keyword/boolean text (PubMed maps it); do natural-language/multilingual understanding upstream. Returns hits with pmid/doi/study_type/evidence_level/citations/abstract and, when open-access, fulltext. |
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. |
search_papers | Search academic papers. Returns normalized hits with a short abstract preview; call get_paper for the full record. |
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. |
search_snippets | Semantic Scholar: search INSIDE paper full text and return matching text snippets (not just titles/abstracts). |
Schemas: list_tools.
{
"name": "io.github.MCPServings/paper-mcp",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
"remotes": [
{
"url": "https://latex-tools.online/mcp",
"type": "streamable-http"
}
],
"version": "0.5.0",
"repository": {
"url": "https://github.com/MCPServings/paper-mcp",
"source": "github"
},
"websiteUrl": "https://latex-tools.online/mcp",
"description": "Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools."
}