dynamical.org Weather & Climate Catalog

io.github.dynamical-orgPublished by GitHub account dynamical-orgv0.1.1Updated Oct 24, 2026

Search dynamical.org's open STAC catalog of weather & climate datasets (GFS, ECMWF, HRRR).

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingData & Analytics

Overview

AI-generated overview

Remote MCP server for searching dynamical.org's open STAC catalog of weather and climate datasets and getting access details for each.

What you can do
  • Search the catalog by model name, variable, domain or resolution
  • Read documentation, spatial and time resolution, domain and update cadence for one dataset
  • Get the storage URI and working code for opening a dataset's data
  • Check run freshness and arrival status for forecast datasets
When to use it
Useful when an assistant needs to find weather or climate datasets such as GFS, ECMWF or HRRR, understand what a dataset covers, or get code to open it. Also handy for checking whether a forecast run has arrived.
Requirements
A remote endpoint at mcp.dynamical.org over streamable HTTP; no authentication, environment variables or headers are declared. Network access is required.
Before you install
Read-only catalog lookups; no credentials or writes are involved. Freshness tracking covers only forecast collections, not analysis collections, so status may be missing for some datasets.

Installation

In SourceWeft

  1. Open dynamical.org Weather & Climate Catalog in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.dynamical-org%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "dynamical-org-weather-climate-catalog": {
      "type": "http",
      "url": "https://mcp.dynamical.org/mcp"
    }
  }
}

Tools

4

get_access_pattern

Get data access snippet

Get the storage URI and working code for opening a dynamical.org dataset's data. dynamical.org publishes a Python package, `dynamical-catalog`, that reads the STAC catalog itself to resolve and open a dataset -- it's the recommended access pattern because it can't go stale even if the underlying storage format or location changes. This tool also returns the dataset's low-level storage details (from the STAC asset, fetched live) and a lower-level xarray/fsspec snippet for callers who need direct access instead of the wrapper package. Args: collection_id: A STAC collection id, e.g. "noaa-gfs-forecast". Use search_catalog to discover ids. Returns: A dict with the recommended `dynamical_catalog.open(...)` snippet, a `worked_example` pulled from the collection's own STAC metadata when one is published, the raw asset URI/type/storage options, and a generated low-level open snippet (icechunk/zarr/geoparquet, chosen from the asset's declared type). Raises ValueError (listing valid ids) if collection_id is unknown.

Parameterscollection_idrequired

get_dataset_info

Get dataset details

Get documentation, spatial/time resolution, domain, and update cadence for one dynamical.org dataset. dynamical.org/catalog is itself rendered from this same STAC catalog, so this tool fetches the collection document live (short TTL cache) rather than relying on anything baked into this server -- it's always as fresh as the STAC catalog itself. Args: collection_id: A STAC collection id, e.g. "noaa-gfs-forecast", "noaa-hrrr-analysis", or "ecmwf-aifs-ens-forecast". Use search_catalog to discover ids. Returns: A dict with title/model name, prose descriptions, spatial and time domain/resolution, forecast range (for forecast datasets), license and attribution, the dataset's variables, and links to its docs page and example notebooks. Raises ValueError (listing valid ids) if collection_id is unknown.

Parameterscollection_idrequired

list_recent_runs

List recent forecast runs

Check run freshness and arrival status for a dynamical.org forecast dataset, from the same public feed status.dynamical.org's dashboard polls. Only forecast collections are pipeline-monitored today (analysis collections like noaa-gfs-analysis or noaa-mrms-conus-analysis-hourly aren't yet tracked by this feed). Args: collection_id: A STAC collection id, e.g. "noaa-gfs-forecast". limit: Maximum number of recent runs to return, most recent first (default 10). Returns: A dict with the overall pipeline `sla_status`, this product's cadence and next expected init/completion time, typical latency stats, and up to `limit` recent runs (`init_time`, `status`, `completion_pct`, `on_timedness`, arrival/latency timestamps). If collection_id isn't pipeline-monitored, returns `monitored`: False plus the list of collection ids that are.

Parameterslimitcollection_idrequired

search_catalog

Search weather & climate catalog

Search dynamical.org's STAC catalog of cloud-optimized weather and climate datasets. Matches against each dataset's model name, description, spatial/time domain and resolution, forecast range, and variable names -- so a query can be a model ("GFS"), a variable ("precipitation", "temperature_2m"), a region ("continental US", "global"), or a resolution ("3km", "0.25 degree"). Results are ranked by number of matching terms. Args: query: Free-text search terms, e.g. "hourly precipitation CONUS" or "ECMWF ensemble forecast". limit: Maximum number of results to return (default 5). Returns: {"query": ..., "results": [{"collection_id", "title", "model_name", "description_summary", "spatial_domain", "spatial_resolution", "matched_variables", "score"}, ...]}, most relevant first. Pass a result's collection_id to get_dataset_info, get_access_pattern, or list_recent_runs.

Parameterslimitqueryrequired

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.