Skip to main content
Glama
Space Weather Data MCP Server

Space Weather Data MCP Server

by JimFlannery

Space Weather Data MCP Server

An MCP (Model Context Protocol) server that gives AI assistants access to real-time space weather data and forecasts from NOAA's Space Weather Prediction Center (SWPC).

What It Does

This server exposes NOAA's SWPC data services to any MCP-compatible AI client. The assistant can browse the data directory, fetch live observations and forecasts, look up product definitions, and interpret values using built-in space weather knowledge — all without leaving the conversation.

Tools (callable by the AI on demand):

Tool

Description

list_known_paths

Curated map of the SWPC data server layout and notable files

list_directory

Browse any directory on the SWPC data server

fetch_file

Fetch a JSON or text data file and return its contents

get_space_weather_scales

NOAA G/S/R storm scales and solar flare A–X classification

list_products

Catalog of all SWPC products with descriptions and data file paths

describe_product

Fetch the full description of any SWPC product from the NOAA website

get_data_file_info

Field definitions and interpretation guide for key JSON data files

Prompts (pre-built context bundles):

Prompt

Description

get_forecast

Fetches the 3-day forecast, geomagnetic forecast, forecast discussion, SGARF, and advisory outlook — combined into one block

get_kp_index

Fetches the NOAA Planetary K-index (3-hour) and daily geomagnetic indices

get_dst_index

Fetches the Kyoto Dst index (hourly) with an interpretation guide prepended

Related MCP server: mcp-noaa-swpc

Data Source

All data comes from NOAA SWPC's public data server:

  • Data: https://services.swpc.noaa.gov (JSON + text files, no API key required)

  • Product info: https://www.swpc.noaa.gov/products-and-data

No authentication is required. Data is provided by NOAA as a public service.

Requirements

  • Python 3.14+

  • uv (recommended) or pip

Installation

git clone https://github.com/JimFlannery/space-weather-data-mcp.git
cd space-weather-data-mcp
uv sync

Configuration

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "spaceweather": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/absolute/path/to/space-weather-data-mcp",
        "main.py"
      ]
    }
  }
}

Config file locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

VS Code (Copilot / MCP extension)

Add to your VS Code settings.json:

{
  "mcp.servers": {
    "spaceweather": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/absolute/path/to/space-weather-data-mcp",
        "main.py"
      ]
    }
  }
}

Development / Testing

Run the MCP Inspector to test tools and prompts interactively:

uv run mcp dev main.py

Example Queries

Once connected to an MCP client, you can ask things like:

  • "What is the current space weather forecast?"

  • "Is there a geomagnetic storm in progress? Check the Kp index."

  • "What are today's active solar regions and their flare probabilities?"

  • "Fetch the latest GOES X-ray flux and classify any solar flares."

  • "What does a Kp of 7 mean for power grids?"

  • "Show me the Dst index and explain whether we're in a storm's main phase or recovery phase."

Space Weather Scales Quick Reference

Scale

Measures

Range

Storm starts at

G (Geomagnetic)

Kp index

G1–G5

G1 (Kp = 5)

S (Solar Radiation)

≥10 MeV proton flux

S1–S5

S1 (10 pfu)

R (Radio Blackout)

X-ray flux (0.1–0.8 nm)

R1–R5

R1 (M1 flare)

Solar flares: A → B → C → M → X (each class is 10× stronger; X-class is open-ended).

Use the get_space_weather_scales tool for the full threshold and effects table.

License

MIT — see LICENSE.

Available Tools

7 tools
describe_productA

Fetch the full description of a SWPC product from the NOAA website.

Use list_products() to find product slugs. This tool fetches the live product page from www.swpc.noaa.gov and returns its explanatory text — useful for detailed interpretation guidance, methodology, and caveats.

Args: product_slug: The product URL slug, e.g. "planetary-k-index", "goes-x-ray-flux", "wsa-enlil-solar-wind-prediction".

Returns: Plain text extracted from the product's NOAA web page.

Inputs: product_slug (required). Returns: result

fetch_fileA

Fetch the content of a file from the SWPC data server.

JSON files are returned as parsed objects; all other files (plain text, etc.) are returned as a string.

Args: path: File path relative to the server root, e.g. "json/solar_regions.json" or "text/3-day-forecast.txt".

Returns: Parsed JSON (dict or list) for .json files, plain text string otherwise.

Inputs: path (required).

get_data_file_infoA

Return field definitions and interpretation guidance for a known data file.

Use this tool before calling fetch_file() to understand what the data means, what each field represents, and how to interpret the values.

Args: path: The file path as used with fetch_file(), e.g. "json/planetary_k_index_1m.json" or "json/goes/primary/xrays-1-day.json".

Returns: A dict with description, fields, interpretation, and related files. If the path is not in the guide, returns a list of known paths.

Inputs: path (required). Returns: object

get_space_weather_scalesA

Return the NOAA space weather scales and solar flare classification system.

Call this tool to understand how to interpret space weather severity. It returns:

  • The three NOAA scales used for all space weather products: G (Geomagnetic storms, Kp-based, 1–5) S (Solar Radiation Storms, proton flux-based, 1–5) R (Radio Blackouts, X-ray flux-based, 1–5)

  • Solar flare X-ray classification (A/B/C/M/X) with flux thresholds and the mapping to R-scale radio blackout levels.

Returns: Dict with keys "noaa_scales" and "solar_flare_classes".

Inputs: no named parameters. Returns: object

list_directoryA

List files and subdirectories at a path on the SWPC data server.

The server is organised as a browsable file tree rooted at https://services.swpc.noaa.gov. Top-level directories include json/, text/, products/, images/, experimental/, netcdf/, and static/.

Args: path: Directory path to list, e.g. "json/", "json/goes/", "text/". Leave empty (or pass "") to list the root.

Returns: A dict with two keys: "directories": list of subdirectory names (without trailing slash) "files": list of file names

Inputs: path. Returns: object

list_known_pathsA

Return a curated map of notable paths and files on the SWPC data server.

Use this tool first to orient yourself before calling list_directory or fetch_file. The returned map groups paths by top-level directory and highlights commonly useful files.

Returns: A dict describing the server layout and selected files of interest.

Inputs: no named parameters. Returns: object

list_productsA

List SWPC space weather products, optionally filtered by category.

Each product entry includes its name, a description, and the data file paths on the SWPC data server where its data can be fetched.

Available categories: forecasts, reports, models, observations, summaries, alerts, experimental

Args: category: Optional category name to filter by (case-insensitive). Pass "" or omit to return all categories.

Returns: Dict mapping category names to lists of product dicts, each with keys: slug, name, description, data_paths.

Inputs: category. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.7/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool serves a distinct role: browsing directories, fetching files, orienting via curated paths, explaining scales, listing products, describing products, and explaining data formats. No two tools have overlapping purposes.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (list_directory, fetch_file, list_known_paths, get_space_weather_scales, list_products, describe_product, get_data_file_info) with clear verbs and nouns.

    Tool Count5/5

    Seven tools is a well-scoped set for a data server browser and fetcher, covering navigation, fetching, and interpretation without redundancy or bloat.

    Completeness5/5

    The tool set covers the full workflow: orienting (list_known_paths), browsing (list_directory), fetching (fetch_file), interpreting data (get_data_file_info, get_space_weather_scales), and discovering/understanding products (list_products, describe_product). No obvious gaps exist.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers