Gateway & Integration Architecture
Two internal documents independently describe the same mechanism — the SERVIR Global Platform Technical Integration Guide and SIG-NAL's GeoAI Strategy — which means GeoAI capabilities don't need their own integration architecture. A model, an alert feed, and a classifier all become available the same way.
The wrap-once pattern
MCP-wrap the capability
Resources for the context it provides, tools for the actions/analysis it performs. Owner, data currency, and known limitations stated up front, per the Integration Guide's checklist.
Define the domain agent
Encodes domain expertise (the science a specialist would apply) and workflow expertise (the sequence that specialist actually follows) — not just a thin wrapper on the model.
Register with the gateway
Identity, policy, routing, and audit handled once, centrally — any other domain's agent can now call it via Agent2Agent instead of re-implementing it.
Consume from anywhere
LLM/agent applications reach it via MCP; dashboards and backend services reach the same capability via curated APIs — one capability, two access modes.
Gateway components
| Component | Function | Status |
|---|---|---|
| Identity | Authenticates callers — hub staff, partner engineers, agents acting on their behalf — before any capability is reachable. | To spec |
| Policy | Per-capability access rules; the EUDR compliance module and wildlife-trafficking case data need stricter control than open monitoring feeds. | To spec |
| Routing | Directs an MCP or API call to the correct capability instance, including regionally-calibrated hub overrides of a global default. | To spec |
| Audit | Records what was called, by whom, against which data version — the human-approval-checkpoint trail the GeoAI Strategy requires. | To spec |
| Agent2Agent registry | Where every domain agent (Flood Risk, Field & Crop-Type, Land Cover & Change, …) is discoverable by every other agent. | To spec |
What already exists at the consolidation point
github.com/SERVIR-AI/global-platform is not a scaffold — it's a live, actively-developed MCP server (LangGraph + FastMCP, 183 commits, 3 contributors, EPL-2.0) already answering natural-language disaster-risk questions for Southeast Asia across flood, flash flood, drought, fire, landslide, cyclone, storm, tsunami, and earthquake, and already pulling in Food Security data (GEOGLAM, ENSO/IOD). It mints every answer as a replayable, litestream-backed receipt, gated by a groundedness check before publishing — real precedent for the human-approval checkpoint this whole gateway needs, not a pattern to invent from scratch.
What it does not have yet: the gateway itself (identity/policy/routing/audit) or Agent2Agent federation — one LangGraph pipeline inside one FastAPI service, not a hub for every platform's agents. Positioning: this plan's gateway wraps and federates what's already running there, rather than competing with it.
SERVIR-AI/global-platform's three active maintainers directly — not yet done as of this plan. No agent build in §04–06 should start before that conversation happens, to avoid duplicating a Global Risk / Food Security MCP server that already exists.
Migrating the scattered state into SERVIR-AI
David named the org's actual GitHub footprint directly: github.com/SERVIR-AI is confirmed as “the master one that everything will end up in and where people are building things” (Decision #14). Four hub-level orgs hold the current, more scattered build activity — that inventory is now complete and carried in full below — 259 public repositories, each with a triage call (Decision #14's residual, closed). The count moved from 230 to 231 on 9 September 2026 when Platform-Inventory itself was made public, taking SERVIR-AI from one repo to two — caught by the automated sweep, which is the intended behaviour — and to 259 on 16 September 2026 when github.com/geoglows was inventoried for the first time. GEOGloWS is named as the riverine-flood forecasting backbone throughout this plan; its 28 repositories had never been read, and until geoglows was added to scripts/sweep.py the authoritative record disagreed with the plan by exactly that many. The authoritative count is data/servir-repos.json in that repo, refreshed weekly; the figure quoted in this prose is a reading, not the record, and will drift between sweeps.
| Org | Read as | Migration action |
|---|---|---|
| github.com/SERVIR-AI | Confirmed consolidation target | Destination Gateway and agent registry live here. |
| github.com/SERVIR-AI/global-platform | Existing MCP server, SE Asia-scoped | Wrap & federate Extend with gateway + A2A rather than replace. |
| github.com/SERVIR-Amazonia | Hub-level repos (Amazon-region tools — CoMiMo/RAMI-adjacent, TerraOnTrack, VegMapper, TerraBio) | Inventoried 38 repos — 6 wrap, 14 Tethys duplicates to consolidate. |
| github.com/Servir-Mekong | Hub-level repos (HydraFloods and Mekong regional tools) | Inventoried 44 repos — deepest hydrology bench. |
| github.com/SERVIRSEA | Hub-level repos (Southeast Asia — RiskMap-adjacent) | Inventoried 7 repos — two foundation-model experiments. |
| github.com/SERVIR | General/legacy org | Inventoried 132 repos — the bulk of the archaeology. |
| github.com/geoglows | Partner-tool org — GEOGloWS River Forecast System, the riverine-flood backbone named in §04, §05 and §07 | Partner — wrap, do not migrate 28 repos, BSD/MIT, live software. Reach an integration agreement; the code stays where it is. |
Vendor-agnostic by design (Decision #10)
MCP and Agent2Agent are open protocols, not one vendor's product. Every domain agent built under this plan must stay callable by whichever LLM backend a given hub or partner actually has access to — Claude, GPT-class models, Gemini, or an open-weight model run on SIG's own SOCRATES cluster. Google.org's funding of AgriNexus does not imply a Google-only model stack; this is settled policy, confirmed, not an assumption to revisit per platform.
What is being built right now in SERVIR-AI
Three repositories in the consolidation org are where the current build is actually being organised. They are named here by David; two are private and could not be read from outside, so this plan records what they are for and flags what it needs.
| Repository | Role | State | What this plan needs from it |
|---|---|---|---|
| SERVIR-AI/global-platform | The working prototype of the gateway pattern — a live disaster-risk agent for Southeast Asia | Public · active EPL-2.0, 228 commits, updated Sept 2026 | Read directly. Detailed below — it is the closest thing to a reference implementation this plan has. |
| SERVIR-AI/geoai-hub | "Where we are organizing things" — the organising hub for the GeoAI build | Private — 404 to unauthenticated access | Its structure should define how §04–06's agents are organised. Needs access, or a README paste, before this plan can align to it rather than guess. |
| SERVIR-AI/impact-tracker | Where impact reporting is being organised | Private — 404 to unauthenticated access | The natural home for the use-case evidence in §04–06 and the service inventory in §09. Also overlaps the retired AgriSERV impact-comparison service — worth checking before either is rebuilt. |
global-platform, in detail — the reference implementation
This is not a scaffold. It is an active build with tests, checked-in end-to-end example payloads, a Dockerfile and GCP deploy config, and near-daily commits. Read closely, it already implements four of the six seams §04 specifies — which makes it the thing to extend rather than the thing to compete with.
Pipeline question → route → resolve → fetch → operate → finalize
A LangGraph pipeline inside one FastAPI service. The resolve step is the interesting one: when a question is ambiguous between exposure, precomputed risk and recomputed risk, it asks the user to choose rather than guessing, and resumes via a thread_id. That is the human-approval checkpoint from §04's E4 already built, not a design note.
Data model Four layers, two of them built
This maps almost exactly onto §04's two-clock engine (E2). L1 and L2 are the near-real-time and recomputed paths; L4 — fetching from an upstream provider on demand — is what federating other hubs' capabilities through the gateway would need. The roadmap gap in this repo and the build order in this plan are the same gap.
Surface One service, three mounts
Two things stand out. The dual mount is §04's E6 access layer already implemented — MCP for agents, REST for dashboards, off one capability. And POST /api/tiffs with a verification gate is a working version of the hub-override mechanism Decision #18 is still trying to govern: a partner can bring their own hazard layer, and the system checks it before use.
Grounding "Every number is computed from real data, never generated by the model"
The repo's own framing, and the discipline §04's E5 asks for. It also ships .claude/skills/ containing trace-emit and trace-visualize skills — execution tracing for debugging agent decisions, which is the audit trail the gateway needs in §02.
One hint worth following: LLM keys are optional and unlock a food-security corpus alongside the disaster-risk path. This repo may already straddle two of the three platforms, which would make it a cross-platform prototype rather than a Global Risk one.
The GitHub migration inventory
Decision #14 confirmed github.com/SERVIR-AI as the consolidation target and left the migration mapping as its residual — the first engineering task in the roadmap. That inventory is below: every public repository across the seven organizations, with a triage call on each. It was compiled from the public GitHub organization listings on 2 September 2026; the REST API is unavailable from this environment, so the listings are the source, and private repositories do not appear.
16 Sep 2026 sweep
github.com/SERVIR-AI — 1 repos
The confirmed consolidation target (Decision #14). One repo today — and it is the only repo of all 259 with an MCP endpoint.
| Repository | What it is | Language | Last updated | Triage call |
|---|---|---|---|---|
| global-platform | AI-assisted geospatial platform for environmental decision support (source-available, non-commercial) | Python | Sep 2, 2026 | Wrap as MCP |
1 wrap as mcp
github.com/SERVIR — 132 repos
The general / legacy org and by far the largest. Fifteen years of service code, six repos already archived upstream, and the great majority dormant.
| Repository | What it is | Language | Last updated | Triage call |
|---|---|---|---|---|
| flood_mapping_intercomparison | Flood Mapping Intercomparison | Jupyter Notebook | Jun 9, 2026 | Wrap as MCP |
| ClimateSERV2 | ClimateSERV allows development practitioners, scientists/researchers, and government decision-makers to visualize and download historical rainfall data, vegetat… | JavaScript | Jun 1, 2026 | Wrap as MCP |
| hiwat_model_viewer | — | JavaScript | Apr 8, 2026 | Wrap as MCP |
| RX_fires | RX_fires | Jupyter Notebook | Dec 18, 2025 | Wrap as MCP |
| AppTemplate2022 | — | CSS | Sep 26, 2025 | Capacity material |
| GuyanaMangrovesWebApp | — | CSS | Sep 26, 2025 | Wrap as MCP |
| WaterWatchDjango | — | CSS | Sep 26, 2025 | Migrate |
| SCAP_Web | — | JavaScript | Sep 24, 2025 | Migrate |
| servir-aces | Agricultural Classification and Estimation Service | Jupyter Notebook | Sep 4, 2025 | Wrap as MCP |
| fierpy | Python implementation of the Forecasting Inundation Extents using REOF | Python | Sep 2, 2025 | Wrap as MCP |
| WENDOU | — | Jupyter Notebook | Sep 2, 2025 | Wrap as MCP |
| DssatWeb | — | Python | Jul 9, 2025 | Wrap as MCP |
| SMAP_ETL | SMAP_ETL | Python | Jun 17, 2025 | Wrap as MCP |
| dssat_service | — | Python | Mar 26, 2025 | Wrap as MCP |
| may-the-lidar-be-with-you | — | HTML | Mar 17, 2025 | Migrate |
| dssat_service_scripts | Calibration and operational scripts for the DSSAT service | Jupyter Notebook | Mar 17, 2025 | Migrate |
| galamsey | — | JavaScript | Feb 11, 2025 | Wrap as MCP |
| mekong-swat-django | — | JavaScript | Feb 7, 2025 | Migrate |
| SAMS | This application is a management system built to easily manage a multitude of applications through a common interface. SAMS lets you register any application an… | CSS | Feb 7, 2025 | Migrate |
| .github | — | — | Feb 7, 2025 | Migrate |
| guyana-mangrove-app | — | TypeScript | Feb 7, 2025 | Wrap as MCP |
| Cerro-Cantil-Protoservices | Cerro Cantil Protoservices | CSS | Feb 7, 2025 | Migrate |
| ml_crop_yield_training | Materials for ML crop yield training. | — | Jan 27, 2025 | Wrap as MCP |
| tkms | — | JavaScript | Jan 22, 2025 | Migrate |
| ag_scenario_assessment | Management scenario assessment for the Resilience project in Zimbabwe | Jupyter Notebook | Jan 21, 2025 | Migrate |
| bhutan_crop_monitoring | — | CSS | Oct 25, 2024 | Review |
| ClimateSERVpy | This is a package to access the ClimateSERV API | Python | Sep 9, 2024 | Wrap as MCP |
| README | This is a template README file to be used in your SERVIR repos | — | Aug 7, 2024 | Capacity material |
| GitHub-Demo | SERVIR demo | Python | Jul 2, 2024 | Capacity material |
| IISLogger | Reads and extracts specified filters from IIS Log files | Python | Jun 18, 2024 | Review |
| curriculum_development_initiative | SERVIR and ITC's joint Curriculum Development Initiative | Jupyter Notebook | May 23, 2024 | Capacity material |
| request_locator | Request Locator is a Django application designed to provide location information based on IP addresses. | Python | May 3, 2024 | Review |
| AQX_Downscaling_Viewer | — | JavaScript | Feb 17, 2024 | Review |
| ForestConservationTargetingTool | Forest Conservation Targeting Tool (Developed by A. Blackman et al) | PHP | Nov 22, 2023 | Review |
| ag-classification-estimation | Agricultural Classification and Estimation Service (Bhutan rice map) | JavaScript | Oct 12, 2023 | Review |
| ee-tf | Earth Engine Tensor Flow Scripts | — | Sep 12, 2023 | Review |
| ESAfrica-Tethysapp-rdst | — | JavaScript | Aug 17, 2023 | Review |
| ESAfrica-Tethys_forecast_viewer | — | Python | Aug 17, 2023 | Review |
| ESAfrica-StreamFlowMonitor | — | HTML | Aug 17, 2023 | Review |
| ForestConservationEvaluationTool | Forest Conservation Estimation Tool | JavaScript | Aug 1, 2023 | Review |
| ESAfrica-rheas-viewer-and-dashboards-benson | Visualization of maize yield prediction using RHEAS DSSAT coupled models | HTML | Jul 28, 2023 | Review |
| ESAfrica-rheas-viewer-and-dashboards-rono | rheas-viewer-dashboard | — | Jul 28, 2023 | Review |
| ESAfrica-flood_simulator | flood simulator | JavaScript | Jul 26, 2023 | Review |
| ESAfrica-esafis | Eastern and Southern Africa Fire Information System | JavaScript | Jul 26, 2023 | Review |
| ESAfrica-coralreef | Coral Bleaching and Depletion trends in East Africa | HTML | Jul 26, 2023 | Review |
| ESAfrica-biodiversity-viewer | Visualization of digitized museums species and specimens | HTML | Jul 26, 2023 | Review |
| Service-Tracker | — | ASP.NET | Jun 14, 2023 | Review |
| airquality-hkh-cp-web | — | Vue | May 30, 2023 | Review |
| airquality-hkh-cp-mobile | — | Dart | May 30, 2023 | Review |
| airquality-hkh-cp-admin | — | JavaScript | May 30, 2023 | Review |
| SCAP | — | — | Apr 21, 2023 | Review |
| ESAfrica-coastaleco | Coastal and Marine Ecosystem Resources Visualization Tool | JavaScript | Apr 17, 2023 | Review |
| ESAfrica-landcoverviewer | GHG land cover viewer | JavaScript | Apr 17, 2023 | Review |
| ESAfrica-vulnerabilitytool | Malawi Vulnerability Tool | JavaScript | Apr 17, 2023 | Review |
| ESAfrica-ewx-viewer | Early Warning Explorer -data.rcmrd.org/ewx-viewer | JavaScript | Apr 11, 2023 | Review |
| aq_downscale | Downscaling Air Quality (PM2.5) data from ~25km to ~5km | — | Apr 4, 2023 | Review |
| ESAfrica-Invasive_Species_Mapper_System_Android | Field data collection for invasive species | Java | Apr 4, 2023 | Review |
| SERVIR_Template_CLI | This installer will help you get the SERVIR app template installed quickly and ready to modify. | Python | Mar 8, 2023 | Capacity material |
| RHEAS_SCO | — | Python | Jan 24, 2023 | Review |
| Bangladesh-Extreme-Weather-Alert | — | Python | Jan 18, 2023 | Review |
| esa-waterquality | — | — | Jan 6, 2023 | Review |
| esa-floodforecastingviewer | — | — | Jan 6, 2023 | Review |
| esa-streamflow | — | — | Jan 6, 2023 | Review |
| esa-invasivespecies | — | — | Jan 6, 2023 | Review |
| esa_rdst | — | — | Jan 6, 2023 | Review |
| gee-gateway | — | Python | Sep 28, 2022 | Archive |
| HIWAT | — | JavaScript | Jul 12, 2022 | Wrap as MCP |
| bewa_delivery | — | JavaScript | Jun 24, 2022 | Archive |
| LULC_Inventory | Land use Land cover Inventory | JavaScript | Jun 23, 2022 | Archive |
| ClimateSERV-2.0-Server | ClimateSERV 2.0 Server | Python | Jun 22, 2022 | Archive |
| Rheas-Viewer-Option2 | Merged VIC and DSSAT | JavaScript | Jun 17, 2022 | Archive |
| WaterWatch | — | Python | May 3, 2022 | Archive |
| rendvi | Data processing code for for the Rapid Enhanced Normalized Difference Vegetation Index (reNDVI) using Google Earth Engine | Jupyter Notebook | Apr 12, 2022 | Wrap as MCP |
| fier-cli | Command line interface for running the Forecasting of Inundation Extents using REOF process | Julia | Feb 28, 2022 | Archive |
| SWAT2.0 | — | JavaScript | Aug 11, 2021 | Archive |
| ClimateSERV-UI | — | JavaScript | Jun 28, 2021 | Archive |
| ast3-flood-colab | This repo hosts submodules and glue code for SERVIR AST3 work on flood | — | Jun 3, 2021 | Archive |
| FierDashboard | Dashboard web app to visualize results from FIER process | HTML | Apr 30, 2021 | Archive |
| GRACE | GRACE Tethys App Master Repository | JavaScript | Apr 15, 2021 | Archive |
| AltEx2.0 | This is an updated web application for storing, querying, and acessing altimetry-based water level estimates globally | Python | Feb 10, 2021 | Archive |
| ClimateSERV-2.0-Client-Admin | ClimateSERV 2.0 Admin | — | Jan 6, 2021 | Archive |
| aqx-india | — | JavaScript | Nov 3, 2020 | Archive |
| FIEREE.jl | Repository to replicate Forecasting of Inundation Extent using REOF with Earth Engine | Julia | Nov 2, 2020 | Archive |
| WaterQualityTethysApp | — | JavaScript | Oct 17, 2020 | Archive |
| spt_bias_correction | Package for online, large-scale bias corrections of the Streamflow Prediction Tool outputs | — | Sep 15, 2020 | Archive |
| AltEx | Altimetry Explorer Tethys App | Python | Jul 28, 2020 | Archive |
| tethysapp-streamflow_prediction_tool | Web app for displaying streamflow predictions using a GIS based interface (Forked from: https://github.com/CI-WATER/tethysapp-erfp_tool). | JavaScript | Jun 19, 2020 | Archive |
| RHEAS | Regional Hydrologic Extremes Assessment System | Python | May 11, 2020 | Wrap as MCP |
| ServiceCatalogURLs | Tethys app for validating SERVIR Service Catalog URLs | Python | Mar 21, 2020 | Archive |
| water-resources | — | JavaScript | Mar 5, 2020 | Archive |
| ForestStandHeight | SAR Handbook materials - Chapter 4 | Jupyter Notebook | Jan 8, 2020 | Archive |
| MapViewer | http://mapviewer.servirglobal.net/ | JavaScript | Aug 14, 2019 | Archive |
| RHEAS-Viewer2.0 | — | JavaScript | Jul 28, 2019 | Archive |
| gee-scripts | — | JavaScript | Jul 24, 2019 | Archive |
| LandchangeLearner | — | Python | Jul 11, 2019 | Archive |
| ClimateSERV | https://climateserv.servirglobal.net/ | JavaScript | Jul 3, 2019 | Archive |
| HydroViewer | — | JavaScript | Apr 26, 2019 | Archive |
| IMERG_30Min_ETL | Automated Extraction, Transformation, and Loading of the latest 30 Minute IMERG Precipitation | Python | Jan 10, 2019 | Archive |
| DARWIN-Viewer | — | Python | Nov 5, 2018 | Archive |
| BiasCorrectionPrecipitation | Bias Correction for Satellite Precipitation Observations | R | Nov 2, 2018 | Archive |
| IMERG_Accumulations_ETL | Automated Extraction, Transformation, and Loading of the latest 1, 3, and 7 Day IMERG Precipitation | Python | Aug 27, 2018 | Archive |
| IMERG_ETL | IMERG_ETL | Python | Aug 24, 2018 | Archive |
| tethysapp-water_watch | — | Python | Jul 6, 2018 | Archive |
| RLCMS | Regional land cover monitoring system | — | Jul 2, 2018 | Wrap as MCP |
| SWAT_viewer | SWAT output viewer application | Python | Jun 29, 2018 | Archive |
| SMA_Africa | — | JavaScript | Jun 7, 2018 | Archive |
| water-quality-gee | Water quality scripts for Google Earth Engine | JavaScript | May 29, 2018 | Archive |
| MapSERV | For Viewing Google Earth Engine Map Token/ID | JavaScript | May 24, 2018 | Archive |
| RHEAS-Viewer | View VIC and DSSAT output from a RHEAS database | JavaScript | May 1, 2018 | Archive |
| BLDAS | — | Python | Apr 13, 2018 | Archive |
| BLDAS_Explorer | — | JavaScript | Apr 11, 2018 | Archive |
| GEFSViewer | — | JavaScript | Mar 7, 2018 | Archive |
| TethysTemplate | — | JavaScript | Jan 9, 2018 | Capacity material |
| CropObserver | — | Python | Dec 18, 2017 | Archive |
| StreamViewer | Stream Animations | Python | Oct 18, 2017 | Archive |
| FIRE_ETL | FIRE_ETL | Python | Mar 29, 2017 | Archive |
| ISERV_ETL | ISERV_ETL | Python | Mar 29, 2017 | Archive |
| TRMM_ETL | TRMM_ETL | Python | Mar 29, 2017 | Archive |
| CREST_ETL | CREST_ETL | Python | Mar 29, 2017 | Archive |
| OceanProducts_ETL | OceanProducts_ETL | Python | Mar 29, 2017 | Archive |
| VIC_ETL | VIC ETL | Python | Mar 28, 2017 | Archive |
| Virtual-Rain | — | JavaScript | Oct 13, 2016 | Archive |
| scoScience | — | — | Oct 6, 2016 | Archive |
| SERVIR-Github-Demo | This is a demo of github and how to use it | HTML | Apr 12, 2016 | Capacity material |
| HubDataSetDisplay | — | JavaScript | Oct 9, 2014 | Archive |
| Fire-SMSTrigger | Processes incoming fire data from NASA and uses geofencing to trigger SMS messages from FrontlineSMS. | C# | Jul 29, 2014 | Archive |
| ReferenceNode_ETL | Scripts to access and compile near real time NASA satellite data into ArcGIS Server time-enabled map services | Python | Jul 21, 2014 | Archive |
| TRMM-GPTools | Scripts for calculating TRMM composites from custom time paramaters | Python | Jul 17, 2014 | Archive |
| TRMM-Explorer | General purpose browser for TRMM data with the ability to create custom time composites. | JavaScript | Jul 17, 2014 | Archive |
| Fire-Explorer | — | JavaScript | Jul 17, 2014 | Archive |
| Landcover-Explorer | — | JavaScript | Jul 17, 2014 | Archive |
| ClipNShip | Example of clipping, zipping and shipping SERVIR sourced vector and raster data. | JavaScript | Jul 17, 2014 | Archive |
19 wrap as mcp · 10 migrate · 35 review · 7 capacity material · 61 archive
github.com/Servir-Mekong — 44 repos
The deepest hydrology and land-cover bench in the ecosystem. hydra-floods and rlcms are the two assets the platform plan leans on hardest.
| Repository | What it is | Language | Last updated | Triage call |
|---|---|---|---|---|
| gem-tool | gem tool | JavaScript | Oct 29, 2025 | Migrate |
| rainstorm-tracker | — | JavaScript | Sep 23, 2025 | Migrate |
| hydra-floods | HYDrologic Remote sensing Analysis for Floods Python package | Python | Jul 18, 2025 | Wrap as MCP |
| landcoverPortal | simple example of landcover portal | JavaScript | Oct 2, 2024 | Wrap as MCP |
| JRCFloodToolDjango | Historical Flood Analysis Tool | Python | Apr 5, 2024 | Review |
| Drought-And-Crop-Yield | REGIONAL DROUGHT AND CROP YIELD INFORMATION SYSTEM (RDCYIS) | JavaScript | Feb 12, 2024 | Wrap as MCP |
| hydrafloodstool | — | HTML | Feb 6, 2024 | Review |
| rat_mekong | — | JavaScript | Dec 11, 2023 | Wrap as MCP |
| CambodiaME_Dashboard | A dashboard to monitor, evaluate and report landscape improvements in Cambodia | JavaScript | Jun 26, 2023 | Review |
| AirQuality | Air Quality Study for Mekong Region | JavaScript | Jun 9, 2023 | Review |
| SARFD | version 2 of the forest alert system using an EfficientNet | Python | Mar 22, 2023 | Wrap as MCP |
| ecodash | — | Python | Mar 2, 2023 | Review |
| vrsgs | — | HTML | Feb 27, 2023 | Review |
| hydrafloodviewer | — | HTML | Jan 12, 2023 | Review |
| sentinel-1-pipeline | Sentinel 1 pipeline using SNAP GPT 7.0 | Python | Dec 8, 2022 | Archive |
| Virtual-Rain | — | Python | Nov 22, 2022 | Archive |
| surface-water-map-unet | — | Python | Sep 13, 2022 | Archive |
| lhasa | — | HTML | Sep 7, 2022 | Wrap as MCP |
| SurfaceWaterTool | A web application for the water detection algorithm using Google Earth Engine and App Engine. | Python | Sep 5, 2022 | Archive |
| GPM-BICO | Bias Correction Tool for GPM precipitation data | Python | Jul 12, 2022 | Archive |
| gae-gee-demo | A simple web application demonstrating how to combine the Google Maps API with the Google Earth API. | Python | Nov 24, 2021 | Capacity material |
| ST-CORA | Spatiotemporal Object-based Rainfall Analysis | Python | Oct 7, 2021 | Archive |
| data-driven-optical-sar-data-fusion | Repository to host the processing workflow for the paper | Jupyter Notebook | Jul 7, 2021 | Archive |
| landcoverPackage | pip package to import land cover tool | Python | Jun 22, 2021 | Archive |
| GPL_forest_alert_model | — | Python | Apr 26, 2021 | Wrap as MCP |
| tensorflowBucket | repo for tensorflow models | Python | Feb 4, 2021 | Archive |
| ClimateSERV_CHIRPS-GEFS | Automatic extraction of CHIRPS-GEFS rainfall forecast data using ClimateSERV | Python | Nov 9, 2020 | Archive |
| rlcms | Hosting repository for the RLCMS methodology and code using GEE | — | Oct 23, 2020 | Wrap as MCP |
| LandCoverMonitoring | — | Python | Sep 29, 2020 | Archive |
| Servir-Mekong.github.io | Landing page for SERVIR-Mekong repo documents | Python | Aug 11, 2020 | Archive |
| tensorFlowModels | Repository to store ee Tensorflow models | Python | Feb 3, 2020 | Archive |
| tethysapp-hydraviewer | HYDrologic Remote sensing Analysis Viewer Application | HTML | Oct 9, 2019 | Archive |
| Jupyter-gee | — | Jupyter Notebook | Feb 1, 2019 | Archive |
| bump | Basic Utility Mapping Preprocessor - bumping the newest imagery into Earth Engine | Python | Aug 22, 2018 | Archive |
| MODIS_tools | Python scripts for NRT and historic modis flood monitoring tools | Python | Apr 3, 2018 | Archive |
| Jupyter-MachineLearning | Generic ML library | Jupyter Notebook | Mar 19, 2018 | Archive |
| Jupyter-arcpy | Setting Up Jupyter notebooks for ArcGIS | — | Mar 17, 2018 | Archive |
| harmonicTrend | — | Python | Nov 9, 2017 | Archive |
| PythonLandCoverTool | python implementation of the landcover tool | Python | Oct 4, 2017 | Archive |
| JRCFloodTool | — | JavaScript | Aug 30, 2017 | Archive |
| CarbonMonitor | — | Python | Mar 17, 2017 | Archive |
| GIT-Mekong-Info | General Information Related to Geospatial Information Technology of SERVIR-Mekong Team | — | Sep 2, 2016 | Archive |
| Eco-Dashboard | biophysical earth engine app | Python | Aug 25, 2016 | Archive |
| Dam_Inundation | This ARCGIS tool calculates potential dam Inundation extents | — | Jul 21, 2016 | Archive |
8 wrap as mcp · 2 migrate · 7 review · 1 capacity material · 26 archive
github.com/SERVIR-Amazonia — 38 repos
Newest activity of any hub org. Also carries an obvious consolidation target: fourteen Tethys/GEOGloWS repos are roughly three codebases forked once per country.
| Repository | What it is | Language | Last updated | Triage call |
|---|---|---|---|---|
| comimo | Web application repository for illegal gold mining monitoring application. | JavaScript | Jul 28, 2026 | Wrap as MCP |
| VegMapper | Land cover classification using remote sensing observations | Jupyter Notebook | Mar 2, 2026 | Wrap as MCP |
| MANGLEE | Un repositorio para los scripts de la herramienta MANGLEE para monitoreo de manglares en Ecuador. | Jupyter Notebook | Jul 14, 2025 | Wrap as MCP |
| caribbean-trainings | General github-pages template for the 2022-23 Caribbean workshops and beyond! | HTML | Jan 24, 2025 | Capacity material |
| barbados-training | A repository for the 2022-23 Barbados geospatial capacity building training series website. | HTML | Jan 24, 2025 | Capacity material |
| colombia-training | Repo for the Colombia training sessions -- in progress | HTML | Jan 24, 2025 | Capacity material |
| republica-dominicana-taller | A repository for the 2022-23 Dominican Republic geospatial capacity building training series website. | Jupyter Notebook | Jan 24, 2025 | Capacity material |
| trinidad-and-tobago-training | A repository for the 2022-23 Trinidad and Tobago geospatial capacity building training series website. | HTML | Jan 24, 2025 | Capacity material |
| guyana-training | A repository for the 2022-23 Guyana geospatial capacity building training series website. | HTML | Jan 24, 2025 | Capacity material |
| Peru-tensorflow-training | A GitHub repository for the TensorFlow Training held in Peru (August 8th-11th) | Jupyter Notebook | Jan 8, 2025 | Capacity material |
| imbabura | Mapeo de coberturas y usos de la tierra Imbabura 2019 | — | Sep 12, 2024 | Review |
| geoglows_database_ecuador | — | Python | Jul 19, 2024 | Review |
| gedi-inspect | LPDAAC vs GEE GEDI data inspection for AST Pinto | Jupyter Notebook | Jun 7, 2024 | Review |
| tethysapp-historical_validation_tool_ecuador | — | JavaScript | May 7, 2024 | Review |
| tethysapp-national_water_level_forecast_ecuador | — | JavaScript | May 7, 2024 | Review |
| tethysapp-hydroviewer_ecuador | — | JavaScript | Apr 25, 2024 | Review |
| fire-forecasting-colombia | Fire Forecasting in the Colombian Amazon | JavaScript | Apr 4, 2024 | Review |
| suriname-training | A repository for the 2023 Suriname geospatial capacity building training series website. | HTML | Jan 9, 2024 | Capacity material |
| colombia-tethys-apps | Set of applications developed for Colombia through the Tethys Platform tool. | JavaScript | Dec 27, 2023 | Review |
| sinchi | — | R | Dec 18, 2023 | Review |
| sinchi-cobertura | — | R | Dec 14, 2023 | Review |
| rami-peru | Un repositorio para los scripts de la herramienta RAMI para monitoreo de minería en la Amazonía peruana. | JavaScript | Oct 31, 2023 | Wrap as MCP |
| Spectral_Signature_Perennial_Crops | — | — | Sep 11, 2023 | Review |
| tethysapp-national_water_level_forecast_brazil | — | JavaScript | Aug 28, 2023 | Review |
| tethysapp-historical_validation_tool_brazil | — | JavaScript | Aug 25, 2023 | Review |
| geoglows_database_brazil | — | Python | Aug 25, 2023 | Review |
| ACCA-Selective-Logging-DL | A series of python notebooks describing a workflow to develop a deep learning model with very high resolution images from SkySat (0.5 m). | Jupyter Notebook | Aug 4, 2023 | Review |
| Mapping_Perennial_Crops | It is a routine developed to map perennial crops on Google Earth Engine | JavaScript | Aug 4, 2023 | Review |
| republica-dominicana | GEE repository of scripts being used in the Dominican Republic training sessions. | — | Aug 4, 2023 | Capacity material |
| training-documentation-example | just to screenshoot the step by step. will be deleted | HTML | Aug 3, 2023 | Capacity material |
| tethysapp-sonics_hydroviewer | — | Python | Jul 24, 2023 | Review |
| tethysapp-sonics_geoglows | — | Python | Jul 23, 2023 | Review |
| tethysapp-hydroviewer_peru | — | JavaScript | Jul 22, 2023 | Review |
| tethysapp-historical_validation_tool_peru | — | JavaScript | Jul 22, 2023 | Review |
| geoglows_database_peru | — | Python | Jul 22, 2023 | Review |
| tethysapp-national_water_level_forecast_peru | — | JavaScript | Jul 22, 2023 | Review |
| servir-amazonia-ml | Notebook tutorials demonstrating advanced techniques for use of deep learning with TensorFlow and earth observation data | Jupyter Notebook | Dec 9, 2021 | Capacity material |
| sentinel-1-pipeline | — | Python | Mar 24, 2020 | Archive |
4 wrap as mcp · 22 review · 11 capacity material · 1 archive
github.com/SERVIRSEA — 7 repos
Small and modern — includes two foundation-model experiments (Claynge on Clay, cashew on a CNN) that are directly relevant to the GeoAI stack in §03.
| Repository | What it is | Language | Last updated | Triage call |
|---|---|---|---|---|
| airquality_backend | — | JavaScript | Feb 24, 2025 | Wrap as MCP |
| Claynge | CLAY for change detection | Jupyter Notebook | Nov 5, 2024 | Wrap as MCP |
| mrc_ffgs | — | HTML | Sep 2, 2024 | Wrap as MCP |
| cambodia_supporting_scripts | — | Jupyter Notebook | Jul 2, 2024 | Review |
| sentinel-tree-cover | Image segmentations of trees outside forest | Jupyter Notebook | Jun 18, 2024 | Wrap as MCP |
| cashew | Cashew mapping in Cambodia using Convolutional neural network | Python | May 5, 2024 | Wrap as MCP |
| mrcdash | — | JavaScript | Dec 20, 2023 | Review |
5 wrap as mcp · 2 review
github.com/pyregence — 8 repos
Partner-tool org, named by David (Decision #16). Actively developed in Clojure through September 2026 — the wildfire capability in §04 is real, current software.
| Repository | What it is | Language | Last updated | Triage call |
|---|---|---|---|---|
| pyregence | The main web portal for the Pyregence project. | Clojure | Sep 2, 2026 | Wrap as MCP |
| geosync | Automatically add raster and vector layers to a running GeoServer instance. | Clojure | Sep 1, 2026 | Wrap as MCP |
| pyretechnics | Fire-behavior library — Rothermel surface, crown, spotting, and the ELMFIRE level-set spread algorithm. On PyPI (pip install pyretechnics), 15 releases, EPL-2.0. Authors incl. D. Saah (SIG). | Python / Cython (GitHub reads it as HTML — org-mode export) | Aug 10, 2026 | Wrap as MCP |
| geoserver | Official GeoServer repository | Java | Jul 15, 2026 | Migrate |
| ul-wildfire-risk-modeling-exercise | — | Jupyter Notebook | May 21, 2026 | Migrate |
| WesterlingFireModels | Code for most of the sub-projects for the Fire Modeling from the Westerling lab. | R | Dec 22, 2025 | Migrate |
| gridfire | — | Clojure | May 22, 2024 | Wrap as MCP |
| WBSE | Wildfire Burn Severity and Emission Inventory | Jupyter Notebook | Apr 25, 2022 | Archive |
4 wrap as mcp · 3 migrate · 1 archive
github.com/geoglows — 28 repos
Partner-tool org. GEOGloWS is named as the riverine-flood forecasting backbone throughout this plan — §04's flood row, §05's irrigation-water-availability signal, §07's shared streamflow row, and the Malawi and IDEAM use cases — but its code had never been inventoried, so the plan was depending on software it had not read. It is the most actively developed org in this register: eleven repos pushed in the last month, against roughly six across the two largest hub orgs all year. Licensing is permissive throughout, verified by cloning: geoglows is on PyPI and conda-forge at 2.2.0 (BSD-3-Clause-Clear), geoglows-rest-api is MIT and already a running Flask service, river-route is BSD and on PyPI. That lowers the technical barrier to wrapping — it does not define the institutional relationship. GEOGloWS is a partner with its own governance (confirmed by David, 14 September 2026), and §04's flood row stays Partner. What the inventory changes is that the partnership turns out to be better provisioned than the label implied: integration here is an agreement to reach, not a capability to build.
| Repository | What it is | Language | Last updated | Triage call |
|---|---|---|---|---|
| tdxhydro-postprocessing | — | Python | Sep 12, 2026 | Wrap as MCP |
| webapp-fews4all | Multi-Model Global Flood Early Warning System | JavaScript | Sep 10, 2026 | Review |
| webapp-rfs-v3 | — | JavaScript | Sep 8, 2026 | Review |
| apps.geoglows | — | HTML | Sep 4, 2026 | Review |
| rfs-v2-hydroviewer | — | JavaScript | Sep 4, 2026 | Review |
| webapp-grace-groundwater | — (GRACE groundwater front-end — see the overlap note below) | JavaScript | Sep 4, 2026 | Review |
| geoglows.org | Main geoglows.org page | Astro | Sep 1, 2026 | Review |
| geoglows-auth | Geoglows auth Ts library | TypeScript | Sep 1, 2026 | Migrate |
| webapp-rfs-hydrography | — | JavaScript | Aug 31, 2026 | Review |
| webapp-rfs-hydrosos | — | JavaScript | Aug 28, 2026 | Review |
| aquiferx | — | Jupyter Notebook | Jul 15, 2026 | Wrap as MCP |
| training.geoglows.org | — | — | Jul 7, 2026 | Capacity material |
| hydroserver-ops | A GitHub repo used to manage HydroServer deployments | HCL | Jun 27, 2026 | Migrate |
| geoglows_ecflow | — | Python | Jun 24, 2026 | Wrap as MCP |
| rfs-v2-retrospective-update | — | Python | Apr 23, 2026 | Wrap as MCP |
| river-route | Hydrologic river routing of gridded runoff depths or catchment volumes on vector stream networks | Python | Apr 17, 2026 | Wrap as MCP |
| geoglows-rest-api | A flask app for the GEOGLOWS River Forecast System web data service | Python | Apr 13, 2026 | Wrap as MCP |
| ggst_backend | — (GRACE Groundwater Subsetting Tool backend — see the overlap note below) | Jupyter Notebook | Apr 7, 2026 | Wrap as MCP |
| pygeoglows | A python package of tools coming from the GEOGLOWS initiative | Python | Dec 2, 2025 | Wrap as MCP |
| forecast-game | The serious game for RFS forecasts | HTML | Jul 19, 2025 | Capacity material |
| hydrosos_maps | — | Python | May 20, 2025 | Wrap as MCP |
| basininflow | — | Python | Nov 23, 2024 | Wrap as MCP |
| toc.geoglows.docs | — | — | Oct 10, 2024 | Capacity material |
| geoglows-hydroviewer | A web app for interacting with all components of the GEOGloWS ECMWF Streamflow Model | HTML | Oct 1, 2024 | Review |
| model-workflows | — | Python | Mar 22, 2024 | Wrap as MCP |
| RAPIDpy | RAPIDpy is a python interface for RAPID that assists to prepare inputs, runs the RAPID program, and provides post-processing utilities | Python | Mar 15, 2024 | Wrap as MCP |
| rapid-docker | — | Dockerfile | Dec 7, 2023 | Migrate |
| old-training.geoglows.org | source for the training.geoglows.org website | Python | Nov 6, 2022 | Archive |
12 wrap as mcp · 3 migrate · 9 review · 3 capacity material · 1 archive
geoglows/ggst_backend and geoglows/webapp-grace-groundwater are the backend and front-end of the GRACE Groundwater Subsetting Tool. The same capability is already claimed by DRIP — Drought Resilience Impact Platform in §09 ("satellite-linked groundwater sensors plus drought forecasting", Kenya/Ethiopia, in development), by the GRACE-FO drought products row in §10, and by the archived SERVIR/GRACE ("GRACE Tethys App Master Repository") in the inventory above — four groundwater efforts against one NASA mission. aquiferx is a fifth, adjacent. This needs one owner before any of it is wrapped: the §07 sharing table currently carries GEOGloWS only as a streamflow signal, and groundwater does not appear in §05 or §07 at all, which is how the duplication stayed invisible.
sentinel-1-pipeline exists independently in both SERVIR-Amazonia and Servir-Mekong, with the Mekong copy already archived — the clearest single example of the duplication the consolidation is meant to end.
And two repos need provenance checked before they are treated as first-party code: pyregence/geoserver ("Official GeoServer repository") and SERVIRSEA/sentinel-tree-cover are almost certainly upstream-derived, though GitHub rendered no fork label for either.