io.github.MCPServings/paper-mcp

Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.

Endpointhttps://latex-tools.online/mcp (streamable-http)
Registry version0.5.0
Now41 tools · grade C (75) · pin ts_b93adcd7789576418ebfd59f87626fff · protocol 2025-06-18
First / last listed2026-10-26 00:31 UTC / 2026-10-26 00:31 UTC
Grade over time2026-10-26: C (75), 41 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-10-26 00:31 UTC
41 tools, grade C (75)

Tools: search_papers search_all search_medical get_paper search_by_author list_recent list_categories read_paper list_paper_sources recognize_formula recognize_table list_ocr_models lint_latex extract_pdf extract_pdf_result get_paper_citations get_paper_references get_paper_authors match_paper_title autocomplete_papers search_papers_bulk get_papers_batch search_authors get_author get_author_papers get_authors_batch search_snippets recommend_papers_for_paper recommend_papers_from_examples list_dataset_releases get_dataset_release get_dataset_download_links get_dataset_diffs get_openalex_work get_openalex_citations get_openalex_references search_openalex_authors search_openalex_institutions search_openalex_works get_openalex_trends list_openalex_topics

Current tools (41)

search_papersSearch academic papers. Returns normalized hits with a short abstract preview; call get_paper for the full record.
params: query*, source, max_results, start, sort_by
search_allAggregated 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 sear
params: query*, max_results, sources, per_source
search_medicalEvidence-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 PM
params: query*, study_types, year_from, max_results, fetch_fulltext
get_paperFetch one paper by id, with full abstract and PDF link.
params: paper_id*, source
search_by_authorFind papers by a specific author, newest first.
params: author*, source, max_results, start
list_recentList the latest papers in a subject category, newest first.
params: category*, source, max_results, start
list_categoriesList common subject category codes for filtering/recent.
params: source
read_paperRead 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.
params: paper_id*, format, source
list_paper_sourcesList available paper corpora.
params: none
recognize_formulaRecognize 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}.
params: image_url, image_base64, model
recognize_tableRecognize 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}.
params: image_url, image_base64, model
list_ocr_modelsList the OCR models available for recognize_formula / recognize_table.
params: none
lint_latexLint 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}.
params: code*
extract_pdfExtract 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;
params: pdf_url, pdf_base64, formula, table
extract_pdf_resultFetch 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.
params: task_id*
get_paper_citationsSemantic Scholar: papers that CITE this one (forward citation graph). id accepts S2 id / DOI: / ARXIV: / CorpusId:.
params: paper_id*, max_results, start
get_paper_referencesSemantic Scholar: papers this one REFERENCES (its bibliography). id accepts S2 id / DOI: / ARXIV: / CorpusId:.
params: paper_id*, max_results, start
get_paper_authorsSemantic Scholar: the authors of a paper (with h-index, paper/citation counts).
params: paper_id*, max_results, start
match_paper_titleSemantic Scholar: find the single paper whose title best matches the given text (exact-match lookup).
params: title*
autocomplete_papersSemantic Scholar: autocomplete paper titles for a partial query (fast type-ahead).
params: query*
search_papers_bulkSemantic 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.
params: query*, sort, fields_of_study, year, venue, publication_types, open_access_pdf, token, max_results
get_papers_batchSemantic Scholar: fetch many papers at once by id (S2/DOI:/ARXIV:/CorpusId:), up to ~500 per call.
params: ids*
search_authorsSemantic Scholar: search for authors by name; returns profiles with h-index and paper/citation counts.
params: query*, max_results, start
get_authorSemantic Scholar: a single author's profile by id.
params: author_id*
get_author_papersSemantic Scholar: all papers by a given author id, newest first.
params: author_id*, max_results, start
get_authors_batchSemantic Scholar: fetch many authors at once by id.
params: ids*
search_snippetsSemantic Scholar: search INSIDE paper full text and return matching text snippets (not just titles/abstracts).
params: query*, max_results
recommend_papers_for_paperSemantic 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.
params: paper_id*, max_results, pool
recommend_papers_from_examplesSemantic Scholar: recommend papers from positive (and optional negative) example paper ids.
params: positive_ids*, negative_ids, max_results
list_dataset_releasesSemantic Scholar Datasets: list all available release ids (dated snapshots of the full corpus).
params: none
get_dataset_releaseSemantic Scholar Datasets: which datasets a release contains (papers, abstracts, citations, embeddings, s2orc, tldrs…). release_id defaults to 'latest'.
params: release_id
get_dataset_download_linksSemantic Scholar Datasets: get download links (presigned URLs) for one dataset in a release. Needs the API key.
params: dataset_name*, release_id
get_dataset_diffsSemantic Scholar Datasets: incremental diff (added/updated/deleted) for a dataset between two releases. Needs the key.
params: dataset_name*, start_release*, end_release
get_openalex_workOpenAlex: fetch one work's full record (316M-work, all-field corpus). id accepts OpenAlex Wxxxx, a DOI, or an arXiv id.
params: work_id*
get_openalex_citationsOpenAlex: papers that CITE this work (forward citation graph), most-cited first.
params: work_id*, max_results, start
get_openalex_referencesOpenAlex: the works this one REFERENCES (its bibliography).
params: work_id*, max_results
search_openalex_authorsOpenAlex: search authors; returns profiles with h-index, i10-index, works/citation counts and institutions.
params: query*, max_results, start
search_openalex_institutionsOpenAlex: search institutions (universities, labs) with ROR id, country, works/citation counts.
params: query*, max_results
search_openalex_worksOpenAlex: advanced filtered work search. Filters: from_year, to_year, is_oa (open access only), min_citations, institution_id. sort_by: relevance|newest|cited.
params: query, from_year, to_year, is_oa, min_citations, institution_id, sort_by, max_results
get_openalex_trendsOpenAlex: 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).
params: query*, group_by
list_openalex_topicsOpenAlex: search the topic taxonomy (~4500 topics) to find the right subject term for filtering or recent-work queries.
params: query*, max_results

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.