NOAA GOES satellite imagery via STAR CDN — visible, infrared, and water vapor images from GOES-18/19
Project description
goes-mcp
MCP server for NOAA GOES satellite imagery — visible, infrared, water vapor, and composite products from GOES-18 (West) and GOES-19 (East).
Features
- 16 ABI spectral bands — visible, near-IR, and infrared channels
- 6 composite products — GeoColor, AirMass, Sandwich, Fire Temperature, Dust, Derived Motion Winds
- Multiple coverages — CONUS, Full Disk, and 5 regional sectors (SE, NE, Caribbean, Tropical Atlantic, Puerto Rico)
- Image embedding — returns JPEG images directly via MCP
Imagetype - Flexible output — image (default), markdown with URL, or JSON metadata
Data Sources
- NOAA STAR CDN (
cdn.star.nesdis.noaa.gov) — pre-rendered JPEG imagery at multiple resolutions - RAMMB/CIRA SLIDER (
slider.cira.colostate.edu) — timestamp discovery for historical imagery
No API keys required. All data is freely available from NOAA.
Tools
| Tool | Description |
|---|---|
goes_list_products |
List all available bands, composites, coverages, and sectors |
goes_get_available_times |
Get recent image timestamps for a product (via SLIDER API) |
goes_get_latest_image |
Fetch the most recent satellite image |
goes_get_image |
Fetch a satellite image for a specific timestamp |
goes_get_sector_image |
Fetch latest imagery for a regional sector |
goes_get_current_view |
Overview of current imagery availability |
Installation
# With uv (recommended)
uvx goes-mcp
# With pip
pip install goes-mcp
Usage with Claude Desktop
Add to your Claude Desktop config:
{
"mcpServers": {
"goes": {
"command": "uvx",
"args": ["goes-mcp"]
}
}
}
Example Queries
- "Show me the latest GOES-East GeoColor image of the Continental US"
- "Get a satellite view of the Caribbean right now"
- "What satellite imagery is currently available?"
- "Show me infrared band 13 for the full disk view"
- "Get the latest fire temperature composite for the Southeast US"
Development
cd servers/goes-mcp
uv sync --group dev
# Run unit tests
uv run pytest tests/ --ignore=tests/test_live.py --ignore=tests/test_mcp_protocol.py -v
# Run MCP protocol test
uv run pytest tests/test_mcp_protocol.py -v
# Run live integration tests (requires network)
uv run pytest tests/test_live.py -v
# Lint
uv run ruff check src/ tests/ --select E,F,W --ignore E501
uv run ruff format --check src/ tests/
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file goes_mcp-0.1.0.tar.gz.
File metadata
- Download URL: goes_mcp-0.1.0.tar.gz
- Upload date:
- Size: 16.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
608792a5bcab15af2af06de5d4522524b6674bbc75be33d6e266f46eeb322c8c
|
|
| MD5 |
a4563d2e1e5f6782aad6ce114d486131
|
|
| BLAKE2b-256 |
a31b2cb11be8b80779cd38aeb3e19ac048831b1358e9b2e97e686b4afff70d1c
|
Provenance
The following attestation bundles were made for goes_mcp-0.1.0.tar.gz:
Publisher:
publish.yml on mansurjisan/ocean-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
goes_mcp-0.1.0.tar.gz -
Subject digest:
608792a5bcab15af2af06de5d4522524b6674bbc75be33d6e266f46eeb322c8c - Sigstore transparency entry: 1046282794
- Sigstore integration time:
-
Permalink:
mansurjisan/ocean-mcp@754f4fbc820e41bd8ac6111c5bd35ce20a43dde9 -
Branch / Tag:
refs/tags/goes-mcp-v0.1.0 - Owner: https://github.com/mansurjisan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@754f4fbc820e41bd8ac6111c5bd35ce20a43dde9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file goes_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: goes_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65b339a52a2df775dbd2a5f0b561143613733d7ee5ae475e7b105d56c6abe2a8
|
|
| MD5 |
c910ec5b4202e8d990a4c2a176e8d896
|
|
| BLAKE2b-256 |
9dde6b36a6c952107878ca5e5ea6a53c13b3b030c72ebfa818c6dd208efe730f
|
Provenance
The following attestation bundles were made for goes_mcp-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on mansurjisan/ocean-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
goes_mcp-0.1.0-py3-none-any.whl -
Subject digest:
65b339a52a2df775dbd2a5f0b561143613733d7ee5ae475e7b105d56c6abe2a8 - Sigstore transparency entry: 1046282890
- Sigstore integration time:
-
Permalink:
mansurjisan/ocean-mcp@754f4fbc820e41bd8ac6111c5bd35ce20a43dde9 -
Branch / Tag:
refs/tags/goes-mcp-v0.1.0 - Owner: https://github.com/mansurjisan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@754f4fbc820e41bd8ac6111c5bd35ce20a43dde9 -
Trigger Event:
push
-
Statement type: