satellite-mcp
Integrates NASA FIRMS (active fire detections) and NASA Earth Observation APIs, enabling queries for fire activity, historical fire data, and Earth observation imagery.
Provides tools for querying OpenStreetMap data via the Overpass API, allowing searches for critical infrastructure, military bases, and geographic features.
Integrates the Planet Labs Data API for satellite imagery search, metadata retrieval, and download capabilities.
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., "@satellite-mcpShow me satellite images of the recent flood in Pakistan"
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.
Full-spectrum GEOINT (Geospatial Intelligence) server for the Model Context Protocol. 171 tools covering satellite imagery, aircraft tracking, maritime surveillance, military intelligence, conflict monitoring, environmental analysis, critical infrastructure, sanctions compliance, cyber-geo intelligence, and 18 more domains — all from open-source data.
Highlights
171 tools across 27 categories — the most comprehensive GEOINT MCP server available
Sentinel-2, Landsat 8/9, Planet Labs, NASA FIRMS satellite imagery search, metadata, and spectral band reference
Real-time aircraft tracking (ADS-B via OpenSky), maritime AIS surveillance (Global Fishing Watch), space/orbital tracking (CelesTrak, N2YO)
Military base detection, conflict event monitoring (ACLED/GDELT), sanctions compliance (OFAC SDN)
Pure-computation spectral indices (NDVI, NDWI, NBR, EVI, and more) and multi-index change detection — no external dependencies
Zero-config for most tools — API keys are optional and unlock premium data sources; dozens of tools work immediately with no setup
Two runtime dependencies only —
@modelcontextprotocol/sdkandzodStdio transport — works with Claude Desktop, Claude Code, Cursor, Windsurf, and any MCP-compatible client
Related MCP server: OSINT MCP Server
Quick Start
npx satellite-mcp # run directly (no install)
# or install globally
npm i -g satellite-mcp
satellite-mcp --list # see all 171 tools
satellite-mcp --help # usage informationConnect to Claude Desktop
Add to your MCP configuration file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"satellite": {
"command": "npx",
"args": ["-y", "satellite-mcp"],
"env": {
"NASA_API_KEY": "your-key-or-use-DEMO_KEY",
"OPENSKY_USERNAME": "optional"
}
}
}
}Connect to Claude Code
claude mcp add satellite-mcp -- npx satellite-mcpCLI Usage
# Run any tool directly from the command line
satellite-mcp --tool spectral_ndvi '{"nir":0.8,"red":0.2}'
satellite-mcp --tool geo_distance '{"lat1":41.01,"lng1":28.98,"lat2":39.93,"lng2":32.86}'
satellite-mcp --tool quake_recent '{"min_magnitude":4.0,"limit":10}'
satellite-mcp --tool firms_active_country '{"country":"TUR","days":1}'
satellite-mcp --tool weather_current '{"lat":48.85,"lng":2.35}'Tool Categories
# | Category | Tools | API / Data Source | Auth |
1 | 8 | Copernicus Data Space OData | Optional OAuth2 | |
2 | 7 | USGS M2M API | Optional | |
3 | 6 | NASA FIRMS REST | Optional key | |
4 | 7 | NASA Open APIs | Optional (DEMO_KEY) | |
5 | 5 | EOG / NOAA | None | |
6 | 4 | Planet Data API | Required | |
7 | 10 | OpenSky Network | Optional | |
8 | 8 | Global Fishing Watch | Optional | |
9 | 8 | OSM + OpenSky | None | |
10 | 6 | CelesTrak + N2YO | Optional | |
11 | 6 | ACLED + GDELT | Optional | |
12 | 6 | GFW + Open-Meteo | Optional | |
13 | 6 | OSM Overpass | None | |
14 | 5 | OFAC SDN | None | |
15 | 6 | Open Elevation | None | |
16 | 6 | OONI + IODA + ip-api | None | |
17 | 5 | WorldPop + UNHCR | None | |
18 | 5 | FAO + FEWS NET | None | |
19 | 5 | ReliefWeb + UNHCR | None | |
20 | 5 | NOAA Buoys + Open-Meteo | None | |
21 | 5 | UN Comtrade | Optional | |
22 | 5 | USGS Earthquake | None | |
23 | 8 | Overpass API | None | |
24 | 8 | Nominatim + math | None | |
25 | 8 | Pure computation | None | |
26 | 6 | Pure computation | None | |
27 | 6 | Open-Meteo | None | |
Total | 171 |
1. Sentinel-2 (Copernicus) — 8 tools
Tool | Description |
| Search Sentinel-2 satellite imagery by location, date range, and cloud cover percentage |
| Get detailed metadata for a Sentinel-2 product by ID |
| Get quicklook (thumbnail preview) URL for a Sentinel-2 product |
| Reference table of all 13 Sentinel-2 MSI spectral bands with wavelengths and resolutions |
| Find the most recent cloud-free Sentinel-2 image for a location |
| Get available Sentinel-2 image dates for a location over the past year |
| Sentinel-2 coverage and revisit information for a location |
| Get download URL for a Sentinel-2 product (requires Copernicus authentication) |
2. Landsat (USGS) — 7 tools
Tool | Description |
| Search Landsat 8/9 satellite scenes by location, date range, and cloud cover |
| Get detailed metadata for a Landsat scene by entity ID |
| Get browse/thumbnail URL for a Landsat scene |
| Reference table of Landsat 8/9 OLI/TIRS spectral bands with wavelengths and resolutions |
| Find the most recent Landsat scene for a location |
| Get Landsat scene availability for a location — historical coverage since 1972 |
| Get download URL for a Landsat scene (requires USGS authentication) |
3. NASA FIRMS (Active Fire) — 6 tools
Tool | Description |
| Query NASA FIRMS for active fire detections within a geographic bounding box |
| Query NASA FIRMS for active fire detections within a country (ISO 3166-1 alpha-3) |
| Find active fires near a specific coordinate within a given radius |
| Retrieve historical fire detection data for a specific date and bounding box |
| Retrieve the latest global fire detections sorted by most recent |
| Compute aggregate fire statistics for a geographic area — total count, brightness, FRP, confidence |
4. NASA Earth Observation — 7 tools
Tool | Description |
| Get Landsat 8 natural color satellite imagery URL for a coordinate and date |
| List available Landsat 8 imagery dates for a geographic coordinate |
| Get the latest full-disk Earth photograph from DSCOVR's EPIC camera |
| Get DSCOVR EPIC full-Earth photographs for a specific date |
| List all available dates in the DSCOVR EPIC image archive |
| Retrieve daily solar and meteorological parameters from NASA POWER |
| Construct a NASA GIBS WMTS tile URL for a specific layer, date, and tile coordinate |
5. Night Lights (VIIRS) — 5 tools
Tool | Description |
| Get night lights map tile URL from NASA GIBS — VIIRS Black Marble layer |
| Get night light radiance estimate for a location — light intensity indicator |
| Compare night light levels between two dates — detect power outages, urban growth, or conflict damage |
| Night light time series analysis — monthly radiance trends for monitoring urbanization or conflict |
| Night light anomaly detection — sudden changes indicating power outages, conflict, or rapid development |
6. Planet Labs — 4 tools
Tool | Description |
| Search Planet Labs satellite imagery catalog — daily 3m resolution global coverage |
| Get detailed metadata for a Planet Labs item |
| Get thumbnail preview URL for a Planet Labs item |
| Get Planet imagery coverage statistics for an area |
7. Aircraft Intelligence — 10 tools
Tool | Description |
| Get live aircraft positions within a bounding box — position, altitude, speed, heading, origin country |
| Track a specific aircraft by ICAO24 hex address — returns flight path waypoints |
| Get flight history for an aircraft over a time period including departure and arrival airports |
| Get flight waypoints for an aircraft with cumulative distance calculation |
| Get recent arrivals at an airport by ICAO code |
| Get recent departures from an airport by ICAO code |
| Search for currently airborne aircraft by callsign (partial match supported) |
| Filter military aircraft in a bounding box by ICAO24 hex ranges assigned to military operators |
| Traffic statistics for a bounding box — total aircraft, altitude distribution, top countries |
| Detect anomalous aircraft behavior — low altitude, loitering, emergency squawks, no callsign |
8. Maritime Intelligence — 8 tools
Tool | Description |
| Search for vessels by name, MMSI, or IMO number using Global Fishing Watch |
| Get last known position for a vessel by GFW vessel ID |
| Get vessel movement history (GPS track) over a date range |
| Get all vessels in a bounding box area using AIS data |
| Analyze fishing activity in an area — fishing hours, vessel count, top flag states |
| Get port visit history for a vessel |
| Detect ship-to-ship encounters and transfers — potential at-sea transshipment |
| Detect AIS gap events (dark periods) for a vessel — potential sanctions evasion or illegal activity |
9. Military & Defense — 8 tools
Tool | Description |
| Find military bases, barracks, airfields, ranges, and bunkers in a bounding box (OSM data) |
| Track live military aircraft in a bounding box by filtering military ICAO24 hex ranges |
| Find restricted, danger, prohibited, and military airspace zones in a bounding box |
| Find naval bases and military ports in a bounding box |
| Find nuclear facilities — power plants, research reactors, enrichment sites in a bounding box |
| Find known missile test sites, launch pads, and military testing ranges in a bounding box |
| Find radar stations and air defense installations in a bounding box |
| Composite military activity score for a bounding box — facility count, restricted airspace, overall assessment |
10. Space & Orbital Tracking — 6 tools
Tool | Description |
| List active satellites by category — communications, weather, military, science, navigation, starlink |
| Get TLE (Two-Line Element) orbital data for a satellite by NORAD catalog number |
| Predict visible satellite passes over a location (requires N2YO API key) |
| List satellites currently overhead at a location (requires N2YO API key) |
| Get Starlink constellation status — total satellites, orbital statistics, newest and oldest launches |
| Track space debris objects from known fragmentation events |
11. Conflict & Events — 6 tools
Tool | Description |
| Get armed conflict events from ACLED — battles, violence against civilians, explosions, riots, protests |
| Conflict fatality statistics by country — total fatalities, breakdown by event type |
| List armed groups and actors active in a country with event counts |
| Conflict intensity grid map — divides bounding box into cells and counts events per cell |
| Global event monitoring via GDELT — search news articles about specific topics or events |
| Media intensity analysis via GDELT — track news volume over time for a topic or region |
12. Environmental Intelligence — 6 tools
Tool | Description |
| Get deforestation alerts (GLAD) near a coordinate — recent tree cover loss events |
| Assess fire risk at a location based on current weather conditions — temperature, humidity, wind |
| Check for methane emission hotspots — uses Sentinel-5P TROPOMI data references |
| Get satellite-derived air pollution data — NO2, SO2, CO, PM2.5, ozone levels |
| Get sea surface temperature (SST) at a coordinate using Open-Meteo marine data |
| Water quality indicators — chlorophyll and turbidity reference data for a coordinate |
13. Critical Infrastructure — 6 tools
Tool | Description |
| Find power plants, substations, and transmission lines in a bounding box |
| Find oil, gas, and water pipelines in a bounding box |
| Find cell towers, communication masts, and data centers in a bounding box |
| Find submarine cable landing points in a bounding box |
| Find bridges, tunnels, ferry terminals, and train stations in a bounding box |
| Find renewable energy installations — wind turbines and solar farms in a bounding box |
14. Sanctions & Compliance — 5 tools
Tool | Description |
| Search OFAC SDN sanctions list for a name, entity, or organization |
| Check if a vessel is on sanctions lists by IMO number or vessel name |
| Check sanctions status for a specific entity or individual |
| Get sanctions program summary for a country — sanction level, programs, and restrictions |
| Check for recent changes to the OFAC sanctions list |
15. Terrain & Elevation — 6 tools
Tool | Description |
| Get the elevation (altitude above sea level) at a given geographic coordinate |
| Generate an elevation profile between two geographic points with distance and elevation statistics |
| Calculate the slope (gradient) between two points — angle, percentage, and terrain classification |
| Line of sight analysis between two points — can observer at A see target at B considering terrain |
| Find the highest and lowest points in a bounding box by querying an elevation grid |
| Assess flood risk at a location based on elevation relative to a reference water level |
16. Cyber-Geo Intelligence — 6 tools
Tool | Description |
| Geolocate an IP address — country, city, ISP, coordinates, timezone |
| Detect internet censorship in a country using OONI measurements — blocked sites and methods |
| Detect internet outages in a country using IODA (Internet Outage Detection and Analysis) |
| Find submarine cable landing points near a coordinate using OpenStreetMap data |
| Find Internet Exchange Points (IXPs) in a country using PeeringDB |
| Country internet connectivity overview — IXP count, cable landings, and assessment |
17. Population & Demographics — 5 tools
Tool | Description |
| Get population density estimate for a coordinate or country using WorldPop data |
| Get urbanization and city data for a coordinate — nearby urban areas and characteristics |
| Population growth data for a country from UN World Population Prospects |
| Get displaced population data for a country from UNHCR |
| Population age structure reference for a country — age groups for demographic analysis |
18. Agriculture & Food Security — 5 tools
Tool | Description |
| Assess crop health at a location using NDVI time series — links to satellite vegetation indices |
| Drought assessment at a location using weather indicators — temperature, precipitation, humidity |
| FAO Food Price Index — global food commodity price trends |
| Famine risk assessment using FEWS NET IPC phase classification |
| Desert locust swarm tracking and alerts from FAO Locust Watch |
19. Humanitarian & Refugee — 5 tools
Tool | Description |
| List active humanitarian crises worldwide from ReliefWeb |
| Get latest humanitarian situation reports and updates from ReliefWeb |
| Get refugee camp locations and population data from UNHCR |
| Humanitarian funding status — requested vs. received for crises |
| Global displacement statistics — refugees, IDPs, asylum seekers from UNHCR |
20. Ocean Intelligence — 5 tools
Tool | Description |
| Get ocean buoy measurements — wave height, wind, temperature, pressure from NOAA NDBC |
| Get ocean current information for a marine location using Open-Meteo marine data |
| Sea ice extent information — Arctic and Antarctic ice coverage reference |
| Ocean chlorophyll concentration reference — fishing productivity and marine ecosystem indicator |
| Sea surface temperature anomaly — El Nino/La Nina indicator and climate monitoring |
21. Trade Intelligence — 5 tools
Tool | Description |
| Get bilateral trade data between two countries — import/export values by commodity |
| Get top trade partners for a country |
| Get global trade data for a specific commodity (HS code) |
| Get trade volume time series for a country pair over multiple years |
| Calculate trade balance between two countries — exports minus imports |
22. Seismic & Disaster — 5 tools
Tool | Description |
| Get recent earthquakes worldwide filtered by minimum magnitude — location, depth, tsunami warning |
| Search earthquakes by date range, magnitude, and geographic region |
| Get detailed information about a specific earthquake by USGS event ID |
| Get earthquakes within a bounding box over a specified time period |
| Earthquake statistics for a time period — magnitude distribution, deepest, strongest, averages |
23. OpenStreetMap / Overpass — 8 tools
Tool | Description |
| Run a custom Overpass QL query against OpenStreetMap data — returns GeoJSON-like elements |
| Count and classify buildings in a bounding box — residential, commercial, industrial |
| Find roads, bridges, and railways in a bounding box |
| Find military facilities (bases, airfields, barracks, bunkers, checkpoints) in a bounding box |
| Find airports, airfields, and helipads in a bounding box |
| Find water bodies, rivers, streams, and dams in a bounding box |
| Find industrial sites, power plants, and refineries in a bounding box |
| Identify what is at a given coordinate — search within a radius for named features |
24. Geocoding & Coordinates — 8 tools
Tool | Description |
| Forward geocoding: convert an address or place name to geographic coordinates (Nominatim) |
| Reverse geocoding: convert latitude/longitude to a human-readable address (Nominatim) |
| Calculate great-circle distance between two points using the Haversine formula |
| Compute a bounding box from a center point and radius in kilometers |
| Convert between MGRS (Military Grid Reference System) and latitude/longitude coordinates |
| Get the elevation at a geographic coordinate using the Open Elevation API |
| Estimate the timezone at a geographic coordinate based on longitude |
| Calculate sun position data — sunrise, sunset, solar noon, civil dawn/dusk, day length |
25. Spectral Analysis — 8 tools
Tool | Description |
| Calculate Normalized Difference Vegetation Index from NIR and Red band reflectance |
| Calculate Normalized Difference Water Index from Green and NIR band reflectance |
| Calculate Normalized Burn Ratio from NIR and SWIR band reflectance |
| Calculate Enhanced Vegetation Index from NIR, Red, and Blue band reflectance |
| Calculate Normalized Difference Built-up Index from SWIR and NIR band reflectance |
| Calculate Bare Soil Index from SWIR, Red, NIR, and Blue band reflectance |
| Calculate Soil Adjusted Vegetation Index from NIR and Red band reflectance |
| Evaluate a custom band math expression using a safe expression parser |
26. Change Detection — 6 tools
Tool | Description |
| General-purpose change detection: computes difference of any spectral index between two dates |
| Vegetation change detection using NDVI between two dates |
| Urban expansion detection using NDBI between two dates |
| Water body change detection using NDWI between two dates |
| Fire scar / burn severity detection using dNBR between pre-fire and post-fire dates |
| Multi-index change report: NDVI, NDWI, NDBI, NBR, BSI for an overall landscape change assessment |
27. Weather & Atmosphere — 6 tools
Tool | Description |
| Get current weather conditions — temperature, humidity, wind, pressure, cloud cover, precipitation |
| Get 7-day weather forecast with daily temperature, precipitation, wind, sunrise, and sunset |
| Get historical weather data for a specific date and location |
| Find optimal satellite imaging windows (low cloud cover periods) for the next N days |
| Get current air quality index and pollutant concentrations (PM2.5, PM10, NO2, SO2, CO, Ozone) |
| Get current UV index at a coordinate with risk classification |
Meta — 1 tool
Tool | Description |
| List all data sources, API key configuration status, and tool counts across all 27 categories |
API Keys
All API keys are configured via environment variables. Most tools work without any keys at all.
Environment Variable | Service | Required | Purpose |
| Copernicus Data Space | Optional | Sentinel-2 imagery download and quicklook access |
| Copernicus Data Space | Optional | Sentinel-2 OAuth2 authentication (pair with CLIENT_ID) |
| USGS EarthExplorer | Optional | Landsat scene search, metadata, and download |
| USGS EarthExplorer | Optional | Landsat authentication (pair with USERNAME) |
| NASA Open APIs | Optional | Earth imagery, EPIC, POWER data (fallback: DEMO_KEY) |
| NASA FIRMS | Optional | Active fire detections (fallback: DEMO_KEY) |
| NASA Earthdata | Optional | Premium NASA data access |
| Planet Labs | Required | Daily 3m satellite imagery (search, metadata, thumbnails) |
| OpenSky Network | Optional | Higher rate limits for aircraft tracking |
| OpenSky Network | Optional | OpenSky authentication (pair with USERNAME) |
| Global Fishing Watch | Optional | Maritime vessel tracking, fishing activity, AIS gaps |
| N2YO | Optional | Satellite pass predictions and overhead tracking |
| ACLED | Optional | Armed conflict event data |
| ACLED | Optional | ACLED registered email (pair with API_KEY) |
| UN Comtrade | Optional | International trade flow data |
| TimezoneDB | Optional | Enhanced timezone lookups |
Without any API keys, the following categories work fully: Night Lights, Military & Defense, Critical Infrastructure, Sanctions & Compliance, Terrain & Elevation, Cyber-Geo Intelligence, Population & Demographics, Agriculture & Food Security, Humanitarian & Refugee, Ocean Intelligence, Seismic & Disaster, OpenStreetMap, Geocoding & Coordinates, Spectral Analysis, Change Detection, Weather & Atmosphere. NASA tools fall back to DEMO_KEY with lower rate limits.
Architecture
src/
index.ts # CLI entrypoint (--help, --list, --tool, stdio server)
protocol/
mcp-server.ts # MCP server setup (stdio transport)
tools.ts # Tool registry — all 171 tools assembled here
types/
index.ts # Shared types (ToolDef, ToolContext, ToolResult)
utils/
rate-limiter.ts # Per-provider rate limiter
cache.ts # TTL cache for API responses
geo-math.ts # Haversine distance, bounding box computation
require-key.ts # API key validation helper
sentinel/ # Sentinel-2 (Copernicus) tools (8)
landsat/ # Landsat (USGS) tools (7)
firms/ # NASA FIRMS active fire tools (6)
nasa/ # NASA Earth observation tools (7)
nightlights/ # VIIRS night lights tools (5)
planet/ # Planet Labs tools (4)
aircraft/ # Aircraft intelligence tools (10)
maritime/ # Maritime intelligence tools (8)
military/ # Military & defense tools (8)
space/ # Space & orbital tracking tools (6)
conflict/ # Conflict & events tools (6)
environment/ # Environmental intelligence tools (6)
infrastructure/ # Critical infrastructure tools (6)
sanctions/ # Sanctions & compliance tools (5)
terrain/ # Terrain & elevation tools (6)
cyber/ # Cyber-geo intelligence tools (6)
population/ # Population & demographics tools (5)
agriculture/ # Agriculture & food security tools (5)
humanitarian/ # Humanitarian & refugee tools (5)
ocean/ # Ocean intelligence tools (5)
trade/ # Trade intelligence tools (5)
seismic/ # Seismic & disaster tools (5)
osm/ # OpenStreetMap / Overpass tools (8)
geo/ # Geocoding & coordinates tools (8)
spectral/ # Spectral analysis tools (8)
change/ # Change detection tools (6)
weather/ # Weather & atmosphere tools (6)
meta/ # Meta tools (1)Design decisions:
27 providers, 1 server — Every data source is an independent module under
src/. The AI agent picks which tools to use based on the query.Per-provider rate limiters — Each data source has its own
RateLimiterinstance calibrated to that API's limits. No shared bottleneck.TTL caching — API responses are cached with source-appropriate TTLs: 2 minutes for live aircraft data, 5 minutes for fire data, 15 minutes for satellite catalogs, 30 minutes for NASA archives.
Graceful degradation — Missing API keys never crash the server. Tools return descriptive error messages with instructions: "Set PLANET_API_KEY to enable Planet Labs tools."
Pure computation — Spectral analysis and change detection tools are pure math functions with zero external API calls. NDVI, NDWI, NBR, EVI, and custom band expressions run instantly.
2 dependencies —
@modelcontextprotocol/sdkandzod. All HTTP via nativefetch(). All geo math is hand-written.
Use Cases
Monitor deforestation and illegal logging — Combine Sentinel-2 imagery search, NDVI spectral analysis, and GLAD deforestation alerts to track forest loss over time
Track aircraft and vessel movements — Use aircraft and maritime tools for real-time ADS-B and AIS surveillance, detect military flights, dark vessel activity, and sanctions evasion
Detect conflict hotspots and humanitarian crises — Query ACLED for armed conflict events, correlate with GDELT news data, and check UNHCR displacement statistics
Analyze urban growth and infrastructure changes — Compare night light imagery across dates, compute NDBI for built-up area detection, and query OSM for new construction
Monitor sanctions compliance — Cross-reference vessel movements with OFAC SDN lists, detect AIS dark periods, and verify port visits against sanctioned countries
Assess natural disaster impact — Combine earthquake data with terrain elevation, fire detection with burn severity indices, and satellite imagery for before/after analysis
Agricultural drought and food security monitoring — Track vegetation health via NDVI, correlate with NASA POWER weather data, and check FEWS NET famine risk assessments
Cyber-geographic intelligence — Geolocate IP addresses, detect internet censorship and outages, map submarine cable infrastructure, and correlate with conflict data
Contributing
Contributions are welcome. Please open an issue first to discuss what you would like to change.
Fork the repository
Create your feature branch (
git checkout -b feat/new-provider)Install dependencies:
bun installRun in dev mode:
bun run devAdd your provider under
src/<provider>/index.tsRegister tools in
src/protocol/tools.tsCommit your changes (Conventional Commits format)
Open a Pull Request
License
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/badchars/satellite-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server