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)
- Per-coverage resolutions — CONUS, Full Disk, and regional sectors each have their own STAR CDN pixel ladder (CONUS is landscape; FD and sectors are square, at different sizes). Each tool defaults to a resolution that actually exists for its coverage — CONUS:
1250x750, Full Disk:1808x1808, sectors:1200x1200 - Image embedding — returns JPEG images directly via MCP
Imagetype - Flexible output — markdown with URL (default), embedded image, 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
Metadata
Release files for goes-mcp 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| goes_mcp-0.1.3.tar.gz | 29.2 kB | With provenance | Details for goes_mcp-0.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| goes_mcp-0.1.3-py3-none-any.whl | Python 3 | none | any | Details for goes_mcp-0.1.3-py3-none-any.whl |
Total release size: 47.4 kB
Release files / goes_mcp-0.1.3.tar.gz
| Download URL | goes_mcp-0.1.3.tar.gz |
|---|---|
| Size | 29.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5314f5a906117774b9779411edeb2f2a57b7f22a065a1786478da5ab6941da17
|
|
BLAKE2b-256 checksum How to use checksums |
97d005d6c63a8d76bfc8618f862b1e0a4d57ca2c8e7c291d55ef43c26ee2db43
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / goes_mcp-0.1.3-py3-none-any.whl
| Download URL | goes_mcp-0.1.3-py3-none-any.whl |
|---|---|
| Size | 18.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
329d6a621ccb02dd8c3d02c7870ea27456cfae970fea222e278b0f8809416e36
|
|
BLAKE2b-256 checksum How to use checksums |
780e63de139541edd0247e63c6e07c667259beac30c6dcd3c6ae1900f4b00145
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logSecurity for goes-mcp 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for goes_mcp-0.1.3.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.