OpenDataMCP
Provides tools to search and analyze geospatial datasets from the AWS Registry of Open Data, including STAC queries, NDVI/NDBI calculations, and land-cover classification.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OpenDataMCPsearch datasets related to agriculture"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Geospatial MCP Build — Open Data MCP, Drought Analysis & FloodGuard Agent
A hands-on exploration of geospatial AI built with Kiro. This repo brings together three things that build on each other:
OpenDataMCP— a custom FastMCP server that turns the AWS Registry of Open Data (RODA) and public STAC catalogs into agent-callable tools (dataset search, STAC queries, and NDVI/NDBI/land-cover analysis on Sentinel-2 imagery).A drought analysis script — a standalone NDVI comparison of Shasta Lake, CA between a recovery year (2017) and an extreme drought year (2021).
FloodGuard — a geospatially-aware flood-insurance claims agent built on the Strands Agents SDK and deployed to Amazon Bedrock AgentCore, plus the Geospatial Kiro Power Pack used to give Kiro itself geospatial superpowers.
If you want the story of how this was built — the prompts, the tools added, the agent powers wired up — see
INTERACTIONS.md. For the verbatim lab instructions and prompts, seeGEOSPATIAL_MCP_BUILD_LABS.md.
Repository layout
.
├── open_data_mcp.py # FastMCP server: RODA + STAC + NDVI/NDBI tools
├── drought_analysis.py # Shasta Lake NDVI drought comparison (2017 vs 2021)
├── ndvi_shasta_*.tif # NDVI rasters + difference GeoTIFFs (outputs)
├── shasta_*_ndvi_classified.* # Land-cover classification outputs (PNG + GeoTIFF)
├── shasta_drought_ndvi_comparison.png
│
├── floodguard/ # Flood-claims agent on Amazon Bedrock AgentCore
│ ├── app/floodguard/ # Strands agent + self-contained flood tools
│ ├── agentcore/ # AgentCore config + CDK deployment
│ ├── DEPLOYMENT.md # Full, reproducible build + deploy record
│ └── maui_demo_prompt.txt # Demo scenario (Maui 2026 flooding)
│
└── sample-geospatial-kiro-power-pack/ # The Geospatial Kiro Power (MCP servers + skills)Related MCP server: SkyFi MCP Server
1. OpenDataMCP server
open_data_mcp.py is a single-file MCP server. It fetches the RODA NDJSON index once
(cached for an hour), then exposes discovery and analysis tools over stdio. Imagery is read
cloud-natively via COG byte-range reads — no bulk downloads.
Tools
Tool | What it does |
| Search RODA datasets by name |
| Filter RODA datasets by tags (match all/any) |
| Full record for a specific dataset |
| Discover STAC endpoints referenced in RODA datasets |
| Query a STAC collection by bbox / datetime / cloud cover |
| Thumbnail + true-color URL for a specific scene |
| NDVI (vegetation) for a Sentinel-2 scene → GeoTIFF + stats |
| NDBI (built-up) for a Sentinel-2 scene → GeoTIFF + stats |
| Two-scene NDVI comparison figure + difference raster |
| Two-scene NDBI comparison figure + difference raster |
| Threshold an NDVI raster into 5 land-cover classes + map |
Run it
# Dependencies: fastmcp, httpx, numpy, rasterio, pyproj, scipy, matplotlib
uv run python open_data_mcp.py # serves over stdioRegister it with Kiro (MCP)
Add it to your workspace MCP config at .kiro/settings/mcp.json:
{
"mcpServers": {
"OpenDataMCP": {
"command": "uv",
"args": ["run", "--directory", "/absolute/path/to/repo", "open_data_mcp.py"],
"disabled": false,
"autoApprove": ["search_datasets", "search_datasets_by_tags", "get_dataset_info"]
}
}
}2. Drought analysis (Shasta Lake)
drought_analysis.py loads two pre-computed NDVI rasters (2017 recovery vs 2021 extreme
drought), computes per-class vegetation statistics, writes a difference raster, and renders
a three-panel comparison figure.
uv run python drought_analysis.py
# → shasta_drought_ndvi_comparison.png
# → ndvi_shasta_diff_2021_vs_2017.tifThe report quantifies the drought signal: lower mean NDVI in 2021, a rise in the water/bare-soil class as the lake receded, and dense-vegetation loss on the surrounding hillsides.
3. FloodGuard agent (Amazon Bedrock AgentCore)
floodguard/ is a demo AI support chatbot for a fictional flood-insurance agency. It is
geospatially aware, understands Sentinel-2 (optical, NDWI) and Sentinel-1 (SAR VV
backscatter) imagery, and triages flood claims from a before/after scene pair.
Highlights:
Built with the Strands Agents SDK, wrapped by
BedrockAgentCoreApp.Seven self-contained tools (
geocode_place,search_flood_scenes,analyze_flood_change,analyze_sar_flood,assess_flood_claim, …) so the agent behaves identically locally and in the cloud.Optional OpenDataMCP integration over stdio in local dev (set
OPEN_DATA_MCP_PATH).Deployed via AWS CDK to AgentCore Runtime (CodeZip, ARM64, Python 3.12).
Full, reproducible build and deploy steps — including the Maui 2026 flooding demo — are in
floodguard/DEPLOYMENT.md.
Security note: the reference deployment uses
networkMode: PUBLIC. Access is still gated by IAM SigV4 (no unauthenticated calls), but for production you should scope invoke permissions to specific principals and consider a JWT authorizer or VPC networking.
4. Geospatial Kiro Power Pack
sample-geospatial-kiro-power-pack/ is a modular Kiro Power that gives Kiro unified access
to the fragmented geospatial landscape. It is organized around a dual-fragmentation framing:
Pillar A — data access:
geo-stac,geo-vector,geo-geocode-route,geo-terrain,geo-weather-climate,geo-biodiversity,geo-ogc.Pillar B — processing/compute:
geo-ops,geo-formats,geo-query,geo-raster,geo-pointcloud,geo-index,geo-3d,geo-warehouse.Pillar C — GeoAI:
geo-foundation-models(Clay, Prithvi, SatCLIP, SAMGeo),geo-embedding-search.Plus a hub (
kiro-geospatial), a shared base (geo-common), commercial imagery, and anaws-geo-computepeer power.
It also ships skills (COG/GeoParquet guidance, CRS handling, tool selection, spatial
SQL) and steering workflows (COG conversion, zonal statistics, STAC discover→analyze,
embedding change detection). See its own bundle-manifest.json and examples/ for details.
Install it as a Kiro Power
Kiro Powers can be installed straight from GitHub repos. To add the geospatial power on the remote machine where you are running Kiro:
Copy this link and paste it into your browser on the remote machine (where Kiro runs): https://github.com/aws-samples/sample-geospatial-kiro-power-pack
Open a new terminal in the workshop folder, clone the repository, and change into it:
git clone https://github.com/aws-samples/sample-geospatial-kiro-power-pack.git cd ./sample-geospatial-kiro-power-pack/Follow the Installation instructions from the repository and install all of the MCP servers listed, then configure them. You do not need to create a new
uvenvironment — you are already in one that is activated.
Your existing MCP servers are left untouched. Once installation completes, you should have the full set of geospatial powers (the hub, data-access, processing, and GeoAI servers listed above) available in Kiro.
Key takeaways
MCP turns open geospatial data into agent tools. A single small server (
open_data_mcp.py) makes 1,000+ RODA datasets and public STAC catalogs directly callable by an AI agent.Cloud-native reads beat downloads. Every raster operation here uses COG byte-range reads over HTTPS against public, credential-free buckets — fast enough to run inside an AgentCore microVM.
Portability by design. FloodGuard's tools are self-contained so the agent behaves the same in local dev and when deployed; the MCP server is an optional local enhancement, not a runtime dependency.
Same science, two indices, two sensors. NDVI/NDWI/NDBI are simple band-ratio indices; swapping bands (and using SAR when it's cloudy) covers vegetation, water, and built-up analysis with one mental model.
Powers scale Kiro's reach. The Geospatial Power Pack packages dozens of specialized MCP servers behind one credential surface, with skills and steering that teach Kiro when to use each one.
Prerequisites
Python 3.10+ (3.12 recommended) and
uvNode.js 20+ (for the AgentCore CDK deploy path)
AWS credentials + Bedrock model access (only for deploying FloodGuard)
License
See the individual subprojects for their licenses (the Power Pack includes its own LICENSE
and NOTICE).
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
- AlicenseBqualityCmaintenanceEnables AI assistants to search and access geospatial datasets through STAC (SpatioTemporal Asset Catalog) APIs. Supports querying satellite imagery, weather data, and other geospatial assets with spatial, temporal, and attribute filters.Last updated1012MIT
- Alicense-qualityDmaintenanceEnables AI agents to interact with SkyFi's geospatial data services for ordering satellite imagery, searching data catalogs, checking pricing and feasibility, and monitoring areas of interest.Last updated25MIT
- FlicenseAqualityDmaintenanceProvides access to the OpenLandMap STAC catalog, offering over 100 global environmental datasets including soil, climate, and vegetation data. It enables AI agents to discover, search, and retrieve Cloud-Optimized GeoTIFFs for global geospatial analysis.Last updated27
- AlicenseAqualityCmaintenanceEnables AI agents to discover and access 800TB+ of public geospatial data from Source Cooperative, with tools for listing organizations, products, files, and fuzzy search.Last updated62MIT
Related MCP Connectors
Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.
Give your agent live data from Twitter, Reddit, the web and GitHub. No API keys, no scraping stack.
Give your agent web search and authoritative datasets: S&P Global, FRED, OECD, SimilarWeb & more.
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/shahchiragh/open-data-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server