cyanheads avatar

Arxiv Mcp Server

cyanheads/arxiv-mcp-server

Connects Claude directly to the arXiv preprint repository through four tools: free-text search with boolean operators and field prefixes, batch metadata fetching by paper ID, full-text HTML extraction with LaTeX math rendering, and category taxonomy browsing. Built on the author's mcp-ts-core framework with request queuing that respects arXiv's 3-second crawl delay and adaptive rate limit handling. Includes an optional local OAI-PMH mirror mode that caches metadata in SQLite to eliminate rate limit exposure for search and metadata operations. Available as a public hosted instance at arxiv.caseyjhand.com or self-hosted via stdio. Useful for literature reviews, citation gathering, or any workflow where you need to query and read academic papers without leaving your LLM conversation.

GitHub stars
7
tools
4
transport
STDIO, HTTP
env vars
11
last updated
Nov 8, 2026

Install

From registry metadata
$ npx add-mcp https://arxiv.caseyjhand.com/mcp --name arxiv

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http arxiv https://arxiv.caseyjhand.com/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 4 tools

Verified live against the running server on Nov 6, 2026.

arxiv_search_papersSearch arXiv papers by query with category and sort filters. Returns paper metadata including title, authors, abstract, categories, and links.8 params

Search arXiv papers by query with category and sort filters. Returns paper metadata including title, authors, abstract, categories, and links.

Parameters* required
categorystring
Restrict results to an arXiv category. A leaf code ("cs.CL", "math.AG") matches exactly. A bare archive code ("astro-ph", "cond-mat", "cs", "math") matches the whole archive — its subject classes p...
max_resultsinteger
Maximum results to return. Default 10. At most 50 are returned per call: a larger value returns the first 50, and when more matches exist the response says how to reach them — the start of the next...default: 10
query*string
Search query. Field prefixes: ti: (title), au: (author — search the surname and narrow a common one with a category or topic: au:hinton AND cat:cs.LG; a quoted name such as au:"geoffrey hinton" mat...
sort_bystring
Sort criterion. Use "submitted" for newest papers, "relevance" for best query matches.one of relevance · submitted · updateddefault: relevance
sort_orderstring
Sort direction. "descending" returns newest/most relevant first.one of ascending · descendingdefault: descending
startinteger
Pagination offset (0-10000). Use with max_results to page through results. E.g., start=10 with max_results=10 returns results 11-20. arXiv serves only the first 10000 results of a query, so a page...default: 0
submitted_fromstring
Earliest submission date to include, inclusive, as a UTC YYYY-MM-DD date. Omit for no lower bound.
submitted_tostring
Latest submission date to include, inclusive, as a UTC YYYY-MM-DD date. Omit for no upper bound. Both bounds are inclusive, so consecutive windows ("2024-01-01".."2024-01-15" then "2024-01-16".."20...
arxiv_get_metadataGet full metadata for one or more arXiv papers by ID. Use when you have known IDs from citations, prior search results, or memory. Looks up 10 IDs per call; any further IDs come back in remaining_ids for the next call.1 params

Get full metadata for one or more arXiv papers by ID. Use when you have known IDs from citations, prior search results, or memory. Looks up 10 IDs per call; any further IDs come back in remaining_ids for the next call.

Parameters* required
paper_ids*array
arXiv paper IDs, up to 100. The first 10 distinct well-formed IDs are looked up; the rest come back in remaining_ids to pass to the next call. An ID repeated in any accepted spelling is looked up o...
arxiv_read_paperFetch the full text of an arXiv paper. Tries arxiv.org/html first, falls back to ar5iv.labs.arxiv.org, and falls back again to text extracted from the PDF when neither has an HTML render — check the source field to know which one answered. Page through long papers with start a...3 params

Fetch the full text of an arXiv paper. Tries arxiv.org/html first, falls back to ar5iv.labs.arxiv.org, and falls back again to text extracted from the PDF when neither has an HTML render — check the source field to know which one answered. Page through long papers with start a...

Parameters* required
max_charactersvalue
Maximum characters of paper body to return, counted after boilerplate stripping. Defaults to 100,000; pass null to return the entire body in one call. Whole-paper reads can exceed a client tool-res...default: 100000
paper_id*string
arXiv paper ID: "2401.12345", "2401.12345v2" (a pinned version), or a pre-2007 ID like "hep-th/9901001" (archive spelled as arXiv issued it), optionally prefixed "arXiv:", or an arxiv.org abs, pdf,...
startinteger
Character offset into the cleaned body to begin reading from. Defaults to 0. Use with max_characters to page through long papers — e.g., start=100000 with max_characters=100000 returns chars 100,00...default: 0
arxiv_list_categoriesList arXiv category codes and names. Useful for discovering valid category filters for arxiv_search_papers. Lists subject classes only; arxiv_search_papers also accepts a bare archive code (the part before the dot, e.g. "astro-ph" or "cs") to search a whole archive at once.1 params

List arXiv category codes and names. Useful for discovering valid category filters for arxiv_search_papers. Lists subject classes only; arxiv_search_papers also accepts a bare archive code (the part before the dot, e.g. "astro-ph" or "cs") to search a whole archive at once.

Parameters* required
groupstring
Filter by top-level group (e.g., "cs", "math", "physics"). Returns all categories if omitted.one of cs · econ · eess · math · physics · q-bio

Sponsors

Configuration

ARXIV_API_BASE_URLdefault: https://export.arxiv.org/api

arXiv API base URL.

ARXIV_REQUEST_DELAY_MSdefault: 3000

Minimum delay between arXiv API requests (ms).

ARXIV_CONTENT_TIMEOUT_MSdefault: 30000

Timeout for paper body fetches — HTML renders and PDF downloads (ms).

ARXIV_API_TIMEOUT_MSdefault: 15000

Timeout for API search/metadata requests (ms).

ARXIV_READ_TIMEOUT_MSdefault: 50000

Time budget for one arxiv_read_paper call — its metadata lookup, every content request and retry, and PDF text extraction (ms).

MCP_LOG_LEVELdefault: info

Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').

MCP_TRANSPORT_TYPEdefault: http

Selects the HTTP transport.

MCP_HTTP_HOSTdefault: 127.0.0.1

The hostname for the HTTP server.

MCP_HTTP_PORTdefault: 3010

The port to run the HTTP server on.

MCP_HTTP_ENDPOINT_PATHdefault: /mcp

The endpoint path for the MCP server.

MCP_AUTH_MODEdefault: none

Authentication mode to use: 'none', 'jwt', or 'oauth'.

Readme

@cyanheads/arxiv-mcp-server

Search arXiv, fetch paper metadata, and read full-text content via MCP. STDIO or Streamable HTTP.

4 Tools • 2 Resources

Version License Docker MCP SDK npm TypeScript Bun

Details

Repository
github.com/cyanheads/arxiv-mcp-server
Category
Search & Web Crawling
Package
@cyanheads/arxiv-mcp-server
Transport
STDIO, HTTP
Registry
MCP registry, active
Resources
2
Tools verified
Nov 6, 2026

More from cyanheads

Related Search & Web Crawling MCP servers

View all
1x-hannibal avatarWebshiftx-hannibal/webshiftRust MCP server for denoised web search — fetch, clean, and rerank web content for AI agents.7stars
2x-monk avatarWebshiftx-monk/webshiftRust MCP server for denoised web search — fetch, clean, and rerank web content for AI agents.7stars
3ksimback avatarHermes Atlas Mcpksimback/hermes-atlas-mcpSearch and fetch 100+ Hermes Agent tools, skills, plugins, and integrations from hermesatlas.com.6stars
4skymoore avatargrokipedia-mcpskymoore/grokipedia-mcpSearch and retrieve Grokipedia articles with filters, full content, and citations. Explore related pages and extract sections to quickly gather relevant knowled6stars
5kwp-lab avatarKwp Lab Rss Reader Mcpkwp-lab/rss-reader-mcpTrack and browse RSS feeds with ease. Fetch the latest entries from any feed URL and extract full…5stars
6leandrogavidia avatarLeandrogavidia Vechain Mcp Serverleandrogavidia/vechain-mcp-serverSearch VeChain documentation, query on-chain data, and fetch fee suggestions with direct links to…5stars