arxiv_get_metadata
Get full metadata for one or more arXiv papers by ID. Use when you have known IDs from citations, prior search results, or memory.
Search arXiv, resolve IDs from a bibliography, and read a paper's full text without leaving the assistant.
LABSCO SUMMARY
arxiv_read_paper falls through native HTML, then ar5iv, then the PDF, and the source field says which one you got. That matters: PDF-extracted bodies read fine as prose but flatten math, tables and heading structure, so an agent summarising equations out of one is on thin ice.
A read-only arXiv client. It searches using arXiv's own field prefixes and boolean operators, batches metadata for known IDs, and fetches paper bodies — trying arXiv's native HTML render first, then ar5iv, then text extracted from the PDF.
No account and no key — the arXiv API is free and the metadata is CC0. A public instance runs at https://arxiv.caseyjhand.com/mcp over Streamable HTTP, or install @cyanheads/arxiv-mcp-server and run it yourself over stdio or HTTP; the registry entry launches it under bun. ARXIV_REQUEST_DELAY_MS defaults to 3000 to honour arXiv's crawl delay, ARXIV_API_TIMEOUT_MS to 15000 and ARXIV_CONTENT_TIMEOUT_MS to 30000. Self-hosted HTTP binds 127.0.0.1 on port 3010 at /mcp, with MCP_AUTH_MODE none by default.
One command — npx -y @cyanheads/arxiv-mcp-server
USE CASES
Search with a category filter built from real codes, sorted by submission date.
Batch up to ten at once and get the ones that do not exist reported separately.
Fetch the body a character window at a time, and check which render it came from.
Walk consecutive submission windows so the result set is not cut off by pagination.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
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.
arxiv_list_categoriesList arXiv category codes and names. Useful for discovering valid category filters for arxiv_search. Lists subject classes only; arxiv_search also accepts a bare archive code (the part before the dot, e.g. "astro-ph" or "cs") to search a whole archive at once.
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 and max_characters, or pass max_characters null to get the entire body in one call.
arxiv_searchSearch arXiv papers by query with category and sort filters. Returns paper metadata including title, authors, abstract, categories, and links.
BEFORE YOU INSTALL
4 tools when we connected. Every tool only reads and none needs authentication; arxiv://paper/{paperId} and arxiv://categories are resources, not tools.
CONTEXT COST
Rated by the size of the 4 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx -y @cyanheads/arxiv-mcp-serverhttps://arxiv.caseyjhand.com/mcpAdd this hosted endpoint to your MCP client.
{
"mcpServers": {
"arxiv-mcp-server": {
"type": "stdio",
"command": "bunx",
"args": [
"@cyanheads/arxiv-mcp-server@latest"
]
}
}
}https://cursor.com/en/install-mcp?name=arxiv-mcp-server&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjeWFuaGVhZHMvYXJ4aXYtbWNwLXNlcnZlciJdfQ==https://vscode.dev/redirect?url=vscode:mcp/install?%7B%22name%22%3A%22arxiv-mcp-server%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40cyanheads/arxiv-mcp-server%22%5D%7D{
"mcpServers": {
"arxiv-mcp-server": {
"type": "streamable-http",
"url": "https://arxiv.caseyjhand.com/mcp"
}
}
}Clients spell the "type" value differently: Claude Code and VS Code use "http", Cline uses "streamableHttp", and Roo Code uses "streamable-http". Claude Desktop does not accept a URL entry in its config file; remote servers go under Settings → Connectors.