Skip to content
MCP Shelf

arXiv MCP Server

View on GitHub

Search arXiv, download papers and read them in full.

  • Started in our test
  • ★ 3.2K GitHub stars
  • 19K downloads a week
  • Last commit 8 Oct 2026

At a glance

The server searches arXiv by query, date and category, downloads papers, converts them to text and keeps them in a local folder. The assistant can then read whole papers instead of abstracts, and list what you have already saved.

It also ships prompts for structured paper analysis.

Made by
Joe Blazick and contributors
Licence
Apache-2.0
Latest version
0.8.2 (8 Oct 2026)
PyPI package
arxiv-mcp-server
GitHub stars
3.2K
Downloads
19K a week
Last commit
8 Oct 2026
Tools
19
Runs on
Your computer

Our check: We ran this exact config on 26 Oct 2026: it started and answered with 19 tools. The npm package called "arxiv-mcp-server" comes from a different repository (r-uben/arxiv-mcp-server). This project publishes to PyPI under that name, so it runs with uvx.

What's in the pod: its tools

We found 19 tools when we started it on 26 Oct 2026. 11 only read. The rest can change things, so keep your app's "ask before each tool call" setting on for them.

Changes things8 tools · Can create, edit, send or delete.

ToolWhat it is for
check_alertsGoes through every saved watch and reports just the new papers that appeared since you last looked.
download_paperSaves a paper locally and returns its text, using arXiv's HTML version where it exists and the PDF otherwise.
get_paper_latexFetches the paper's original LaTeX source, in bounded chunks.
get_paper_latex_sectionReturns one section of the LaTeX source, with macros expanded.
list_paper_latex_sectionsLists the headings in a paper's LaTeX source.
reindexRebuilds the local search index over your downloaded papers.
unwatch_topicDeletes a saved topic watch.
watch_topicSaves a research topic so check_alerts can tell you about new papers on it.

Only reads11 tools · Looks things up and changes nothing.

ToolWhat it is for
citation_graphLists papers that cite a paper and papers it cites, using Semantic Scholar.
export_citationsWrites BibTeX entries straight from arXiv's own metadata, so nothing is made up.
get_abstractFetches a paper's title, authors and abstract without downloading it, to judge relevance first.
get_paper_outlineLists the headings of a downloaded paper with ids you can read section by section.
list_papersLists the papers you have downloaded.
list_watchesLists your saved topic watches.
read_paperReads a downloaded paper as Markdown, in pieces of about 12,000 characters.
read_paper_sectionReads just one section of a downloaded paper.
search_paper_textFinds passages inside one downloaded paper that match a phrase.
search_papersSearches arXiv by keywords, author, title or category, with date ranges and sorting.
semantic_searchFinds papers in your local library that are close in meaning to a question.

Grouped and described by us. The README on GitHub lists the inputs each tool takes.

Set it up

Pick your app for the exact snippet and where it goes.

Where it goes: claude_desktop_config.json (Settings → Developer → Edit Config)

Claude Desktop
{
  "mcpServers": {
    "arxiv": {
      "command": "uvx",
      "args": [
        "arxiv-mcp-server",
        "--storage-path",
        "/path/to/papers"
      ]
    }
  }
}

New to this? See the setup guides for Claude Code, Cursor, Claude Desktop and ChatGPT.

Settings

Names are exactly as the project spells them. Required ones are marked.

SettingWhat it does
--storage-pathCommand line flagFolder for downloaded papers, cached sources, alerts and the search index. Defaults to ~/.arxiv-mcp-server/papers.--storage-path /absolute/path/to/papers
ARXIV_REQUEST_TIMEOUTEnvironment variableSeconds to wait on each arXiv request. Defaults to 30.
ARXIV_MAX_TOTAL_TIMEEnvironment variableOverall seconds allowed for one tool call. Defaults to 50.
ARXIV_MAX_RETRIESEnvironment variableHow many times to retry after a timeout or rate limit. Defaults to 2.

What it can touch

It can read

  • arXiv's public search, abstracts, HTML, PDFs and LaTeX
  • Citation data from Semantic Scholar

It can change

  • Saves papers, an index and your topic watches in the storage folder on your computer

Safer setup: It only reads public research. Point --storage-path at a folder you are happy to fill with papers.

Before you start

  • uv (for uvx)
  • A folder for downloaded papers

If it does not work

A desktop client cannot find uvx
Use the full path to uvx in the config, found with which uvx or where uvx.
Newer tools such as the LaTeX readers are missing
uvx keeps an old cached copy. Refresh it with uvx --refresh-package arxiv-mcp-server on Python 3.11, then restart your client.
Downloads fail or time out
arXiv throttles busy IP addresses. Wait a little, or raise ARXIV_MAX_TOTAL_TIME and ARXIV_REQUEST_TIMEOUT.
semantic_search or PDF conversion is unavailable
They are optional extras. Install arxiv-mcp-server[pdf] for PDF conversion or arxiv-mcp-server[pro] for local semantic search.

Peas in a pod: similar servers

How arXiv MCP Server lines up against other knowledge and work apps servers on the shelf.

ServerToolsRuns onLicenceStars
arXiv MCP Server19Your computerApache-2.03.2K
Notion24Your computer or hostedMIT4.7K
MCP Atlassian (Jira and Confluence)98Your computer–6K
Basic Memory27Your computerAGPL-3.0-or-later4.4K
LinkedIn MCP Server20Your computerApache-2.04K

Questions

Is it just a search wrapper?

No. Beyond search it downloads, stores and indexes papers, reads them section by section, follows citations and watches topics for new work.

Does it need an API key?

No. arXiv and Semantic Scholar are used without keys.

Can it make my bibliography?

Yes. export_citations writes BibTeX from arXiv's records rather than letting the model guess details.

What licence is it?

Apache 2.0.

Full docs on GitHubblazickjp/arxiv-mcp-server

Something wrong on this page? Tell us.

More in Knowledge and work apps