search_papers
Search academic papers. Returns normalized hits with a short abstract preview; call get_paper for the full record.
query必填startsourcesort_bymax_results
io.github.MCPServings由 GitHub 账号 MCPServings 发布v0.5.0更新于 Nov 2, 2026
Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.
远程 MCP 服务器,可跨 arXiv、Semantic Scholar 和 OpenAlex 检索学术论文,并提供医学文献检索、全文阅读与 LaTeX/PDF 工具。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/io.github.MCPServings%2Fpaper-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。把它添加到你客户端的 mcpServers 配置中。
{
"mcpServers": {
"paper": {
"type": "http",
"url": "https://latex-tools.online/mcp"
}
}
}Remotely-callable MCP server for academic paper search, full-text retrieval & image→LaTeX, served at https://latex-tools.online/mcp.
Three corpora behind one normalized interface:
arxiv (default) — search, metadata, and full-text (HTML / markdown / LaTeX source)semanticscholar (alias s2) — the full S2 API surface: citation graph, authors, recommendations, full-text snippets, bulk datasetsopenalex (alias oa) — 316M all-field works: citation graph, authors with h-index, institutions, topics, influence metricsPlus a unified search_all that fuses all three corpora, image→LaTeX OCR, and LaTeX lint + PDF→text tooling.
read_paper fetch chain: arxiv.org/html/{id} → ar5iv fallback (markdown/html), or arxiv.org/e-print/{id} tarball main .tex (latex). Formulas are recovered from the LaTeXML alttext invariant.
Turn a formula or table image back into LaTeX (e.g. a figure cropped from a paper) without needing your own vision model. Backed by the co-located recognize service (PaddleOCR-VL / DeepSeek-OCR / texify).
Companions to the LaTeX/PDF web tools at latex-tools.online — same backends, exposed over MCP.
get_openalex_work · get_openalex_citations · get_openalex_references · search_openalex_works (filters: year range, open-access, min-citations, institution)search_openalex_authors · search_openalex_institutionsget_openalex_trends · list_openalex_topicsget_paper_citations · get_paper_references · get_paper_authorsmatch_paper_title · autocomplete_paperssearch_papers_bulk (≤1000, sortable, token paging) · get_papers_batchsearch_authors · get_author · get_author_papers · get_authors_batchsearch_snippets (search inside paper body)recommend_papers_for_paper · recommend_papers_from_exampleslist_dataset_releases · get_dataset_release · get_dataset_download_links · get_dataset_diffs_USER_AGENT, backoff).read_paper covers ~80%+ of papers via official HTML; older scan-only papers may have no full text.docs repo on 2026-06-07; that copy is gone.MIT © MCPServings. See LICENSE.
来源:README.md,提交 c6c8290
Search academic papers. Returns normalized hits with a short abstract preview; call get_paper for the full record.
query必填startsourcesort_bymax_resultsAggregated 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.
query必填sourcesper_sourcemax_resultsEvidence-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.
query必填year_frommax_resultsstudy_typesfetch_fulltextFetch one paper by id, with full abstract and PDF link.
sourcepaper_id必填Find papers by a specific author, newest first.
startauthor必填sourcemax_resultsList the latest papers in a subject category, newest first.
startsourcecategory必填max_resultsList common subject category codes for filtering/recent.
sourceRead 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.
formatsourcepaper_id必填List available paper corpora.
无需输入参数。
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}.
modelimage_urlimage_base64Recognize 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}.
modelimage_urlimage_base64List the OCR models available for recognize_formula / recognize_table.
无需输入参数。
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}.
code必填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.
tableformulapdf_urlpdf_base64Fetch 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.
task_id必填Semantic Scholar: papers that CITE this one (forward citation graph). id accepts S2 id / DOI: / ARXIV: / CorpusId:.
startpaper_id必填max_resultsSemantic Scholar: papers this one REFERENCES (its bibliography). id accepts S2 id / DOI: / ARXIV: / CorpusId:.
startpaper_id必填max_resultsSemantic Scholar: the authors of a paper (with h-index, paper/citation counts).
startpaper_id必填max_resultsSemantic Scholar: find the single paper whose title best matches the given text (exact-match lookup).
title必填Semantic Scholar: autocomplete paper titles for a partial query (fast type-ahead).
query必填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.
sortyearquery必填tokenvenuemax_resultsfields_of_studyopen_access_pdfpublication_typesSemantic Scholar: fetch many papers at once by id (S2/DOI:/ARXIV:/CorpusId:), up to ~500 per call.
ids必填Semantic Scholar: search for authors by name; returns profiles with h-index and paper/citation counts.
query必填startmax_resultsSemantic Scholar: a single author's profile by id.
author_id必填Semantic Scholar: all papers by a given author id, newest first.
startauthor_id必填max_resultsSemantic Scholar: fetch many authors at once by id.
ids必填Semantic Scholar: search INSIDE paper full text and return matching text snippets (not just titles/abstracts).
query必填max_resultsSemantic 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.
poolpaper_id必填max_resultsSemantic Scholar: recommend papers from positive (and optional negative) example paper ids.
max_resultsnegative_idspositive_ids必填Semantic Scholar Datasets: list all available release ids (dated snapshots of the full corpus).
无需输入参数。
Semantic Scholar Datasets: which datasets a release contains (papers, abstracts, citations, embeddings, s2orc, tldrs…). release_id defaults to 'latest'.
release_idSemantic Scholar Datasets: get download links (presigned URLs) for one dataset in a release. Needs the API key.
release_iddataset_name必填Semantic Scholar Datasets: incremental diff (added/updated/deleted) for a dataset between two releases. Needs the key.
end_releasedataset_name必填start_release必填OpenAlex: fetch one work's full record (316M-work, all-field corpus). id accepts OpenAlex Wxxxx, a DOI, or an arXiv id.
work_id必填OpenAlex: papers that CITE this work (forward citation graph), most-cited first.
startwork_id必填max_resultsOpenAlex: the works this one REFERENCES (its bibliography).
work_id必填max_resultsOpenAlex: search authors; returns profiles with h-index, i10-index, works/citation counts and institutions.
query必填startmax_resultsOpenAlex: search institutions (universities, labs) with ROR id, country, works/citation counts.
query必填max_resultsOpenAlex: advanced filtered work search. Filters: from_year, to_year, is_oa (open access only), min_citations, institution_id. sort_by: relevance|newest|cited.
is_oaquerysort_byto_yearfrom_yearmax_resultsmin_citationsinstitution_idOpenAlex: 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).
query必填group_byOpenAlex: search the topic taxonomy (~4500 topics) to find the right subject term for filtering or recent-work queries.
query必填max_results已满足适用检查项的 100%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
paper_mcp/ server.py FastMCP server (tool registrations + instructions) models.py normalized Paper model aggregate.py cross-source fusion (dedup + Reciprocal Rank Fusion) sources/ base.py source registry (get_source / list_sources) arxiv.py arXiv Atom API + read_paper (HTML/markdown/latex) semanticscholar.py Semantic Scholar full API surface openalex.py OpenAlex REST API (works/authors/institutions/topics) recognize.py image→LaTeX client over the co-located recognize service latextools.py lint + PDF-extract clients over the latex-tools.online servicespyproject.tomlcd paper-mcppython -m venv .venv && . .venv/bin/activatepip install -e .PAPER_MCP_PORT=9400 python -m paper_mcp.server# MCP endpoint at http://127.0.0.1:9400/mcp (JSON-RPC; a plain GET returns 406)