arxiv-latex-mcp
Provides tools for fetching and processing arXiv papers by retrieving their LaTeX source, enabling detailed analysis of mathematical and scientific content.
Click on "Deploy 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., "@arxiv-latex-mcpExplain the first theorem in 2202.00395"
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.
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.
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_mcpIf 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 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 toolsget_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.
| Name | Required | Description | Default |
|---|---|---|---|
| arxiv_id | Yes | The arXiv ID of the paper (e.g., '2403.12345') |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| arxiv_id | Yes | The arXiv ID of the paper (e.g., '2403.12345') |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| arxiv_id | Yes | The arXiv ID of the paper (e.g., '2403.12345') | |
| section_path | Yes | The section path to extract (e.g., '1', '2.1', 'Introduction'). Use list_paper_sections to find available paths. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| arxiv_id | Yes | The arXiv ID of the paper (e.g., '2403.12345') |
TDQS
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.
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.
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.
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.
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.
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.
4 tool updates
v0.2.2- First observed
get_paper_abstract - First observed
get_paper_prompt - First observed
get_paper_section - First observed
list_paper_sections
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: abstract retrieval, full LaTeX source, specific section, and section listing. No overlap in functionality.
All tools follow a consistent verb_noun pattern using snake_case, with verbs 'get' and 'list' appropriately distinguishing retrieval types.
Four tools is well-scoped for the domain of fetching arXiv paper content, covering key operations without unnecessary bloat.
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
Related MCP Connectors
arXiv MCP — preprint server search (free, no auth)
Academic research MCP server for paper search, citation checks, graphs, and deep research.
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Related MCP Servers
- AlicenseAqualityAmaintenanceThe 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.193,108Apache 2.0
- AlicenseAqualityFmaintenanceAn MCP server that provides access to arXiv papers through their API.4199MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude and other MCP clients to access and process arXiv papers by fetching their LaTeX source code, providing accurate interpretation of mathematical equations and notations that PDF processing often struggles with.MIT
- FlicenseAqualityDmaintenanceA streamlined MCP server that connects AI assistants to arXiv's vast collection of academic papers, enabling search, retrieval, and analysis of research papers.71-