Stanford Researchers Release Paper2Agent: Turning Research Papers Into AI Agents That Reproduce Results and Run on New Data

Computational papers ship code that readers must clone, install, configure and debug. That cost keeps useful methods locked inside PDFs. A Stanford team led by Jiacheng Miao and James Zou proposes a fix. Paper2Agent was published in Nature on 16 September 2026. It converts a paper and its codebase into a Model Context Protocol (MCP) server. Any MCP-compatible agent, such as Claude Code, can then run the paper’s methods through natural language. The authors describe the result as a virtual corresponding author.

Is it deployable? Yes. The code is MIT-licensed and installs as a skill for Claude Code or Codex. Prebuilt AlphaGenome, Scanpy and TISSUE servers run on Hugging Face Spaces. A hosted version is also available at paper2agent.ai.

How the Pipeline Works

Paper2Agent runs on Claude Code’s agent SDK. A central orchestrator dispatches specialized sub-agents through 6 steps:

Locate and download the codebase.

An environment manager builds an isolated virtual environment.

A tutorial scanner indexes usable tutorials.

A tutorial executor runs them end to end and records reference outputs.

A tool extractor turns tutorials into parameterized MCP tools, and a test verifier validates them.

The orchestrator assembles validated tools into 1 MCP server.

The validation gate is strict. A tool passes only when expected files appear and numbers match within 3%. Figures must also match references by perceptual hash, with Hamming distance under 20. The verifier gets up to 6 attempts per function. Tools that keep failing are excluded from the final server.

Each server exposes 3 components. MCP tools wrap the paper’s methods as executable functions: MCP resources hold the manuscript, code links, datasets and figures. MCP prompts encode multi-step workflows, such as the correct Scanpy preprocessing order. The research team used Claude Sonnet 4 for all Paper2Agent applications.

Interactive Explainer

#mtp-p2a-embed{max-width:980px!important;margin:24px auto!important;padding:0!important;background:transparent!important;border:0!important}
#mtp-p2a-embed iframe{width:100%!important;border:0!important;display:block!important;background:transparent!important;min-height:0!important}
#mtp-p2a-embed p:empty,#mtp-p2a-embed br,#mtp-p2a-embed hr,#mtp-p2a-embed del,#mtp-p2a-embed s{display:none!important}