MCP server for structured methods extraction + reproducibility heuristics on academic papers.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Methods MCP.
healthServer liveness + config check.
Lightweight, on-demand MCP server for structured methods extraction + reproducibility heuristics on academic papers. Built for the Worldwide AI Science Fellowship build challenge.
β οΈ Status: alpha (0.1.x). The tool surface and output shapes may shift between minor versions. Pin to an exact version in production. Bug reports very welcome via GitHub Issues.
methods-mcp is a small, sharply-scoped Model Context Protocol server. It gives any AI agent (Claude Code, Claude Desktop, your Agent SDK script, etc.) eight tools that turn an academic paper URL into:
The wedge: heavyweight pipelines like Paper2Agent (Stanford) take 30 minutes to hours to digest a paper into agent-ready tools. methods-mcp is the agent-callable, on-demand complement β every tool returns in seconds, no clone, no execution.
For best performance, set both:
| Variable | Required? | What you get without it |
|---|---|---|
ANTHROPIC_API_KEY | Required for extract_methods, summarize_paper, methods_repro_review | Those tools raise RuntimeError: ANTHROPIC_API_KEY not set. Non-LLM tools (fetch_paper_text, find_code_repo, assess_repo_reproducibility) still work fine. |
GITHUB_TOKEN | Optional but recommended for assess_repo_reproducibility / methods_repro_review | You're capped at the GitHub unauthenticated rate limit (60 req/hr per IP). Each repo assessment is ~3 calls, so you'll hit the ceiling after ~15β20 repos/hr. With a token: 5,000 req/hr (effectively unlimited). |
Neither key is logged or persisted β they're sent only to api.anthropic.com and api.github.com respectively. See SECURITY.md.
Then in any Claude Code chat:
Take https://arxiv.org/abs/2509.06917 and run
methods_repro_review. Summarise what the paper does, the methods steps, and how reproducible the repo looks.
| Tool | What it does |
|---|---|
health | Server liveness + config check. |
get_paper_metadata(input_str) | Resolve URL / arXiv ID / DOI to canonical metadata. arXiv inputs hit the arXiv export API for title/authors/abstract. |
fetch_paper_text(input_str, prefer="auto"|"html"|"pdf") | Full text + section split. Defaults to ar5iv HTML for arXiv papers (cheap, structured), PDF fallback otherwise. |
extract_methods(input_str, model=None) | LLM-driven, Pydantic-validated structured methods extraction. Returns {steps, reagents, equipment, analyses, confidence}. |
find_code_repo(input_str) | Discover the paper's code repo via paper text β abstract β Papers With Code. |
assess_repo_reproducibility(repo_url, paper_id=None) | Heuristic, no-clone reproducibility assessment via the GitHub REST API. Weighted signals (README, deps, fixtures, notebooks, figure scripts, recent maintenance, license) β {verdict, score, recommended_entrypoint}. |
summarize_paper(input_str, mode="tldr"|"abstract"|"exec") | LLM summary in three depths. |
methods_repro_review(input_str) | Composite β metadata + methods + repo + repro in one call. |
All tools return Pydantic v2 models (validated, JSON-serialisable). See src/methods_mcp/schemas.py for the full type surface.
extract_methods uses Anthropic tool-use to coerce the model into emitting an instance of the MethodsStructured Pydantic schema. On validation failure we send one repair message with the validation error and try again before raising.assess_repo_reproducibility does not clone or execute anything. It scores the repo from publicly-readable GitHub metadata + the recursive tree listing. This is the deliberate wedge against batch tools that try to actually rerun the paper.fetch_paper_text prefers ar5iv HTML over PDF parsing for arXiv papers. Falls back to pypdf for non-arXiv inputs.claude-sonnet-4-6. Override via METHODS_MCP_MODEL env var or per-call model= arg.methods_repro_review returns a self-describing response. Every call sets a top-level status ("ok" / "partial" / "empty") and a narrative string that summarises everything retrieved in plain English β including every numeric score in context. A reader who reads only narrative + status gets the full picture without needing to learn the sub-object shapes. Sub-objects can be null when unavailable (e.g. repro_assessment: null on a paper with no detected repo β status stays "ok" because "no repo" isn't a failure). Failed sub-steps contribute a structured entry to errors with {step, error_type, message, hint}, where hint is an actionable plain-English suggestion for recognised patterns (missing API keys, rate-limits, 404s, timeouts, etc.) and null otherwise.Tool outputs contain three numeric fields that look similar but mean very different things. They are triage signals for an agent deciding whether a paper is worth digging into, not calibrated claims about correctness.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/methods-mcp)<a href="https://allmcps.com/mcp/methods-mcp"><img src="https://allmcps.com/api/badge/methods-mcp?style=directory" alt="Methods MCP on AllMCPs" /></a>