# arxiv-mcp-server

Searches arXiv, returns paper metadata, and reads full text. It helps an agent find research papers and inspect their contents.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 7
- Author: cyanheads
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/cyanheads/arxiv-mcp-server
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/mcp/cyanheads-arxiv-mcp-server

## What it does

arxiv-mcp-server gives an MCP client access to arXiv. It can search by query, category, and submission dates, retrieve metadata for paper IDs, and read a paper’s full text. Another tool lists the arXiv taxonomy. The server also exposes resources for paper metadata and categories.

You can connect through the hosted HTTP endpoint or run the package locally with `npx`. Search accepts field prefixes such as `ti:`, `au:`, and `cat:`, plus `AND`, `OR`, and `ANDNOT`. Results can be ordered by relevance, submission date, or update date. Full-text reading tries HTML, ar5iv, then PDF text extraction.

PDF extraction flattens mathematics, tables, and headings, so those parts may be harder to inspect than the HTML rendering.

## Requirements
- Needs: Node.js (commands run via npx)
- Remote server: `https://arxiv.caseyjhand.com/mcp`
- Environment variables: `ARXIV_API_BASE_URL`, `ARXIV_REQUEST_DELAY_MS`, `ARXIV_CONTENT_TIMEOUT_MS`, `ARXIV_API_TIMEOUT_MS`, `ARXIV_READ_TIMEOUT_MS`, `MCP_LOG_LEVEL`, `MCP_TRANSPORT_TYPE`, `MCP_HTTP_HOST`, `MCP_HTTP_PORT`, `MCP_HTTP_ENDPOINT_PATH` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

1. **Platform CLI: remote server**
```bash
claude mcp add --transport http arxiv-mcp-server https://arxiv.caseyjhand.com/mcp
```

2. **Platform CLI**
```bash
claude mcp add --env ARXIV_API_BASE_URL=<ARXIV_API_BASE_URL> --env ARXIV_REQUEST_DELAY_MS=<ARXIV_REQUEST_DELAY_MS> --env ARXIV_CONTENT_TIMEOUT_MS=<ARXIV_CONTENT_TIMEOUT_MS> --env ARXIV_API_TIMEOUT_MS=<ARXIV_API_TIMEOUT_MS> --env ARXIV_READ_TIMEOUT_MS=<ARXIV_READ_TIMEOUT_MS> --transport stdio cyanheads-arxiv-mcp-server -- npx -y @cyanheads/arxiv-mcp-server
```
Replace <…> with your own values. 6 more environment variables are in the server README

### Codex

1. **Platform CLI: remote server**
```bash
codex mcp add cyanheads-arxiv-mcp-server --url https://arxiv.caseyjhand.com/mcp
```

2. **Platform CLI**
```bash
codex mcp add cyanheads-arxiv-mcp-server --env ARXIV_API_BASE_URL=<ARXIV_API_BASE_URL> --env ARXIV_REQUEST_DELAY_MS=<ARXIV_REQUEST_DELAY_MS> --env ARXIV_CONTENT_TIMEOUT_MS=<ARXIV_CONTENT_TIMEOUT_MS> --env ARXIV_API_TIMEOUT_MS=<ARXIV_API_TIMEOUT_MS> --env ARXIV_READ_TIMEOUT_MS=<ARXIV_READ_TIMEOUT_MS> -- npx -y @cyanheads/arxiv-mcp-server
```
Replace <…> with your own values. 6 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "cyanheads-arxiv-mcp-server": {
            "url": "https://arxiv.caseyjhand.com/mcp"
        }
    }
}
```
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "cyanheads-arxiv-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@cyanheads/arxiv-mcp-server"
            ],
            "env": {
                "ARXIV_API_BASE_URL": "<ARXIV_API_BASE_URL>",
                "ARXIV_REQUEST_DELAY_MS": "<ARXIV_REQUEST_DELAY_MS>",
                "ARXIV_CONTENT_TIMEOUT_MS": "<ARXIV_CONTENT_TIMEOUT_MS>",
                "ARXIV_API_TIMEOUT_MS": "<ARXIV_API_TIMEOUT_MS>",
                "ARXIV_READ_TIMEOUT_MS": "<ARXIV_READ_TIMEOUT_MS>"
            }
        }
    }
}
```
Replace <…> with your own values. 6 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "cyanheads-arxiv-mcp-server": {
            "type": "http",
            "url": "https://arxiv.caseyjhand.com/mcp"
        }
    }
}
```
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "cyanheads-arxiv-mcp-server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@cyanheads/arxiv-mcp-server"
            ],
            "env": {
                "ARXIV_API_BASE_URL": "<ARXIV_API_BASE_URL>",
                "ARXIV_REQUEST_DELAY_MS": "<ARXIV_REQUEST_DELAY_MS>",
                "ARXIV_CONTENT_TIMEOUT_MS": "<ARXIV_CONTENT_TIMEOUT_MS>",
                "ARXIV_API_TIMEOUT_MS": "<ARXIV_API_TIMEOUT_MS>",
                "ARXIV_READ_TIMEOUT_MS": "<ARXIV_READ_TIMEOUT_MS>"
            }
        }
    }
}
```
Replace <…> with your own values. 6 more environment variables are in the server README

### Gemini CLI

1. **Platform CLI: remote server**
```bash
gemini mcp add -t http cyanheads-arxiv-mcp-server https://arxiv.caseyjhand.com/mcp
```

2. **Platform CLI**
```bash
gemini mcp add -e ARXIV_API_BASE_URL=<ARXIV_API_BASE_URL> -e ARXIV_REQUEST_DELAY_MS=<ARXIV_REQUEST_DELAY_MS> -e ARXIV_CONTENT_TIMEOUT_MS=<ARXIV_CONTENT_TIMEOUT_MS> -e ARXIV_API_TIMEOUT_MS=<ARXIV_API_TIMEOUT_MS> -e ARXIV_READ_TIMEOUT_MS=<ARXIV_READ_TIMEOUT_MS> cyanheads-arxiv-mcp-server npx -y @cyanheads/arxiv-mcp-server
```
Replace <…> with your own values. 6 more environment variables are in the server README

## When to use it
- find papers by topic, author, or category
- look up metadata for arXiv paper IDs
- read the full text of a publication
- list arXiv categories for search filtering

## Example prompts
- Find papers about `graph neural networks` in `cs.LG` and sort them by submission date.
- Fetch metadata for `2401.12345v2` and compare it with the paper’s latest version.
- Read `2401.12345` and outline the paper’s sections.

## Similar
- [Zotero MCP](https://affpapa.org/en/nevibecode/mcp/zotero-mcp.md) — MCP server · ★ 5585
- [arxiv-mcp-server](https://affpapa.org/en/nevibecode/mcp/arxiv-mcp-server.md) — MCP server · ★ 3235
- [PaperBanana](https://affpapa.org/en/nevibecode/mcp/paperbanana.md) — MCP server · ★ 2418
- [MATLAB MCP Server](https://affpapa.org/en/nevibecode/mcp/matlab-mcp-server.md) — MCP server · ★ 1723
- [Hex Research](https://affpapa.org/en/nevibecode/mcp/hex-research.md) — MCP server · ★ 584
- [DocsAgent — Zotero, Obsidian & Apple Notes MCP Server](https://affpapa.org/en/nevibecode/mcp/docsagent-zotero-obsidian-apple-notes-mcp-server.md) — MCP server · ★ 578

## Other versions with the same name
- [arxiv-mcp-server · blazickjp](https://affpapa.org/en/nevibecode/mcp/arxiv-mcp-server.md) — ★ 3235

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
