Search / com.gribstream/mcp
GribStream Weather MCP
R0· no sign-inNOAA and ECMWF weather forecast MCP for discovery, validation, and GribStream OAuth queries.
v1.1.4 · active · repository · website · descriptor JSON · versions
Search / com.gribstream/mcp
R0· no sign-inNOAA and ECMWF weather forecast MCP for discovery, validation, and GribStream OAuth queries.
v1.1.4 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"gribstream": {
"type": "http",
"url": "https://gribstream.com/mcp"
}
}
}claude mcp add --transport http gribstream https://gribstream.com/mcp[mcp_servers.gribstream]
url = "https://gribstream.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"gribstream": {
"type": "remote",
"url": "https://gribstream.com/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"gribstream": {
"type": "http",
"url": "https://gribstream.com/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=gribstream&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZ3JpYnN0cmVhbS5jb20vbWNwIn0%3D"
}{
"servers": {
"gribstream": {
"type": "http",
"url": "https://gribstream.com/mcp"
}
}
}{
"mcpServers": {
"gribstream": {
"httpUrl": "https://gribstream.com/mcp"
}
}
}extensions:
"gribstream":
enabled: true
name: "gribstream"
type: streamable_http
uri: "https://gribstream.com/mcp"
timeout: 300
protocol.modernsupports 2026-07-28 (server/discover)protocol.statelessanswers without a sessionprotocol.transportstreamable HTTPprotocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every useauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations12 of 12 tools declare readOnlyHint or destructiveHinttools.directory_hints2 of 12 tools declare all four hints; missing: gribstream_build_runs_request (destructiveHint); gribstream_get_dataset (destructiveHint); gribstream_get_parameter (destructiveHint); …tools.token_costabout 11,275 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes12 tool changes in 30 daysstability.rug_pull7 tools kept their name but changed most of their description in 30 days; review before trusting themdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packagegribstream_validate_requestchangeddescription, input schemaNO 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.
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. Use this before returning any hand-edited curl or when changing a request from one dataset to another.
gribstream_resolve_shared_parameterchangeddescriptionNO 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. Use this first for common natural-language concepts such as 2 metre temperature or 10 metre wind instead of guessing dataset-native codes such as TMP. This tool does not execute the request, query weather values, or return forecast data.
NO AUTH / PUBLIC / READ-ONLY. Resolves a weather concept to validated native variables/expressions and an exact or approximate match label. Use resolved_request directly in /timeseries or /runs; read resolved_match for height differences and native statistics. Use this first for common natural-language concepts such as 2 metre temperature or 10 metre wind instead of guessing dataset-native codes such as TMP.
gribstream_query_timeserieschangeddescription, input schema, output schemameaning changedAUTH 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 inline CSV for compatibility; use URL delivery for dense grids and large tabular results. Time ranges are half-open: the start is inclusive and the end is exclusive. The start must be earlier than the end; equal bounds select no times. Use timesList for one exact valid time on /timeseries or one exact model run time on /runs. When a live query returns a resource_link, the exact signed HTTPS URL is the result: download it directly once with an available HTTPS or file-download capability, without an API token. This consumes the selected GribStream MCP result; it is not a direct GribStream API call or a connector bypass. Do not look for an MCP resources/read tool, and do not repeat the query merely to obtain the file bytes. If the client reports that network or allowlist policy blocks the returned resource_link, do not retry URL delivery. For CSV, JSON, or NDJSON whose reported size is at most 10000000 bytes, retry the same request at most once with delivery=inline. Parquet cannot use inline delivery. If the artifact is larger, reduce the request using the documented split order before one inline CSV retry. For dense grids or large tabular results, use delivery=url so MCP returns a short-lived signed HTTPS resource link instead of putting the full dataset into tool output. Prefer application/vnd.apache.parquet only when a compatible Parquet reader is already known to be available. If reader availability is unknown, do not spend tool calls probing or installing packages; use text/csv with delivery=url immediately. Use one grid request, process the downloaded file locally, and never print or serialize the full file into chat or tool output. Do not install a dependency or write a Parquet parser solely for one result. When a real API request limit requires splitting, split by time range first, split variables second, and split coordinates/grid/space last; spatial tiling creates the most extra work. 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.
AUTH REQUIRED / DATA QUERY. Fetch or retrieve weather values for maps, heatmaps and analysis at selected valid times. Use discovered request.variables with coordinates or one grid; no separate build/validate call is needed. CSV is the default; use delivery=url for large results and render the downloaded file locally. Prefer Parquet only with an available reader. Use timesList for one exact UTC valid time; omit asOf for latest forecasts. Requested sampling does not increase native resolution. Response rows are unsorted; sort rows before plotting. When a live query returns a resource_link, the exact signed HTTPS URL is the result: download it directly once with an available HTTPS or file-download capability, without an API token. This consumes the selected GribStream MCP result; it is not a direct GribStream API call or a connector bypass. Do not look for an MCP resources/read tool, and do not repeat the query merely to obtain the file bytes.
gribstream_query_runschangeddescription, input schema, output schemameaning changedAUTH 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 inline CSV for compatibility; use URL delivery for dense grids and large tabular results. Time ranges are half-open: the start is inclusive and the end is exclusive. The start must be earlier than the end; equal bounds select no times. Use timesList for one exact valid time on /timeseries or one exact model run time on /runs. When a live query returns a resource_link, the exact signed HTTPS URL is the result: download it directly once with an available HTTPS or file-download capability, without an API token. This consumes the selected GribStream MCP result; it is not a direct GribStream API call or a connector bypass. Do not look for an MCP resources/read tool, and do not repeat the query merely to obtain the file bytes. If the client reports that network or allowlist policy blocks the returned resource_link, do not retry URL delivery. For CSV, JSON, or NDJSON whose reported size is at most 10000000 bytes, retry the same request at most once with delivery=inline. Parquet cannot use inline delivery. If the artifact is larger, reduce the request using the documented split order before one inline CSV retry. For dense grids or large tabular results, use delivery=url so MCP returns a short-lived signed HTTPS resource link instead of putting the full dataset into tool output. Prefer application/vnd.apache.parquet only when a compatible Parquet reader is already known to be available. If reader availability is unknown, do not spend tool calls probing or installing packages; use text/csv with delivery=url immediately. Use one grid request, process the downloaded file locally, and never print or serialize the full file into chat or tool output. Do not install a dependency or write a Parquet parser solely for one result. When a real API request limit requires splitting, split by time range first, split variables second, and split coordinates/grid/space last; spatial tiling creates the most extra work. 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.
AUTH REQUIRED / DATA QUERY. Fetch or retrieve weather values across model runs to compare changing forecasts. timesList selects exact model run times, not valid times; minHorizon/maxHorizon constrain lead hours. Use discovered request.variables with coordinates or one grid. CSV is the default; use delivery=url for large results. Response rows are unsorted; sort by location, forecasted_at and forecasted_time before plotting. When a live query returns a resource_link, the exact signed HTTPS URL is the result: download it directly once with an available HTTPS or file-download capability, without an API token. This consumes the selected GribStream MCP result; it is not a direct GribStream API call or a connector bypass. Do not look for an MCP resources/read tool, and do not repeat the query merely to obtain the file bytes.
gribstream_list_shared_parameterschangeddescriptionNO AUTH / PUBLIC / READ-ONLY. Lists normalized shared parameter presets that can map one logical signal across datasets. Use this only when the shared parameter code is uncertain; when a common code such as temperature_2m is already clear, call gribstream_resolve_shared_parameter directly. This tool does not query weather values and cannot return forecast data.
NO AUTH / PUBLIC / READ-ONLY. Lists normalized shared parameter presets that can map one logical signal across datasets. Use this only when the shared parameter code is uncertain; when a common code such as temperature_2m is already clear, call gribstream_resolve_shared_parameter directly.
gribstream_list_parameterschangeddescriptionNO 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.
NO AUTH / PUBLIC / READ-ONLY. Lists parameter summaries for one dataset. Use this before selecting exact case-sensitive parameter codes.
gribstream_list_datasetschangeddescription, input schemameaning changedNO 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.
NO AUTH / PUBLIC / READ-ONLY. Find candidate datasets for a region and weather variable. Filter by provider, region, forecast_time, shared_parameter and is_ensemble; sort_by=resolution ranks nominal resolution in km. With shared_parameter, each result includes a validated request fragment and exact/approximate match. Use it directly in one gribstream_query_timeseries call. Coverage envelopes and forecast horizons are catalog hints, not live availability guarantees. No weather values are fetched.
gribstream_get_parameterchangeddescriptionNO AUTH / PUBLIC / READ-ONLY. Gets detailed metadata and exact selector variations for one already-known dataset-native parameter code. Parameter codes are case-sensitive. For a common natural-language concept such as 2 metre temperature, use gribstream_resolve_shared_parameter before guessing a native code. This tool does not query weather values and cannot return forecast data.
NO AUTH / PUBLIC / READ-ONLY. Gets detailed metadata and exact selector variations for one already-known dataset-native parameter code. Parameter codes are case-sensitive. For a common natural-language concept such as 2 metre temperature, use gribstream_resolve_shared_parameter before guessing a native code.
gribstream_get_expression_referencechangeddescriptionmeaning changedNO 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.
NO AUTH / PUBLIC / READ-ONLY. Get expression syntax, alias rules, examples, and supported func.* math functions for derived weather signals.
gribstream_get_datasetchangeddescriptionmeaning changedNO 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.
NO AUTH / PUBLIC / READ-ONLY. Inspect archive coverage, cadence, horizon, members, and native_grid geometry for one dataset. The native coordinate URL requires authentication and geographic bounds; geometry does not prove variable availability.
Showing the latest 10. Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +dns-namespace +website +reachable +uptime-100% ~updated-64d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://gribstream.com/mcp streamable-http | none | yes | 100% | 201 ms | 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05 | 2026-10-20 |
gribstream_build_runs_requestread-only | NO AUTH / PUBLIC / READ-ONLY. Build and validate a runnable /runs API request and curl command without sending it. Use gribstream_query_runs to retrieve model-run comparisons directly; a separate build call is optional. Use catalog selectors in request.variables and points in request.coordinates or one request.grid. |
gribstream_build_timeseries_requestread-only | NO AUTH / PUBLIC / READ-ONLY. Build and validate a runnable /timeseries API request and curl command without sending it. Use gribstream_query_timeseries to retrieve data directly; a separate build call is optional. Use catalog selectors in request.variables and points in request.coordinates or one request.grid. Omit asOf for latest forecasts. |
gribstream_get_datasetread-only | NO AUTH / PUBLIC / READ-ONLY. Inspect archive coverage, cadence, horizon, members, and native_grid geometry for one dataset. The native coordinate URL requires authentication and geographic bounds; geometry does not prove variable availability. |
gribstream_get_expression_referenceread-only | NO AUTH / PUBLIC / READ-ONLY. Get expression syntax, alias rules, examples, and supported func.* math functions for derived weather signals. |
gribstream_get_parameterread-only | NO AUTH / PUBLIC / READ-ONLY. Gets detailed metadata and exact selector variations for one already-known dataset-native parameter code. Parameter codes are case-sensitive. For a common natural-language concept such as 2 metre temperature, use gribstream_resolve_shared_parameter before guessing a native code. |
gribstream_list_datasetsread-only | NO AUTH / PUBLIC / READ-ONLY. Find candidate datasets for a region and weather variable. Filter by provider, region, forecast_time, shared_parameter and is_ensemble; sort_by=resolution ranks nominal resolution in km. With shared_parameter, each result includes a validated request fragment and exact/approximate match. Use it directly in one gribstream_query_timeseries call. Coverage envelopes and forecast horizons are catalog hints, not live availability guarantees. No weather values are fetched. |
gribstream_list_parametersread-only | NO AUTH / PUBLIC / READ-ONLY. Lists parameter summaries for one dataset. Use this before selecting exact case-sensitive parameter codes. |
gribstream_list_shared_parametersread-only | NO AUTH / PUBLIC / READ-ONLY. Lists normalized shared parameter presets that can map one logical signal across datasets. Use this only when the shared parameter code is uncertain; when a common code such as temperature_2m is already clear, call gribstream_resolve_shared_parameter directly. |
gribstream_query_runs | AUTH REQUIRED / DATA QUERY. Fetch or retrieve weather values across model runs to compare changing forecasts. timesList selects exact model run times, not valid times; minHorizon/maxHorizon constrain lead hours. Use discovered request.variables with coordinates or one grid. CSV is the default; use delivery=url for large results. Response rows are unsorted; sort by location, forecasted_at and forecasted_time before plotting. When a live query returns a resource_link, the exact signed HTTPS URL is the result: download it directly once with an available HTTPS or file-download capability, without an API token. This consumes the selected GribStream MCP result; it is not a direct GribStream API call or a connector bypass. Do not look for an MCP resources/read tool, and do not repeat the query merely to obtain the file bytes. |
gribstream_query_timeseries | AUTH REQUIRED / DATA QUERY. Fetch or retrieve weather values for maps, heatmaps and analysis at selected valid times. Use discovered request.variables with coordinates or one grid; no separate build/validate call is needed. CSV is the default; use delivery=url for large results and render the downloaded file locally. Prefer Parquet only with an available reader. Use timesList for one exact UTC valid time; omit asOf for latest forecasts. Requested sampling does not increase native resolution. Response rows are unsorted; sort rows before plotting. When a live query returns a resource_link, the exact signed HTTPS URL is the result: download it directly once with an available HTTPS or file-download capability, without an API token. This consumes the selected GribStream MCP result; it is not a direct GribStream API call or a connector bypass. Do not look for an MCP resources/read tool, and do not repeat the query merely to obtain the file bytes. |
gribstream_resolve_shared_parameterread-only | NO AUTH / PUBLIC / READ-ONLY. Resolves a weather concept to validated native variables/expressions and an exact or approximate match label. Use resolved_request directly in /timeseries or /runs; read resolved_match for height differences and native statistics. Use this first for common natural-language concepts such as 2 metre temperature or 10 metre wind instead of guessing dataset-native codes such as TMP. |
gribstream_validate_requestread-only | 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. Use this before returning any hand-edited curl or when changing a request from one dataset to another. |
Schemas: list_tools.
{
"name": "com.gribstream/mcp",
"icons": [
{
"src": "https://gribstream.com/gribstream_small.png",
"mimeType": "image/png"
}
],
"title": "GribStream Weather MCP",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://gribstream.com/mcp",
"type": "streamable-http"
}
],
"version": "1.1.4",
"repository": {
"url": "https://github.com/GribStream/gribstream-mcp",
"source": "github"
},
"websiteUrl": "https://gribstream.com/",
"description": "NOAA and ECMWF weather forecast MCP for discovery, validation, and GribStream OAuth queries."
}