paper-mcp
Provides tools for searching arXiv papers with fielded queries, retrieving full metadata and abstracts, downloading and converting papers to markdown for reading, listing category codes, and managing a local cache of downloaded papers.
Click on "Install 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., "@paper-mcpsearch for recent papers on graph neural networks"
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.
paper-mcp
A local, Claude-native MCP server for searching and reading
arXiv papers. Successor to the Streamlit app in paper-distill/, rebuilt as a
plain stdio MCP server with first-class Claude Code support.
No API keys, no secrets, no server-side LLM. The server only searches arXiv and converts papers to markdown — Claude (the MCP client) does all summarization and Q&A. Cheap-model summarization is handled client-side by a bundled Claude Code subagent running on Haiku.
Requirements
Python 3.12+
Related MCP server: arXiv Research Assistant MCP Server
Setup
uv syncThat's it. Claude Code picks up the server automatically from the checked-in .mcp.json
when you start claude in this directory (approve the project-scoped server on first launch).
To register it elsewhere:
claude mcp add paper-mcp -- uv run --directory C:\path\to\paper-mcp python -m paper_mcpThe server is started as
python -m paper_mcprather than via thepaper-mcpconsole script: on locked-down Windows machines (AppLocker/WDAC), the generated.venv\Scripts\*.exeshims may be blocked from executing, whilepython.exeis allowed.
Tools
Tool | Description |
| Search arXiv (fielded queries |
| Full metadata + abstract for one paper (accepts IDs, |
| Download + convert the paper to markdown, paginated; also returns |
| Known arXiv category codes |
| Cache location and size |
| Delete one paper's cached files, or everything |
Prompts (slash commands in Claude Code)
/mcp__paper-mcp__summarize-paper <id> [paragraphs] [audience]— audience: High School, Undergraduate, Graduate, PhD/mcp__paper-mcp__ask-paper <id> "<question>"
Haiku summarization (Claude Code)
/summarize-paper <arxiv-id> [paragraphs] [audience]runs the bundledpaper-summarizersubagent on Haiku, so the full paper text never enters your main conversation context — only the summary comes back.
Configuration (optional)
Env var | Default | Purpose |
|
| Where PDFs and markdown are cached |
| 2 GiB | Cache size budget (oldest files evicted first) |
|
| Log level (logs go to stderr) |
Downloads are capped at 50 MB with a 60 s timeout. Cached paper versions are immutable, so there is no TTL — the cache is size-bounded instead.
Development
uv run python -m pytest -q # tests (no network needed)
uv run ruff check . # lint
uv run ruff format . # formatManual smoke test against the live server:
npx @modelcontextprotocol/inspector uv run python -m paper_mcpThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Friedemann12/paper-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server