amr-climate-atlas-mcp
AMR-Climate Atlas — Kausale Attribution von Klima auf antimikrobielle Resistenzen
Projekt 2 eines Drei-Projekte-Portfolios zu Klima und Gesundheit (siehe
../harvard-dataverse-climate-health-projects.md).
Scoping: ../amr-climate-causal-attribution-scoping.md ·
Bauplan: ../amr-climate-causal-attribution-phases.md ·
Ausführlicher Bericht: docs/paper.md.
Status: alle vier Phasen abgeschlossen. EU/EWR-Panel (29 Länder, 2000–2023, 4 Pathogen-Antibiotika-Kombinationen), ein ordentlich getestetes Kausalmodell, ein genomischer Quercheck, eine Live-Streamlit-App, ein MCP-Server, der die Live-Datenquellen bereitstellt, und eine automatisierte, eval-gesteuerte Validierungspipeline.

Die Erkenntnis
Eine Panel-Regression mit Zwei-Wege-Fixeffekten (Land + Jahr), mit einem obligatorischen Permutations-Plazebotest mit 200+ Wiederholungen für jedes Ergebnis, bevor es als signifikant bezeichnet werden darf:
Kombination | n | Coef | Parametrischer p | Permutations-p |
E. coli / Fluorchinolone | 642 | +0.11 | 0.77 | 0.62 |
E. coli / Cephalosporine der 3. Generation | 642 | +0.21 | 0.54 | 0.31 |
K. pneumoniae / Carbapeneme (2010-2022, verbrauchsbereinigt) | 355 | −1.73 | 0.008 | 0.000 |
S. aureus / MRSA | 667 | −0.13 | 0.89 | 0.69 |
3 von 4 Kombinationen zeigen keinerlei Wettereffekt. Die eine Ausnahme — K. pneumoniae-Carbapenem-Resistenz in der ESAC-Net-verbrauchsbereinigten Teilstichprobe 2010–2022 — ist real (stabil bei Leave-one-country-out, nicht COVID-bedingt) und richtungsmäßig durch unabhängige genomische Sequenzierungsdaten bestätigt (NCBI Pathogen Detection/MicroBIGG-E, gleiches negatives Vorzeichen, r=+0,38 Korrelation mit der phänotypischen Rate), erscheint jedoch nicht im vollständigen Panel 2000–2023, und der Antibiotikaverbrauch selbst ist in dem Modell, das ihn kontrollieren soll, nicht signifikant. Zu lesen als: ein reales, enges, stichprobenfensterspezifisches Muster, kein bestätigter kausaler Klima→AMR-Zusammenhang.
Dieses Ergebnis hat einen echten QA-Prozess überstanden — ein unabhängiger Testdurchlauf deckte einen fehlenden
Permutationstest für das verbrauchsbereinigte Modell auf, und ein späterer Robustheitscheck deckte einen
Confounder-Spaltenauswahl-Bug auf, der bedeutete, dass der Antibiotikaverbrauch tatsächlich nie im Modell war,
wie ursprünglich berichtet. Beides wird in docs/paper.md offen offengelegt, nicht übertüncht.
Related MCP server: DMAP-AI MCP Server
Was in diesem Repo ist
app.py Streamlit atlas — combo explorer, causal-test caveat, rankings
mcp_server/ live-data MCP server (NASA POWER + BigQuery, not the frozen CSV)
data/
eu_eea_pilot_panel.csv joined country-year-combo panel (join_panel.py's output)
validation_baseline.json accepted "known good" snapshot for the eval-gate pipeline
raw/ gitignored raw pulls (ECDC, NASA POWER, ESAC-Net, EPI)
validation_runs/ timestamped JSON logs from validate_pipeline.py runs
docs/
phase1_access_check.md access-verification memo
phase3_scoping.md causal-design scoping, grounded in the real pilot data
phase4_scoping.md scale-up fork (WHO GLASS vs. BigQuery vs. deepen EU/EEA) + genomic cross-check
paper.md full write-up: methods, bugs found and fixed, results
src/amr_climate_atlas/
config.py country lists, centroids, DOIs, ECDC/NASA POWER/BigQuery constants
fetch_ears_net.py EARS-Net resistance rates via ECDC Atlas (fully scriptable, see below)
fetch_esac_net.py antibiotic-consumption confounder (static XLSX annexes, 2010-2022)
fetch_weather_anomaly.py daily weather per EU/EEA country centroid (NASA POWER)
fetch_confounders.py EPI 2024 tabular confounder from Harvard Dataverse
join_panel.py joins resistance + weather + EPI into the country-year panel
stage3_identification.py two-way FE model + mandatory permutation test + lag check, per combo
compare_genomic_phenotypic.py genomic (BigQuery) vs. phenotypic (EARS-Net) cross-check
validate_pipeline.py automated eval-gate: rerun + placebo-sanity-check + baseline drift check
.github/workflows/validate.yml ready-to-run CI (fires once this repo is pushed to GitHub)Zwei vorab erwähnenswerte Erkenntnisse
Der Export des ECDC-Surveillance-Atlas ist vollständig scriptbar, nicht nur über die manuelle Oberfläche. Der Export sendet einen einfachen parametrisierten GET, und sein
downloadTokenId-Parameter wird serverseitig nicht wirklich validiert — jeder Wert funktioniert, sobald ein Session-Cookie initialisiert ist.fetch_ears_net.pyzieht das vollständige Land×Jahr-Raster für eine gegebene Pathogen-Antibiotika-Kombination in zwei HTTP-Anfragen.Die Dataverse-API gibt dem Standard-
python-requests-User-Agent eine 403-Antwort — nirgends dokumentiert, ein browserähnlicher User-Agent ist erforderlich (sieheconfig.DATAVERSE_REQUEST_HEADERS).
Schnellstart
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
PYTHONPATH=src python -m amr_climate_atlas.fetch_ears_net # ECDC EARS-Net resistance rates
PYTHONPATH=src python -m amr_climate_atlas.fetch_esac_net # antibiotic consumption confounder
PYTHONPATH=src python -m amr_climate_atlas.fetch_weather_anomaly # NASA POWER, EU/EEA centroids
PYTHONPATH=src python -m amr_climate_atlas.fetch_confounders # EPI 2024 from Dataverse
PYTHONPATH=src python -m amr_climate_atlas.join_panel # join panel
PYTHONPATH=src python -m amr_climate_atlas.stage3_identification # causal model + permutation test
streamlit run app.py # the live atlasMCP-Server — Live-Daten, nicht nur die eingefrorene CSV
mcp_server/ stellt zwei Datenquellen dieses Projekts über das Model Context Protocol bereit, sodass jeder
MCP-kompatible Client (Claude Desktop, ein benutzerdefinierter Agent) Live-Wetter- oder Live-genomische-AMR-Daten
auf Abruf abfragen kann, anstatt nur eu_eea_pilot_panel.csv zu lesen. Basierend auf dem offiziellen mcp-Python-SDK
von Anthropic (nicht der erfundenen "MCP 2.0"/"Agent Plugins"-Terminologie, die ein früherer Entwurf dieses Scopes
verwendete — siehe mcp_server/README.md für die vollständige Terminologiekorrektur und einen echten API-Drift-Befund:
die FastMCP-Klasse, die die meisten Tutorials verwenden, wurde aus dem aktuellen SDK entfernt). Getestet mit einem
echten externen Prozess-Client (mcp_server/test_external_client.py), nicht nur mit einem In-Process-Aufruf —
echte Wetterdaten für Paris, echte Carbapenem-Gen-Prävalenz (16,83 %) für französische E. coli-Isolate.
Siehe mcp_server/README.md für die Einrichtung und eine dokumentierte Namensbesonderheit (NCBI gruppiert E. coli
in seinem eigenen Schema unter "E.coli and Shigella", nicht unter "Escherichia coli").
Automatisierte eval-gesteuerte Validierung
validate_pipeline.py automatisiert den Fit + Permutationstest von stage3_identification.py zu einem
wiederholbaren Gate: Es schlägt fehl, wenn die Nullverteilung des Permutationstests degeneriert aussieht (ein echter
Check, ob die Shuffle-Logik still bricht) oder wenn die Ergebnisse signifikant von einer gespeicherten Baseline
abweichen. Dies ist so konzipiert, dass es den obigen Confounder-Bug automatisch erkannt hätte, nicht nur, wenn ein
Mensch zufällig genau hinschaut. Ein GitHub-Actions-Workflow (.github/workflows/validate.yml) ist bereit, dies bei
jedem Push auszuführen, sobald das Repo auf GitHub ist.
Aufgeschoben / standardmäßig nicht abgerufen
GRDI v1.10 (Raster-GeoTIFFs, 932 MB) und EnvClim (2,6 GB Geopackage) — gerasterte/subnationale Produkte, die für ein
Land-Jahr-Panel unverhältnismäßig sind. fetch_confounders.py gibt ihre Dateilisten aus, damit ein zukünftiger
subnationaler Build entscheiden kann, ob sich die Investition in GIS-Werkzeuge lohnt.
This server cannot be installed
Maintenance
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
- FlicenseNot gradedqualityDmaintenanceDetects, monitors, and analyzes potential wildfires globally using NASA FIRMS, OpenWeatherMap, and Google Earth Engine data.1
- FlicenseNot gradedqualityCmaintenanceMCP server for DMAP-AI drought monitoring and SPI drought analysis using NASA POWER and ERA5-Land/CDS data.
- AlicenseNot gradedqualityCmaintenanceMCP server for NASA POWER climate data, offering a climatology tool to retrieve long-term monthly averages for any coordinate. Supports natural language queries through the Pipeworx gateway.9MIT
- AlicenseNot gradedqualityDmaintenanceEnables querying and retrieving bacterial and viral genomic data, features, antimicrobial resistance, and epitopes from the BV-BRC API using natural language.MIT
Related MCP Connectors
NASA POWER MCP — Prediction of Worldwide Energy Resources
Search NOAA climate stations and datasets, fetch historical weather observations.
NOAA and ECMWF weather forecast MCP for discovery, validation, and GribStream OAuth queries.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Rishavbhattarai/amr-climate-atlas'
If you have feedback or need assistance with the MCP directory API, please join our Discord server