paper-mcp
Search, retrieve metadata, and access full-text (HTML, markdown, LaTeX source) of academic papers from arXiv.
Provides LaTeX code linting, automatic error fixing, image-to-LaTeX recognition for formulas and tables, and PDF-to-LaTeX/Markdown extraction.
Perform evidence-graded medical literature search with study type filtering and re-ranking by evidence pyramid, with open-access full-text retrieval via Europe PMC.
Access the full Semantic Scholar API surface including citation graph, authors, recommendations, full-text snippets, and bulk datasets.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@paper-mcpsearch for papers on quantum computing"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
paper-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(aliass2) — the full S2 API surface: citation graph, authors, recommendations, full-text snippets, bulk datasetsopenalex(aliasoa) — 316M all-field works: citation graph, authors with h-index, institutions, topics, influence metrics
Plus a unified search_all that fuses all three corpora, image→LaTeX OCR, and LaTeX lint + PDF→text tooling.
Tools (41)
Generic / source-agnostic (8)
Tool | Purpose |
| Unified search. Fans out to all three corpora concurrently, de-duplicates the same work (by DOI/title) and re-ranks with Reciprocal Rank Fusion. Each hit carries |
| Single-corpus search. arXiv |
| One paper's full record. S2 id accepts S2 id / |
| Papers by author, newest first. |
| Latest in a category (arXiv code or S2 field of study). |
| Common category codes. |
| FULL text (arXiv). |
| Available corpora. |
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.
Medical / evidence-graded (1)
Tool | Purpose |
| Clinical literature search. Queries PubMed, filters by research type via Publication-Type tags and re-ranks by the evidence pyramid (meta-analysis / systematic review > RCT > cohort > ...), so real trials surface above high-cited reviews/guidelines that pure-citation ranking floats up. Open-access full text is attached from Europe PMC by PMID. If the type filter yields nothing it auto-relaxes (flagged |
Image → LaTeX (3)
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).
Tool | Purpose |
| Formula image → LaTeX. |
| Table image → LaTeX |
| Available OCR models ( |
LaTeX tooling (3)
Companions to the LaTeX/PDF web tools at latex-tools.online — same backends, exposed over MCP.
Tool | Purpose |
| Check a LaTeX snippet for errors and return an auto-fixed version. Returns |
| PDF → clean Markdown/LaTeX text via MinerU (useful for papers with no open-access full text). |
| Fetch an |
OpenAlex (8)
Works:
get_openalex_work·get_openalex_citations·get_openalex_references·search_openalex_works(filters: year range, open-access, min-citations, institution)Authors/Institutions:
search_openalex_authors·search_openalex_institutionsAnalytics:
get_openalex_trends·list_openalex_topics
Semantic Scholar (18)
Graph:
get_paper_citations·get_paper_references·get_paper_authorsLookup:
match_paper_title·autocomplete_papersBulk:
search_papers_bulk(≤1000, sortable, token paging) ·get_papers_batchAuthors:
search_authors·get_author·get_author_papers·get_authors_batchFull-text:
search_snippets(search inside paper body)Recommend:
recommend_papers_for_paper·recommend_papers_from_examplesDatasets:
list_dataset_releases·get_dataset_release·get_dataset_download_links·get_dataset_diffs
Related MCP server: Academic Paper MCP HTTP/SSE Server
Layout
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 services
pyproject.tomlRun locally
cd paper-mcp
python -m venv .venv && . .venv/bin/activate
pip 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)Env
Var | Default | Notes |
|
| |
|
| |
|
| |
| — | optional; raises S2 rate limit. Set via |
|
| Direct-client JSON-RPC POST budget per IP. |
|
| Trusted reverse-proxy Worker budget per HMAC-derived connection key. Raw keys are not retained. |
|
| Shared ceiling across all trusted Worker connections. |
|
| Minimum fast-rejection cooldown after a bucket reaches its limit. |
Deployment (latex-tools.online)
Runs as
paper-mcp.serviceontencent-us(43.130.32.180), WorkingDirectory/opt/paper-mcp, loopback port 9400.nginx reverse-proxies
https://latex-tools.online/mcp→127.0.0.1:9400/mcp.Worker-aware buckets activate only when a trusted reverse proxy overwrites
X-MCP-Workerafter validating the upstream platform. Never pass through a client-supplied value.uvicorn access logging is disabled because legacy MCP clients may put connection keys and profiles in the endpoint URL. The reverse proxy must also log
$uri, not$request, for the MCP route.Secrets in
/etc/paper-mcp.env(SEMANTIC_SCHOLAR_API_KEY).Runtime systemd/nginx/env files are managed by the
tencent-usoperations backup, not by this source repository; never commit/etc/paper-mcp.env.
Update flow
This repo is the source of truth. The server runs an independent copy under /opt/paper-mcp (not auto-synced):
# edit here → push → deploy the complete canonical Python package
rsync -a --delete paper_mcp/ tencent-us:/opt/paper-mcp/paper_mcp/
ssh tencent-us 'systemctl restart paper-mcp'
ssh tencent-us 'curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:9400/mcp' # 406 = healthy (needs JSON-RPC handshake)Production parity verified on 2026-07-23: main@07f6bbe8622aa063f56ee222a40d19c5d4264048 matches all 12 deployed Python source files byte-for-byte. The older copy embedded in latex-tools-deploy/paper-mcp/ is not a deployment source.
Notes
arXiv calls are politely rate-limited + retried (
_USER_AGENT, backoff).read_papercovers ~80%+ of papers via official HTML; older scan-only papers may have no full text.Moved here from the
docsrepo on 2026-06-07; that copy is gone.
License
MIT © MCPServings. See LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceMulti-source academic paper search, citation graph exploration, and PDF download as an MCP server, designed for LLM agents doing research.Last updated101MIT
- Alicense-qualityDmaintenanceA MCP server for academic literature retrieval, aggregating multiple data sources like arXiv, Crossref, OpenAlex, PubMed, and Semantic Scholar to provide search, details, citations, trends, and recommendations.Last updated4MIT
- AlicenseAqualityDmaintenanceMCP server for searching, retrieving, and extracting full-text PDFs from arXiv papers.Last updated523MIT
- AlicenseAqualityBmaintenanceMCP server for searching and retrieving arXiv papers with full-text PDF extraction.Last updated53MIT
Related MCP Connectors
Academic research MCP server for paper search, citation checks, graphs, and deep research.
Semantic Scholar Academic Graph MCP.
Search and download academic papers from arXiv, PubMed, bioRxiv, medRxiv, Google Scholar, Semantic…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MCPServings/paper-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server