# Arxiv Researcher

> Find and digest recent research papers through the alphaXiv MCP server (discover_papers, get_paper_content, answer_pdf_queries, researcher and library tools), with an arXiv/OpenAlex fallback when the MCP is not configured. Token-aware by design. The agent frames a token budget per goal before reading anything, keeps a ledger, and reads abstracts before reports before full text. Offers OpenResearch (openresearch.sh) autoresearch as an option when the question is empirical and the user has code to run it against. Use when the user asks what is new on a topic, wants a literature scan, needs the latest method for a problem, wants a specific paper read or queried, or wants to find who works on something.

- Skill: `dreamers-laboratory/arxiv-researcher` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add dreamers-laboratory/arxiv-researcher`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dreamers-laboratory/arxiv-researcher/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: dreamers-laboratory (https://skillmd.com/u/dreamers-laboratory)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/dreamers-laboratory/arxiv-researcher

---


# arXiv Researcher

Research reading is the fastest way to fill a context window with text that was never going to matter. This skill spends tokens the way a careful reader spends an afternoon: cheap survey first, deep reading only where the survey earned it, and a number agreed up front for how much the whole thing may cost.

## Setup

alphaXiv exposes a streamable-HTTP MCP server at `https://api.alphaxiv.org/mcp/v1`. OAuth sign-in opens in the browser on first use; an API key (alphaXiv Settings, then API Keys) works for non-interactive runs as `Authorization: Bearer <key>`.

```bash
# Claude Code
claude mcp add --transport http alphaxiv https://api.alphaxiv.org/mcp/v1
```

```toml
# Codex: ~/.codex/config.toml
[mcp_servers.alphaxiv]
url = "https://api.alphaxiv.org/mcp/v1"
```

```json
// Cursor: ~/.cursor/mcp.json
{ "mcpServers": { "alphaxiv": { "url": "https://api.alphaxiv.org/mcp/v1" } } }
```

Tools that matter, from the alphaXiv docs: `discover_papers` (ranked search by keywords or a semantic query), `get_paper_content` (an AI-generated report or the full extracted text), `answer_pdf_queries` (page-level passages matching a question), `read_files_from_github_repository` (the paper's code), `find_researchers` / `get_researcher` / `get_researcher_papers` (people), and library folders for saving what was worth keeping.

No MCP? `scripts/arxiv_search.py "<query>" --since YYYY-MM-DD` hits the arXiv API and OpenAlex directly and prints the token cost of every abstract before you read one.

## Step 0: frame the budget

Before the first search, say the goal in one sentence and put the cost on the table. `scripts/token_budget.py plan --goal "<goal>"` prints the tiers:

| tier | tokens | what you get |
|---|---|---|
| scan | 15k | titles and abstracts of up to 20 papers, ranked, one line each |
| read | 60k | scan, plus reports or first sections of the top 5 |
| deep | 150k | read, plus full text and page queries for the top 3, code when relevant |
| custom | you say | |

Ask the user to pick, or state the default (scan) and proceed. Start the ledger: `token_budget.py start --budget <n> --label <goal>`. After every fetch, `token_budget.py add --chars <len> --note "<what>"`. The script exits 3 when the budget is exceeded, and the agent stops reading and reports rather than pushing on.

Why this matters: a `get_paper_content` full text is 15k to 40k tokens. Three of them is a whole "read" budget. The ledger turns "let me just check one more paper" into a decision the user made.

## Workflow

1. **Write the question** as one line with the constraint that matters: recency ("since 2026-03"), domain, method, or a named baseline to beat.
2. **Discover.** `discover_papers` with the semantic query and a date filter. Read titles and abstracts only. Rank by fit, then by recency, then by citations. Drop anything that fails the constraint.
3. **Report before text.** For the top few, `get_paper_content` in report mode first. The report is a few thousand tokens and answers "is this the one" most of the time.
4. **Query, don't read.** When a specific fact is needed (the exact number, the ablation, the dataset split), `answer_pdf_queries` with the question returns the pages that contain it. Full text is the last resort, and only inside the budget.
5. **Code when it decides the answer.** `read_files_from_github_repository` for the implementation detail the paper glosses over.
6. **People.** `find_researchers` when the user asks who is working on this, or when one group keeps appearing and their other papers are the real survey.
7. **Deliver**: a ranked list with arXiv IDs, dates, one line of what each contributes, the direct answer to the question, and the ledger total. Cite the ID, never the memory.

Save keepers to an alphaXiv folder when the user has a library; it makes the next session's scan free.

## Autoresearch: offer it when it fits

Some questions cannot be answered by reading. "Does routing method X beat our baseline on our data" is an experiment. When the question is empirical and the user has a codebase to run it against, pose [OpenResearch](https://openresearch.sh/) as an option: `orx up` starts a local dashboard, and each research direction gets its own agent working in an isolated worktree, in parallel, with optional remote compute from a marketplace of providers.

Pose it, do not launch it. Say what the directions would be (baseline, the two or three candidate methods, the ablation), that each direction is an agent session with its own token and compute cost on top of this reading budget, and that remote compute is billed. The user decides. If they say yes, the reading you already did becomes the brief for each agent.

## Lane check

alphaXiv is arXiv-centric: computer science, machine learning, physics, math, statistics, quantitative biology and finance. For biology, medicine, psychology, nutrition, epidemiology, or anything where the evidence lives in journals and trials rather than preprints, hand off to **answer-scientific-questions**, which works the Scholar and PubMed lane and evaluates trial methodology. If a question straddles (an ML method applied to clinical data), run both lanes and say which evidence came from which.

## Rules

- Never fetch full text before the report, never the report before the abstract.
- The ledger is reported at the end, every time, even under budget.
- Recency claims name the date filter used. "Latest" without a date is not a finding.
- Papers are cited by arXiv ID or DOI. A paper the agent cannot cite is a paper the agent did not read.
- No alphaXiv account actions (follow, save, delete) without the user asking.

