dynamical.org Weather & Climate Catalog
by dynamical-org · remote · no sign-in to list tools · v0.1.1 · published by GitHub user dynamical-org
Search dynamical.org's open STAC catalog of weather & climate datasets (GFS, ECMWF, HRRR).
4 tools: 4 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads4Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http dynamical-org https://mcp.dynamical.org/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
4 tools
Only reads 4Claude Code: allow
get_access_patternGet the storage URI and working code for opening a dynamical.org dataset's data.No findings
Why it is in this group
- The name "get_access_pattern" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
get_dataset_infoGet documentation, spatial/time resolution, domain, and update cadence for one dynamical.org dataset.No findings
Why it is in this group
- The name "get_dataset_info" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
list_recent_runsCheck run freshness and arrival status for a dynamical.org forecast dataset, from the same public feed status.dynamical.org's dashboard polls.No findings
Why it is in this group
- The name "list_recent_runs" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
search_catalogSearch dynamical.org's STAC catalog of cloud-optimized weather and climate datasets.No findings
Why it is in this group
- The name "search_catalog" says "search": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.1.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http dynamical-org https://mcp.dynamical.org/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__dynamical-org__get_access_pattern",
"mcp__dynamical-org__get_dataset_info",
"mcp__dynamical-org__list_recent_runs",
"mcp__dynamical-org__search_catalog"
],
"ask": [],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as dynamical-org. Review it before you use it.
