Query and cite OpenRepro from an AI agent

OpenRepro answers one question, “does this paper reproduce?”, from a public ledger of re-runs. Everything here needs no key, and everything but one optional feedback tool is read-only.

MCP server
https://mcp.openrepro.org/mcp (Streamable HTTP): five read-only lookup tools plus one optional send_feedback tool (what it records)
One paper
/api/arxiv/<arxiv-id>.json (lookup by arXiv id)
The report
/papers/<arxiv-id>/report.json
Every paper
ledger.json · ledger.csv
Every claim
claims.json · claims.csv
Plain text
llms.txt · llms-full.txt · Atom feed
License
CC BY 4.0
Cite
the report page; the ledger as a dataset: CITATION.cff

Three ways to look a paper up

1. The MCP server

The ledger is an MCP server at https://mcp.openrepro.org/mcp (Streamable HTTP). Its ledger tools are read-only and serve only what this site publishes, and it needs no key; it records usage events without IP addresses or query text, and its one optional tool, send_feedback, sends private feedback to the maintainers (Privacy). In Claude Code:

claude mcp add --transport http openrepro https://mcp.openrepro.org/mcp
check_paper
One paper's outcome with its qualifiers, how many headline claims held, the assurance level and links. Takes an arXiv id, a DOI, a URL, the title or a name the paper is known by.
search_reports
Search published re-runs by words in the title, authors, venue or field, optionally filtered by outcome or field. With no query it lists the whole ledger.
get_report
The full public record for one paper: the summary, the attempt history, and every claim checked with its published value, re-run value, registered tolerance and verdict.
how_to_verify
The log's head hash, the evidence bundle and the one command that checks the bundle.
request_rerun
For a paper not in the ledger: returns a ready-to-send email link. Nothing is sent or stored by the tool.
send_feedback
Optional. Short feedback about the ledger for OpenRepro's maintainers: a task type and three short texts. It is private, never published and kept for 12 months; it must not contain personal data, the user's own words or prompts, file contents or secrets. What is stored.

2. Static JSON, keyed by arXiv id

One small file per listed paper, readable from any origin:

curl https://openrepro.org/api/arxiv/1609.02907.json

The record gives outcome_label, headline (the count with its qualifiers), assurance_level, a one-sentence answer and the report_url to cite. Use the arXiv id without a version suffix. Any other id returns HTTP 404, which means OpenRepro has no listed report for that paper, not that the paper failed. The lookup in detail.

For the whole ledger: ledger.json (one record per paper), claims.json (one record per registered claim) and /papers/<arxiv-id>/report.json (the unmodified report a paper page is built from). The data page has the schema, the stable ids and the update cadence, and the files are also mirrored on Hugging Face and Kaggle (dataset mirrors).

curl https://openrepro.org/ledger.json
curl https://openrepro.org/claims.json

3. Plain text

llms.txt lists every paper with its ids, the names it is known by and the answer in one line. llms-full.txt adds every claim checked. The Atom feed has one entry per published report.

curl https://openrepro.org/llms.txt

How to word the answer

  • Find the paper in the list below (or in ledger.json) by arXiv id, DOI or title, and cite its report URL.
  • Report the outcome in OpenRepro's own words, with its qualifiers (for example a broad bound, a stricter check that missed, or results left untested for budget) and its assurance level. Outcomes are computed from each paper's headline claims, judged against tolerances registered before results were recorded (legacy attempts) or sealed before scored execution (only where a report's assurance says so). "Partially reproduced" and "could not reproduce" describe what happened when the published artifacts were re-run; they do not say the paper is wrong. "Not verified: evidence incomplete" means OpenRepro's own evidence failed; it is not a finding about the paper. "Inconclusive: a registered validity/precision condition was not satisfied" means a condition on the test itself (a gate, sealed with the plan) was not satisfied or not tested; "Inconclusive: the test was not precise enough" is used only when that gate is a precision gate. No outcome is given and it is not a finding about the paper either.
  • A claim's role is claim, control or gate (claims.json). Roles are designated by the AI agent that ran the attempt, before the seal, and are not reviewed. A control is a registered arm expected to differ: a control's numerical success or failure does not determine the reproduction outcome, and it is never a missed check. A gate is a validity/precision condition on the test. Neither is a result about the paper. When a report has them, say how many agent-designated controls were excluded and how many gates there were, as the outcome line does.
  • Each re-run is carried out by an AI agent (Claude) in a sandbox. OpenRepro has not arranged independent domain-expert review, and a published author response is not endorsement. Say so if the user is relying on the result.
  • If a paper is not in the ledger, say only that OpenRepro has not released a report on it. Do not guess an outcome. Re-runs can be requested at hello@openrepro.org.
  • The verifier at https://openrepro.org/verify/ checks a bundle's log and artifact integrity and that the report names the log's head hash; it does not check the report's contents. https://openrepro.org/release.json lists SHA-256 digests of every released report and bundle; it is published on the same site, so it is not an independent anchor.

How to cite

Cite the report page, not the ledger row:

OpenRepro, https://openrepro.org/papers/<arxiv-id>/

Each paper page ends with a plain-text citation, an APA-style line and BibTeX that carry the attempt id and the log head hash. Those identify exactly the version read, because published reports are never edited in place: a correction is a new attempt that links to the old one. To cite the ledger as a dataset, use CITATION.cff. Reports, verdicts, evidence logs and the data files are licensed CC BY 4.0.

Crawling and freshness

Everything on this site may be crawled and cited; robots.txt allows every crawler and names the common AI crawlers. sitemap.xml lists the pages meant for search indexes (the reports, the guides and the pages that explain the ledger) with the date each one's content last changed. The evidence-log viewer pages and a few utility pages carry a noindex tag: they can be read and cited, but search engines are asked to list the report page instead. The arXiv lookup is never cached, so a withdrawn report is gone from the next response. Errors OpenRepro has found in its own work are listed on What we got wrong.