arxiv-latex MCP Server

io.github.takashiishida/arxiv-latex-mcp

Overview

MCP server that fetches and processes arXiv LaTeX sources so LLM clients can inspect papers, abstracts, section lists, and specific sections with math-aware source text.

Documentation

arxiv-latex MCP Server

An MCP server for Claude Desktop, Claude Code, Cursor, and other MCP clients to access arXiv papers through their LaTeX source. It uses arxiv-to-prompt to download and process arXiv source archives, which helps LLMs handle mathematical expressions more accurately than PDF extraction.

Install and Launch

Default PyPI launch:

{
  "mcpServers": {
    "arxiv-latex-mcp": {
      "command": "uvx",
      "args": ["arxiv-latex-mcp"]
    }
  }
}

The package can also be installed with pip install arxiv-latex-mcp and launched as arxiv-latex-mcp, or run as python -m arxiv_latex_mcp. Local checkout use is documented with uv --directory /ABSOLUTE/PATH/TO/arxiv-latex-mcp run python -m arxiv_latex_mcp.

Capabilities

  • get_paper_prompt: fetch the full flattened LaTeX source of an arXiv paper.
  • get_paper_abstract: fetch just the paper abstract.
  • list_paper_sections: list section headings for a paper.
  • get_paper_section: fetch a specific section by section path.

Requirements and Limitations

  • Requires Python 3.10 or newer.
  • Requires network access to arXiv and the dependencies httpx, mcp[cli], and arxiv-to-prompt.
  • This is a stdio MCP server; no HTTP remote endpoint is documented.
  • Tool calls require an arxiv_id; get_paper_section also requires section_path.
  • Processing depends on arXiv source availability and the ability of arxiv-to-prompt to process the paper source.

Wardn Hub Source Review Notes

  • Wardn import was called first but returned 404 with no usable imported serverJson; no imported transport fields were available to preserve.
  • Package identifier and version are split: PyPI identifier arxiv-latex-mcp, version 0.2.2.
  • No application runtime environment variables are documented for the default PyPI launch.
  • manifest.json contains a Desktop Extension bundle-internal PYTHONPATH value using .; it is not copied into the package launch env because placeholders are not allowed and the default uvx launch does not need it.