Skip to main content
Glama
FlynnLachendro

methods-mcp

methods-mcp

PyPI Python License: MIT

Leichtgewichtiger, bedarfsorientierter MCP-Server für strukturierte Methodenextraktion + Reproduzierbarkeits-Heuristiken bei wissenschaftlichen Arbeiten. Gebaut für die Worldwide AI Science Fellowship Build Challenge.

⚠️ Status: Alpha (0.1.x). Die Tool-Oberfläche und die Ausgabeformen können sich zwischen Minor-Versionen ändern. In Produktion auf eine exakte Version pinnen. Bug-Meldungen sind über GitHub Issues sehr willkommen.

Kurzdemo

$ uvx --from methods-mcp methods-mcp --version
methods-mcp 0.1.6

# In a Claude Code session:
> /mcp add methods-mcp methods-mcp
> Run methods_repro_review on https://arxiv.org/abs/2509.06917

  → tool: methods_repro_review({"input_str":"https://arxiv.org/abs/2509.06917"})

# Returns a MethodsReproReview object. Read `narrative` first — it explains
# everything else in plain English, so no tool-learning is required:

{
  "status": "ok",
  "narrative":
    "Resolved the paper: 'Paper2Agent' by Miao et al. (arxiv 2509.06917, "
    "2025-09-08). Extracted 11 methods steps at moderate self-reported "
    "confidence (0.72) — the procedure is clearly described but hyperparameters "
    "and software versions are absent. Detected the associated code repository "
    "https://github.com/jmiao24/Paper2Agent from an inline link in the paper "
    "text (detection confidence 0.94). The repo scored 0.90/1.00 on the "
    "reproducibility heuristic — verdict: likely reproducible. Present signals: "
    "substantive README, dependencies file, notebooks, figure-plotting script, "
    "recent activity, permissive license. Missing: data/fixtures directory. "
    "Suggested entrypoint: `python make_figures.py`.",
  "metadata":          { ... },   # PaperMetadata
  "methods":           { ... },   # MethodsStructured (null if extraction failed)
  "code_repo":         { ... },   # CodeRepo           (null only if input unresolvable)
  "repro_assessment":  { ... },   # ReproAssessment   (null if no repo detected)
  "errors":            []         # [{step, error_type, message, hint}] on partial
}

methods-mcp ist ein kleiner, klar abgegrenzter Model Context Protocol-Server. Er gibt jedem KI-Agenten (Claude Code, Claude Desktop, dein Agent-SDK-Skript usw.) acht Tools, die eine URL einer wissenschaftlichen Arbeit in Folgendes verwandeln:

  • kanonische Metadaten,

  • Volltext mit bestmöglicher Qualität + Abschnittsaufteilung,

  • ein Pydantic-validiertes, strukturiertes Methodenobjekt (Schritte / Reagenzien / Ausrüstung / Analysen),

  • das zugehörige Code-Repository der Arbeit (bestmögliche Erkennung),

  • ein ohne Ausführung auskommendes Reproduzierbarkeits-Urteil für dieses Repository, und

  • eine Zusammenfassung in mehreren Modi.

Der Hebel: Schwergewichtige Pipelines wie Paper2Agent (Stanford) brauchen 30 Minuten bis Stunden, um eine Arbeit in agentenbereite Tools zu verdauen. methods-mcp ist die agentenaufrufbare, bedarfsorientierte Ergänzung — jedes Tool liefert in Sekunden Ergebnisse, ohne Klonen, ohne Ausführung.


Related MCP server: paperstack

Installation

uv add methods-mcp
# or, install globally:
uv tool install methods-mcp
# or, classic pip:
pip install methods-mcp

API-Schlüssel

Für beste Leistung beide setzen:

Variable

Erforderlich?

Was du ohne sie bekommst

ANTHROPIC_API_KEY

Erforderlich für extract_methods, summarize_paper, methods_repro_review

Diese Tools werfen RuntimeError: ANTHROPIC_API_KEY not set. Nicht-LLM-Tools (fetch_paper_text, find_code_repo, assess_repo_reproducibility) funktionieren weiterhin einwandfrei.

GITHUB_TOKEN

Optional, aber empfohlen für assess_repo_reproducibility / methods_repro_review

Du bist auf das GitHub-Ratenlimit ohne Authentifizierung begrenzt (60 Anfragen/Std. pro IP). Jede Repository-Bewertung benötigt ~3 Aufrufe, du erreichst die Grenze also nach ~15–20 Repos/Std. Mit Token: 5.000 Anfragen/Std. (praktisch unbegrenzt).

export ANTHROPIC_API_KEY=sk-ant-...
export GITHUB_TOKEN=ghp_...          # optional but recommended

Keiner der Schlüssel wird protokolliert oder gespeichert — sie werden nur an api.anthropic.com bzw. api.github.com gesendet. Siehe SECURITY.md.

Verwendung mit Claude Code

/mcp add methods-mcp methods-mcp

Dann in einem beliebigen Claude-Code-Chat:

Nimm https://arxiv.org/abs/2509.06917 und führe methods_repro_review aus. Fasse zusammen, was die Arbeit tut, die Methodenschritte und wie reproduzierbar das Repository aussieht.

Verwendung mit dem Claude Agent SDK

from claude_agent_sdk import ClaudeAgentOptions, ClaudeSDKClient

options = ClaudeAgentOptions(
    mcp_servers={
        "methods-mcp": {
            "type": "stdio",
            "command": "methods-mcp",
            "args": [],
        }
    },
    allowed_tools=["mcp__methods-mcp__methods_repro_review"],
)

async with ClaudeSDKClient(options=options) as client:
    await client.query(
        "Run methods_repro_review on https://arxiv.org/abs/2509.06917 "
        "and tell me whether the repo looks reproducible."
    )
    async for msg in client.receive_response():
        print(msg)

Tools

Tool

Was es tut

health

Server-Liveness + Konfigurationsprüfung.

get_paper_metadata(input_str)

URL / arXiv-ID / DOI zu kanonischen Metadaten auflösen. arXiv-Eingaben nutzen die arXiv-Export-API für Titel/Autoren/Abstract.

fetch_paper_text(input_str, prefer="auto"|"html"|"pdf")

Volltext + Abschnittsaufteilung. Standardmäßig ar5iv-HTML für arXiv-Arbeiten (günstig, strukturiert), sonst PDF-Fallback.

extract_methods(input_str, model=None)

LLM-gesteuerte, Pydantic-validierte strukturierte Methodenextraktion. Gibt {steps, reagents, equipment, analyses, confidence} zurück.

find_code_repo(input_str)

Das Code-Repository der Arbeit finden über Arbeitstext → Abstract → Papers With Code.

assess_repo_reproducibility(repo_url, paper_id=None)

Heuristische, klonfreie Reproduzierbarkeitsbewertung über die GitHub-REST-API. Gewichtete Signale (README, Abhängigkeiten, Fixtures, Notebooks, Figuren-Skripte, aktuelle Wartung, Lizenz) → {verdict, score, recommended_entrypoint}.

summarize_paper(input_str, mode="tldr"|"abstract"|"exec")

LLM-Zusammenfassung in drei Tiefen.

methods_repro_review(input_str)

Zusammengesetzt — Metadaten + Methoden + Repository + Reproduzierbarkeit in einem Aufruf.

Alle Tools geben Pydantic-v2-Modelle zurück (validiert, JSON-serialisierbar). Siehe src/methods_mcp/schemas.py für die vollständige Typschnittstelle.

Design-Anmerkungen

  • extract_methods verwendet Anthropic-Tool-Use, um das Modell dazu zu bringen, eine Instanz des MethodsStructured-Pydantic-Schemas auszugeben. Bei Validierungsfehlern senden wir eine Reparaturnachricht mit dem Validierungsfehler und versuchen es erneut, bevor wir eine Ausnahme auslösen.

  • assess_repo_reproducibility klont oder führt nichts aus. Es bewertet das Repository anhand öffentlich lesbarer GitHub-Metadaten + der rekursiven Baumauflistung. Das ist der bewusste Hebel gegen Batch-Tools, die versuchen, die Arbeit tatsächlich erneut auszuführen.

  • fetch_paper_text bevorzugt ar5iv-HTML gegenüber PDF-Parsing für arXiv-Arbeiten. Fällt für Nicht-arXiv-Eingaben auf pypdf zurück.

  • Das Standardmodell ist claude-sonnet-4-6. Überschreibbar über die Umgebungsvariable METHODS_MCP_MODEL oder das model=-Argument pro Aufruf.

  • methods_repro_review gibt eine selbstbeschreibende Antwort zurück. Jeder Aufruf setzt einen status auf oberster Ebene ("ok" / "partial" / "empty") und einen narrative-String, der alles Abgerufene in einfachem Englisch zusammenfasst — einschließlich jedes numerischen Scores im Kontext. Ein Leser, der nur narrative + status liest, erhält das vollständige Bild, ohne die Formen der Unterobjekte lernen zu müssen. Unterobjekte können null sein, wenn nicht verfügbar (z. B. repro_assessment: null bei einer Arbeit ohne erkanntes Repository — status bleibt "ok", weil „kein Repository“ kein Fehler ist). Fehlgeschlagene Teilschritte tragen einen strukturierten Eintrag zu errors bei mit {step, error_type, message, hint}, wobei hint ein umsetzbarer Vorschlag in einfachem Englisch für erkannte Muster ist (fehlende API-Schlüssel, Ratenlimits, 404s, Timeouts usw.) und sonst null.

Scores & Urteile erklärt

Tool-Ausgaben enthalten drei numerische Felder, die ähnlich aussehen, aber sehr unterschiedliche Bedeutungen haben. Sie sind Triage-Signale für einen Agenten, der entscheidet, ob sich eine Arbeit lohnt, keine kalibrierten Aussagen über Korrektheit.

Feld

Bereich

Wie es berechnet wird

Wie man es liest

methods.confidence

0–1

LLM-Selbstauskunft. Das Extraktionsmodell setzt es gemäß den Anweisungen im System-Prompt: ≥0.8 nur, wenn die Arbeit explizite Reagenzien/Volumina/Ausrüstung angibt, ~0.3, wenn der Methodenteil spärlich ist. Nicht kalibriert.

Weiches Signal für „Ist das eine Nasslabor-Arbeit mit konkretem Verfahren oder eine spärliche Systemarbeit?“ Als Flag nützlich; nicht als Vertrauensprozentsatz behandeln.

code_repo.confidence

0–1

Variiert je nach detection_method. papers-with-code: feste 0.95 (maßgebliche Paper→Repo-API). paper-text: berechnet als 0.6 + 0.2·(starke-Phrase-vorhanden) + 0.015·score_margin, gedeckelt bei 0.95. abstract-link: feste 0.85. none: 0.0.

Sagt dir, wie das Repository gefunden wurde und wie eindeutig. Hoher Score + paper-text bedeutet, dass eine starke Phrase wie „Code ist verfügbar unter …“ neben der URL stand.

repro_assessment.overall_score

0–1

Gewichtete Summe von 8 binären Signalen, alle aus der GitHub-REST-API berechnet (kein Klonen, keine Ausführung): has_readme (0,10), readme_substantial (0,15), has_dependencies_file (0,20), has_data_or_fixtures (0,10), has_notebook (0,10), has_figure_script (0,20), actively_maintained (0,10), permissive_license (0,05). Jedes vorhandene Signal trägt sein Gewicht bei.

Der einzige vollständig deterministische Score der drei. Immer noch eine Heuristik, kein Beweis — ein hoher Score bedeutet, dass das Repository für die Reproduktion gut strukturiert aussieht. Für echte Validierung siehe Paper2Agent.

Urteils-Kategorien (repro_assessment.verdict) sind Schwellenwerte auf overall_score:

| Urteil | Punktzahl | Bedeutung | | likely-reproducible | ≥ 0.70 | Die meisten reproduktionsfreundlichen Signale sind vorhanden. Es lohnt sich, einen Versuch zu starten. | | partial | ≥ 0.45 | Einige Infrastruktur vorhanden, wahrscheinlich Lücken. Erwarten Sie, fehlende Teile zu ergänzen. | | unlikely | ≥ 0.20 | Minimale Signale. Möglicherweise ein Code-Dump ohne das Gerüst, um ihn erneut auszuführen. | | insufficient-info | < 0.20 oder Repository nicht erreichbar | Nicht genug, um es zu beurteilen. Ziehen Sie keine Schlüsse in die eine oder andere Richtung. |

Enum-Werte, die Sie in den Ausgaben sehen werden:

  • code_repo.detection_method: paper-text | abstract-link | papers-with-code | metadata | none

  • metadata.source: arxiv | biorxiv | doi | url | unknown

Sicherheit & Einschränkungen

Was dieser Server tatsächlich tut, wenn Sie ihn installieren und ausführen:

  • Netzwerkaufrufe nur an: export.arxiv.org, ar5iv.labs.arxiv.org, arxiv.org (PDFs), api.github.com, paperswithcode.com, api.anthropic.com. Keine Telemetrie, keine Analysen, kein Phone-Home.

  • Liest ANTHROPIC_API_KEY (erforderlich für LLM-Tools) und optional GITHUB_TOKEN aus Umgebungsvariablen. Diese werden nur an Anthropic bzw. GitHub gesendet. Nie protokolliert, nie auf der Festplatte gespeichert.

  • Schreibt nichts in Ihr Dateisystem. Keine Cache-Verzeichnisse, keine heruntergeladenen PDFs, keine temporären Dateien.

  • Führt keinen vom Benutzer bereitgestellten Code aus. Kein eval, exec, subprocess, pickle.loads oder Shell-Aufrufe. Das Reproduzierbarkeits-Tool klont oder führt bewusst keine Repositories aus – es bewertet nur über die GitHub-REST-API.

Einschränkungen, die Sie beachten sollten:

  • Adversariale Papiere können irreführende strukturierte Ausgaben erzeugen. Das extract_methods-Tool sendet den Papiertext an Claude. Ein Papier mit Prompt-Injection-Inhalten könnte falsche (aber schema-konforme) strukturierte Methoden liefern. Behandeln Sie die Ausgabe als Forschungshilfe, nicht als Grundwahrheit.

  • Das Reproduzierbarkeitsurteil ist eine Heuristik, kein Beweis. Ein hoher Wert bedeutet, dass das Repository gut strukturiert für die Reproduktion aussieht; es garantiert nicht, dass die Ausführung des Codes das Papier reproduziert. Für eine vollständige Validierung siehe Paper2Agent.

  • Für die lokale stdio-Nutzung gedacht. Die HTTP/SSE-Transports werden für die Entwicklung bereitgestellt, sollten aber nur in vertrauenswürdigen Netzwerken exponiert werden (kein SSRF-Schutz über das hinaus, was httpx bietet).

Probleme melden:

Sicherheitsprobleme: Bitte senden Sie eine E-Mail an flynnlachendro@hotmail.co.uk (siehe auch SECURITY.md). Funktionale Fehler: Eröffnen Sie ein GitHub-Issue.

Kombinieren mit paper-mcp

Für eine breitere Papiersuche / Zitationsgraph-Tooling führen Sie paper-mcp (Bhvaik) in derselben Claude Code-Sitzung aus. paper-mcp bietet titelbasierte Suche, Volltextabruf, Zitationen und Referenzen; methods-mcp fügt die strukturierte Methoden- und Reproduzierbarkeitsebene hinzu. Die beiden wurden absichtlich so konzipiert, dass sie sich ergänzen.

Lokal entwickeln

git clone https://github.com/FlynnLachendro/methods-mcp
cd methods-mcp
uv sync --extra dev --extra agent

uv run pytest                      # 49 tests, offline (respx-mocked httpx + unittest.mock for Anthropic)
uv run ruff format .
uv run ruff check . --fix
uv run mypy src

uv run methods-mcp --help

Lizenz

MIT — siehe LICENSE.

Danksagungen

Entwickelt für die erste Kohorte des Worldwide AI Science Fellowship. Dank an Michael Raspuzzi für das offene Briefing.

Basierend auf:

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
8Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables discovery and analysis of research ecosystems by extracting metadata from paper URLs, GitHub repositories, and research names. Automatically finds related papers, code repositories, models, datasets, and authors across platforms like arXiv, HuggingFace, and GitHub.
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables arXiv paper search, PDF download, text extraction, and context chunking for LLM pipelines, along with advanced features like citation graphs and reproducibility scoring.
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables users to search and analyze academic papers from multiple sources, fetch metadata and full text, and build structured outputs like literature maps and paper comparisons.
    21
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables agents to search papers across Semantic Scholar and arXiv, read and extract text from arXiv PDFs, align records across sources, and produce structured literature-analysis digests.
    10
    1

View all related MCP servers

Related MCP Connectors

  • Reliable PDF table extraction. Pass a URL, get structured JSON tables with citations.

  • Web scraping for AI agents. Converts URLs to clean, LLM-ready Markdown with anti-bot bypass.

  • Turns any URL into SEO metadata, contacts, tech stack, and AI-ready Markdown, in one call.

View all MCP Connectors

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/FlynnLachendro/methods-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server