Skip to main content
Glama

arxiv-latex MCP Server

PyPI version License: MIT GitHub Release Trust Score

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. 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 paper

  • get_paper_abstract — Get just the abstract

  • list_paper_sections — List section headings of a paper

  • get_paper_section — Get a specific section by path

Related MCP server: mcp-simple-arxiv

Example

Try asking questions about a paper from arXiv, e.g., "Explain the first theorem in 2202.00395"

Available Tools

4 tools
get_paper_abstractA

Get just the abstract of an arXiv paper. Use this for a quick preview when the user hasn't read the paper yet, not when they provide an arXiv ID to discuss a paper.

ParametersJSON Schema
NameRequiredDescriptionDefault
arxiv_idYesThe arXiv ID of the paper (e.g., '2403.12345')

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It implies a safe, read-only operation without side effects. However, it does not disclose behavior on invalid arxiv_ids or mention any API rate limits or authentication, which would be helpful. Still, the purpose is simple and well-communicated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: one stating the core function and one specifying usage context. Every word earns its place; no redundancy or fluff. It is compact and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one required parameter, no output schema, no nested objects), the description fully covers what the agent needs: purpose, usage guidelines, and parameter meaning. It is complete for the given complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (the parameter 'arxiv_id' is described with an example). The tool description adds no additional semantics beyond the schema, hitting the baseline. No further parameter details are necessary for this simple tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states it retrieves 'just the abstract of an arXiv paper', specifying the resource (arXiv paper) and scope (abstract only). It distinguishes from sibling tools like get_paper_section by emphasizing 'just the abstract' and its use case as a quick preview.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear guidance on when to use ('quick preview when the user hasn't read the paper yet') and when not to use ('not when they provide an arXiv ID to discuss a paper'). This contrasts with sibling tools that likely focus on sections or prompts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_paper_promptA

Recommended default: fetch the full LaTeX source of an arXiv paper for precise interpretation of mathematical expressions.

ParametersJSON Schema
NameRequiredDescriptionDefault
arxiv_idYesThe arXiv ID of the paper (e.g., '2403.12345')

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It only mentions 'precise interpretation of mathematical expressions' as a rationale but omits behavioral details like authentication, rate limits, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with front-loaded recommendation. No wasted words, though it could have a slightly more structured format (e.g., separating action from rationale).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given low complexity (1 param, no output schema), the description covers purpose and context. However, it lacks details on return format (e.g., raw LaTeX text), which would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage (arxiv_id described in schema), the description adds no extra meaning beyond the schema. The parameter is self-explanatory, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches the full LaTeX source of an arXiv paper, using specific verb 'fetch' and resource 'full LaTeX source'. It distinguishes from siblings like get_paper_abstract and get_paper_section by focusing on complete source.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Recommended default' implies a usage context and contrasts with other tools for different needs (abstract, sections). However, it does not explicitly state when not to use it or provide exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_paper_sectionA

Get a specific section of an arXiv paper by section path. Use when the full paper is too long for context or the user wants to focus on a particular section. Use list_paper_sections first to find available paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
arxiv_idYesThe arXiv ID of the paper (e.g., '2403.12345')
section_pathYesThe section path to extract (e.g., '1', '2.1', 'Introduction'). Use list_paper_sections to find available paths.

TDQS

A4.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so description carries full burden. It describes a read operation but lacks details on error handling, prerequisites (e.g., paper must be cached), or what happens if the section path is invalid. Basic but not misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no extraneous text. Action verb and resource are front-loaded. Every sentence serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with two parameters and no output schema. The description covers purpose, usage guidance, and parameter context adequately. No gaps remain given the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters are fully documented in the schema (100% coverage). The description adds value by instructing to use list_paper_sections for valid section_paths, going beyond schema details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get a specific section of an arXiv paper by section path.' It distinguishes from sibling tools like get_paper_abstract and list_paper_sections.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use ('when the full paper is too long' or 'user wants to focus') and instructs to use list_paper_sections first, differentiating from alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_paper_sectionsA

List section headings of an arXiv paper. Useful when the full paper is too long for context and you need to identify which sections to fetch individually.

ParametersJSON Schema
NameRequiredDescriptionDefault
arxiv_idYesThe arXiv ID of the paper (e.g., '2403.12345')

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries the burden. It clearly states the tool lists headings, implies read-only behavior, and provides context on its utility. No hidden side effects are mentioned, but for a list operation this is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the verb and resource, no wasted words. The purpose and usage are conveyed efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity (one parameter, no output schema), the description fully covers what the tool does and when to use it. No missing information for effective selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter with 100% schema coverage. The description adds a concrete example ('2403.12345'), which clarifies the expected format beyond the schema's description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists section headings of an arXiv paper, and distinguishes it from sibling tools like get_paper_section by clarifying it's for identifying which sections to fetch individually.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly explains when to use: when the full paper is too long for context, to identify sections for individual retrieval. This guides the agent on when to prefer this over other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv0.2.2
    • First observedget_paper_abstract
    • First observedget_paper_prompt
    • First observedget_paper_section
    • First observedlist_paper_sections

TDQS

A4.3/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: abstract retrieval, full LaTeX source, specific section, and section listing. No overlap in functionality.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern using snake_case, with verbs 'get' and 'list' appropriately distinguishing retrieval types.

Tool Count5/5

Four tools is well-scoped for the domain of fetching arXiv paper content, covering key operations without unnecessary bloat.

Completeness4/5

The set covers core paper retrieval tasks (abstract, full source, sections), but lacks a search tool or metadata-only retrieval, which are minor gaps.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    The ArXiv MCP Server bridges the gap between AI models and academic research by providing a sophisticated interface to arXiv's extensive research repository. This server enables AI assistants to perform precise paper searches and access full paper content, enhancing their ability to engage with scientific literature.
    19
    3,108
    Apache 2.0
  • F
    license
    A
    quality
    D
    maintenance
    A streamlined MCP server that connects AI assistants to arXiv's vast collection of academic papers, enabling search, retrieval, and analysis of research papers.
    7
    1
    -