arxiv-latex MCP Server
An MCP server that enables Claude Desktop, Claude Code, Cursor, or other MCP clients to directly access and process arXiv papers by fetching the LaTeX source. It uses arxiv-to-prompt under the hood to handle downloading and processing the LaTeX.
Why use the LaTeX source instead of uploading PDFs? Many PDF chat applications often struggle with mathematical content and equation-heavy papers. By utilizing the original LaTeX source code from arXiv papers, the LLM can accurately understand and handle equations and notations. This approach is particularly valuable for fields like computer science, mathematics, and engineering where precise interpretation of mathematical expressions is crucial.
Installation
If you are using Claude Desktop, you can utilize Desktop Extensions by double-clicking on the .mcpb file to install.
Download the .mcpb file from here.
The extension needs Python 3.10+ with pip. On first launch, and whenever its dependency requirements or Python runtime change, it downloads wheels into a private cache inside the extension. This requires internet access; subsequent launches reuse that cache. Restart your MCP client after installing an updated extension.
Supported on macOS, Windows, and Linux.
Otherwise, you can run the server directly from PyPI with uvx:
{
"mcpServers": {
"arxiv-latex-mcp": {
"command": "uvx",
"args": ["arxiv-latex-mcp"]
}
}
}
You can also install it with pip install arxiv-latex-mcp and run arxiv-latex-mcp, or use:
python -m arxiv_latex_mcp
If you prefer to run from a local checkout, add the following configuration to your config file:
{
"mcpServers": {
"arxiv-latex-mcp": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/arxiv-latex-mcp",
"run",
"python",
"-m",
"arxiv_latex_mcp"
]
}
}
}
You may need to replace the command field with the full path of uv: check this by running which uv (MacOS/Linux) or where uv (Windows).
Restart the application after saving the above.
For Claude Desktop, click on the hammer icon, and you should see the following in the list of "Available MCP tools":
get_paper_prompt— Get the full flattened LaTeX of a paperget_paper_abstract— Get just the abstractlist_paper_sections— List section headings of a paperget_paper_section— Get a specific section by its title fromlist_paper_sections(Section > Subsectionfor a subsection)search_papers— Discover papers by topic, title, or author, optionally filtered by category and submission date
Searching for papers
Use search_papers when you do not yet have an arXiv ID. It returns paper IDs,
titles, authors, abstracts, categories, submission dates, and PDF links. Pass a
returned id to get_paper_prompt to read its LaTeX source. If you already have
an ID, call the reading tools directly.
For example, search with {"query": "ti:\"neural networks\"", "categories": ["cs.LG", "stat.ML"], "date_from": "2026-01-01", "max_results": 10, "sort_by": "date"}.
Categories are combined with OR and restrict the query. date_from and date_to
are inclusive submission dates in YYYY-MM-DD format (UTC). Searches return 10
papers by default, up to 50, sorted by relevance or by newest submission date.
Search requests share a three-second throttle; rate-limit errors ask you to wait
before retrying.
Caching
Paper sources are kept in arxiv-to-prompt's cache (the same one its CLI uses), so repeated calls on the same paper do not download it again. Unversioned IDs such as 2403.12345 are re-downloaded once their copy is older than 7 days, so revised papers are picked up. Versioned IDs such as 2403.12345v2 never change. If a refresh fails, the cached copy is used. To change this, set environment variables in the server's MCP config ("env": {...}):
| Variable | Default | Effect |
|---|---|---|
ARXIV_LATEX_MCP_CACHE |
1 |
0 turns caching off |
ARXIV_LATEX_MCP_CACHE_TTL_DAYS |
7 |
Age after which unversioned IDs are re-downloaded |
ARXIV_LATEX_MCP_CACHE_DIR |
arxiv-to-prompt's default | Cache location (default ~/.cache/arxiv-to-prompt, or %LOCALAPPDATA%\arxiv-to-prompt on Windows) |
Example
Try asking questions about a paper from arXiv, e.g., "Explain the first theorem in 2202.00395"
Metadata
Release files for arxiv-latex-mcp 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| arxiv_latex_mcp-0.3.0.tar.gz | 81.5 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| arxiv_latex_mcp-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 100.1 kB
Release files / arxiv_latex_mcp-0.3.0.tar.gz
| Download URL | arxiv_latex_mcp-0.3.0.tar.gz |
|---|---|
| Size | 81.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6541839700712ca34fb888f94dad3d166a45d7874167e09a8e093e28b1b5b630
|
|
BLAKE2b-256 checksum How to use checksums |
3836f12383c8f386e83cc8147bbd39db10b68f515f2832afb68cfdcdab9c620c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logRelease files / arxiv_latex_mcp-0.3.0-py3-none-any.whl
| Download URL | arxiv_latex_mcp-0.3.0-py3-none-any.whl |
|---|---|
| Size | 18.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d0e540db8d44fb2f53362661e76cb259cc28851350c46a9f36f76d70912f0f67
|
|
BLAKE2b-256 checksum How to use checksums |
0ad050dfdb0c56b25541a2995143f9b7a57a1259125580b894bec25eeec147c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logSecurity for arxiv-latex-mcp 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for arxiv_latex_mcp-0.3.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.