amr-climate-atlas-mcp
AMR-Climate Atlas — Каузальная атрибуция влияния климата на устойчивость к противомикробным препаратам
Проект 2 из трёхпроектного портфеля «климат — здоровье» (см.
../harvard-dataverse-climate-health-projects.md).
Скоуп: ../amr-climate-causal-attribution-scoping.md ·
План разработки: ../amr-climate-causal-attribution-phases.md ·
Полный отчёт: docs/paper.md.
Статус: все четыре фазы завершены. Панель ЕС/ЕЭЗ (29 стран, 2000–2023, 4 комбинации патоген-антибиотик), должным образом протестированная каузальная модель, геномная перекрёстная проверка, работающее Streamlit-приложение, MCP-сервер, предоставляющий доступ к живым источникам данных, и автоматизированный конвейер валидации с eval-гейтом.

Вывод
Панельная регрессия с двусторонними (страна + год) фиксированными эффектами, с обязательным плацебо-тестом на 200+ перестановках для каждого результата, прежде чем ему разрешено называться значимым:
Комбинация | n | Коэф. | Параметрич. p | Перестановочный p |
E. coli / фторхинолоны | 642 | +0,11 | 0,77 | 0,62 |
E. coli / цефалоспорины 3-го поколения | 642 | +0,21 | 0,54 | 0,31 |
K. pneumoniae / карбапенемы (2010-2022, с поправкой на потребление) | 355 | −1,73 | 0,008 | 0,000 |
S. aureus / MRSA | 667 | −0,13 | 0,89 | 0,69 |
В 3 из 4 комбинаций погодный эффект не обнаружен вообще нигде. Единственное исключение — устойчивость K. pneumoniae к карбапенемам, в подвыборке 2010–2022 с поправкой на потребление по ESAC-Net, — реальна (устойчива при исключении по одной стране, не обусловлена COVID) и подтверждена по направлению независимыми данными геномного секвенирования (NCBI Pathogen Detection/MicroBIGG-E, тот же отрицательный знак, корреляция r=+0,38 с фенотипическим показателем), но не проявляется в полной панели 2000–2023, а потребление антибиотиков само по себе не значимо в модели, которая должна его контролировать. Читается как: реальная, узкая, специфичная для окна выборки закономерность, а не подтверждённая каузальная связь климат→AMR.
Этот результат прошёл настоящий процесс контроля качества (QA) — независимый прогон тестирования поймал
отсутствующий перестановочный тест для модели с поправкой на потребление, а более поздняя проверка
устойчивости поймала ошибку выбора колонки конфaундера, из-за которой потребление антибиотиков на самом деле
никогда не было в модели, как сообщалось изначально. Оба факта прямо раскрыты в docs/paper.md, а не сглажены.
Related MCP server: DMAP-AI MCP Server
Что в этом репозитории
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)Две находки, о которых стоит сказать сразу
Экспорт Surveillance Atlas от ECDC полностью скриптуем, а не только через ручной UI. Экспорт отправляет простой параметризованный GET, и его параметр
downloadTokenIdна самом деле не валидируется на серверной стороне — подходит любое значение, как только инициализирована сессионная cookie.fetch_ears_net.pyвытягивает полную сетку страна×год для заданной комбинации патоген-антибиотик за два HTTP-запроса.API Dataverse возвращает 403 на User-Agent по умолчанию от
python-requests— нигде не задокументировано, требуется UA в стиле браузера (см.config.DATAVERSE_REQUEST_HEADERS).
Быстрый старт
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-сервер — живые данные, а не только замороженный CSV
mcp_server/ предоставляет два источника данных этого проекта через Model Context Protocol, так что любой
MCP-совместимый клиент (Claude Desktop, кастомный агент) может по требованию запрашивать живые погодные или
живые геномные AMR-данные, а не только читать eu_eea_pilot_panel.csv. Построен на официальном mcp Python
SDK от Anthropic (а не на выдуманной терминологии "MCP 2.0"/"Agent Plugins", которую использовал более ранний
черновик этого скоупа — см. mcp_server/README.md для полной терминологической правки и реальной находки о
дрейфе API: класс FastMCP, который используют большинство туториалов, удалён из текущего SDK). Протестирован
с настоящим клиентом на внешнем процессе (mcp_server/test_external_client.py), а не только внутрипроцессным
вызовом — реальные погодные данные для Парижа, реальная распространённость карбапенем-генов (16,83%) среди
французских изолятов E. coli. См. mcp_server/README.md по настройке и задокументированную особенность
именования (NCBI группирует E. coli под "E.coli and Shigella" в своей собственной схеме, а не
"Escherichia coli").
Автоматизированная валидация с eval-гейтом
validate_pipeline.py автоматизирует подгонку и перестановочный тест из stage3_identification.py в повторно
запускаемый гейт: он завершается ошибкой, если нулевое распределение перестановочного теста выглядит
вырожденным (реальная проверка на то, что логика перемешивания молча сломалась) или если результаты значимо
отклоняются от сохранённого бейзлайна. Он спроектирован так, чтобы автоматически поймать указанную выше ошибку
конфаундера, а не только когда человек случайно присмотрелся. Workflow GitHub Actions
(.github/workflows/validate.yml) готов запускать это при каждом пуше, как только репозиторий окажется на
GitHub.
Отложено / по умолчанию не загружается
GRDI v1.10 (растровые GeoTIFF, 932MB) и EnvClim (geopackage на 2.6GB) — сеточные/субнациональные продукты,
непропорциональные панели страна-год. fetch_confounders.py выводит их списки файлов, чтобы будущая
субнациональная сборка могла решить, стоит ли вложение в GIS-инструментарий.
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