mcp server
GribStream MCP
Hosted weather data MCP for discovery, validation, and OAuth-protected GribStream queries.
Description as published by the maintainer. Source
- version 1.1.3
- active
active — Most recent push to the repository was 2026-06-07.
What this server can do
12 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
gribstream_build_runs_request(accept, dataset, request)- NO AUTH / PUBLIC / READ-ONLY. Builds and validates a copy-pasteable authenticated /api/v2/{dataset}/runs HTTP request without sending it. This tool does not execute the request, query weather values, or return forecast data. Use gribstream_query_runs when the user asks for actual model-run forecast data or CSV/JSON/NDJSON/Parquet data. Generated direct API requests include Accept-Encoding: gzip, and generated curl commands use --compressed so large responses can be transferred compressed when the client supports it. The request body must use exact selectors discovered from the catalog or shared-parameter tools, with coordinates in request.coordinates and selectors in request.variables. Required: dataset, request.
gribstream_build_timeseries_request(accept, dataset, request)- NO AUTH / PUBLIC / READ-ONLY. Builds and validates a copy-pasteable authenticated /api/v2/{dataset}/timeseries HTTP request without sending it. This tool does not execute the request, query weather values, or return forecast data. Use gribstream_query_timeseries when the user asks for actual weather values or CSV/JSON/NDJSON/Parquet data. Generated direct API requests include Accept-Encoding: gzip, and generated curl commands use --compressed so large responses can be transferred compressed when the client supports it. Do not include request.asOf unless the user explicitly wants backtesting, time travel, or a historical model-run cutoff. The request body must use exact selectors discovered from the catalog or shared-parameter tools, with coordinates in request.coordinates and selectors in request.variables. Required: dataset, request.
gribstream_get_dataset(dataset)- NO AUTH / PUBLIC / READ-ONLY. Gets full public metadata for one dataset code, including archive coverage, cadence, tags, source links, and members. This tool does not query weather values and cannot return forecast data. Required: dataset.
gribstream_get_expression_reference- NO AUTH / PUBLIC / READ-ONLY. Gets the GribStream expression language reference, including github.com/expr-lang/expr syntax guidance, alias rules, examples, and the full exported func.* math function list. This tool does not query weather values and cannot return forecast data.
gribstream_get_parameter(dataset, parameter)- NO AUTH / PUBLIC / READ-ONLY. Gets detailed metadata and exact selector variations for one dataset parameter. Parameter codes are case-sensitive. This tool does not query weather values and cannot return forecast data. Required: dataset, parameter.
gribstream_list_datasets(tag, code, family, is_ensemble)- NO AUTH / PUBLIC / READ-ONLY. Lists public GribStream datasets and metadata. This tool does not query weather values and cannot return forecast data. Supports catalog filters such as code, family, tag, and is_ensemble.
gribstream_list_parameters(dataset)- NO AUTH / PUBLIC / READ-ONLY. Lists parameter summaries for one dataset. Use this before selecting exact case-sensitive parameter codes. This tool does not query weather values and cannot return forecast data. Required: dataset.
gribstream_list_shared_parameters(dataset, dataset_mode)- NO AUTH / PUBLIC / READ-ONLY. Lists normalized shared parameter presets that can map one logical signal across datasets. This tool does not query weather values and cannot return forecast data.
gribstream_query_runs(accept, dataset, request, max_bytes)- AUTH REQUIRED / DATA QUERY. Executes an authenticated /api/v2/{dataset}/runs request and returns actual weather/forecast data values across model runs. Use this tool, not the NO AUTH request-building or metadata tools, when the user asks to fetch, retrieve, download, return, or analyze model-run history, forecast aging, changing forecasts, CSV/JSON/NDJSON/Parquet data, plots, or analysis. Defaults to CSV for compatibility; prefer Parquet for dense grids and large tabular results. For dense grids or large tabular results, request application/vnd.apache.parquet before splitting; Parquet is typed and ZSTD-compressed, and MCP returns it as an embedded binary resource. If Parquet still exceeds the MCP limit, split by time range first, split variables second, and split coordinates/grid/space last; spatial tiling creates the most extra requests and should be the fallback. Response rows are unsorted; sort by location fields, forecasted_at, and forecasted_time before plotting, building time series, or checking for gaps. The request body must use request.coordinates and request.variables; do not use location, coord, coords, parameters, parameter, or variable as replacement field names. Required: dataset, request.
gribstream_query_timeseries(accept, dataset, request, max_bytes)- AUTH REQUIRED / DATA QUERY. Executes an authenticated /api/v2/{dataset}/timeseries request and returns actual weather/forecast data values. Use this tool, not the NO AUTH request-building or metadata tools, when the user asks to fetch, retrieve, download, return, or analyze weather values, CSV/JSON/NDJSON/Parquet data, plots, heatmaps, or best-available values by valid time. Defaults to CSV for compatibility; prefer Parquet for dense grids and large tabular results. For dense grids or large tabular results, request application/vnd.apache.parquet before splitting; Parquet is typed and ZSTD-compressed, and MCP returns it as an embedded binary resource. If Parquet still exceeds the MCP limit, split by time range first, split variables second, and split coordinates/grid/space last; spatial tiling creates the most extra requests and should be the fallback. Do not include request.asOf unless the user explicitly wants backtesting, time travel, or a historical model-run cutoff. Response rows are unsorted; sort by location fields and forecasted_time before plotting, building time series, or checking for gaps. The request body must use request.coordinates and request.variables; do not use location, coord, coords, parameters, parameter, or variable as replacement field names. Required: dataset, request.
gribstream_resolve_shared_parameter(alias, dataset, parameter)- NO AUTH / PUBLIC / READ-ONLY. Resolves one shared parameter preset for a dataset, returning native variables and expressions to use in /timeseries or /runs request bodies. This tool does not execute the request, query weather values, or return forecast data. Required: parameter.
gribstream_validate_request(dataset, request, endpoint)- NO AUTH / PUBLIC / READ-ONLY. Validates the basic shape, exact selector tuples, and expression syntax of a proposed GribStream /timeseries or /runs request without sending it. This tool does not execute the request, query weather values, or return forecast data. Use this before returning any hand-edited curl or when changing a request from one dataset to another. Required: endpoint, dataset, request.
Last successful function declaration observed on . Source: https://gribstream.com/mcp. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://gribstream.com/mcp.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| GitHub stars | 0 | Number of GitHub accounts that bookmarked this repository since it was created. It is a bookmark count, not installs, not active users and not quality. | cumulative, all time | GitHub | |
| Last commit | 2026-06-07 | Date of the most recent push to any branch. This is the strongest cheap indicator of whether the project is still maintained. | point in time | GitHub | |
| Open issues | 0 | Open issues plus open pull requests, as GitHub counts them together. A high number can mean an active project or an abandoned one. | as of fetch | GitHub | |
| Latest published version | 1.1.3 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-06-07 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| License | MIT | Licence GitHub detected in the repository. Detection can be wrong; the LICENSE file is authoritative. | as of fetch | GitHub | |
| First listed in the MCP Registry | 2026-06-07 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| repository status | active | The repository exists on GitHub and is not archived. This says nothing about how recently it was worked on. | as of fetch | GitHub | |
| mcp tools declared | 12 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | gribstream.com | |
| mcp endpoint status | ok | The server listed 12 functions when asked. | as of probe | gribstream.com |
Where to get it
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json