Gribstream MCP

by GribStream

309 downloads
Not rated
GitHub

Description

GribStream MCP is a hosted Model Context Protocol server for weather forecast data. It helps AI agents discover GribStream datasets, resolve exact forecast variables and levels, validate request bodies, and build runnable GribStream Weather API requests for GFS, ECMWF IFS, NBM…

About

GribStream MCP is a hosted Model Context Protocol server for weather forecast data. It helps AI agents discover GribStream datasets, resolve exact forecast variables and levels, validate request bodies, and build runnable GribStream Weather API requests for GFS, ECMWF IFS, NBM, HRRR, and other models.

Details

Author
GribStream
Downloads
309
Categories
Database, Other, API

- Lists public GribStream weather datasets.
- Resolves forecast variables, levels, and aliases.
- Builds validated /timeseries and /runs requests.
- Generates copy-pasteable curl commands.
- Includes prompts for GFS, historical, and forecast requests.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Gribstream MCP
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Connect any MCP client that supports remote Streamable HTTP to the hosted endpoint https://gribstream.com/mcp. Configure the client with a JSON object containing the url field; some clients also require an explicit "type": "streamable-http".

gribstream_build_runs_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.

gribstream_build_timeseries_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.

gribstream_get_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.

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

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. This tool does not query weather values and cannot return forecast data.

gribstream_list_datasets

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

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.

gribstream_list_shared_parameters

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. This tool does not query weather values and cannot return forecast data.

gribstream_query_runs

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 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.

gribstream_query_timeseries

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 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.

gribstream_resolve_shared_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. 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.

gribstream_validate_request

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.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "gribstream mcp": {
            "gribstream": {
                "type": "streamable-http",
                "url": "https://gribstream.com/mcp"
            }
        }
    }
}

McpServers

{
    "gribstream": {
        "type": "streamable-http",
        "url": "https://gribstream.com/mcp"
    }
}

GribStream Weather MCP is a hosted Model Context Protocol server for AI access to weather forecast data from GribStream, including NOAA and ECMWF model output.

It helps AI agents discover forecast datasets such as NOAA GFS, HRRR, and NBM or ECMWF IFS, resolve exact forecast variables and levels, validate request bodies, build runnable GribStream Weather API requests, and execute live read-only weather queries after OAuth authorization.

Official GribStream weather API homepage:

Use GribStream MCP when you want an AI tool to:

- List public GribStream weather datasets.
- Choose a NOAA, ECMWF, or other forecast model for a region, horizon, or weather task.
- Query GFS, HRRR, NBM, IFS, and other numerical weather prediction model data exposed by GribStream.
- Find exact variable selectors, levels, and aliases.
- Build a/timeseriesrequest for values by valid time.
- Build a/runsrequest to compare forecasts across model runs.
- Validate a GribStream API request before running it.
- Execute live/timeseriesor/runsqueries after OAuth authorization.
- Retrieve dense forecast grids as downloadable files without embedding the complete result in the conversation.
- Generate a copy-pasteablecurlcommand for the GribStream Weather API.

Use the hosted endpoint exactly as shown in any MCP client that supports remote Streamable HTTP:

Do not include trailing punctuation in the URL.

{ "mcpServers": { "gribstream": { "url": "https://gribstream.com/mcp" } } }
{ "mcpServers": { "gribstream": { "type": "http", "url": "https://gribstream.com/mcp" } } }

Some clients require an explicit transport field:

{ "mcpServers": { "gribstream": { "type": "streamable-http", "url": "https://gribstream.com/mcp" } } }

OAuth is needed for live query tools. Most MCP clients should discover OAuth from the hosted endpoint automatically, either during connector setup or when the client requests authenticated tools. If a client asks for manual OAuth 2.0 fields, use:

Authorization URL: https://gribstream.com/authorize Token URL: https://gribstream.com/token Client ID: gribstream-mcp-public Client Secret: leave empty; do not enter a value Scopes: leave empty Resource or audience, if requested: https://gribstream.com/mcp
https://gribstream.com/.well-known/oauth-protected-resource/mcp https://gribstream.com/.well-known/oauth-authorization-server

The OAuth client is public and uses PKCE withtoken_endpoint_auth_methodset tonone. Native desktop clients may use loopback redirect URIs such ashttp://localhost:{port}/...,http://127.0.0.1:{port}/..., orhttp://[::1]:{port}/.... A setup form that requires a non-empty client secret is asking for a confidential-client flow and is not compatible with this public MCP OAuth flow.

LobeHub and other MCP crawlers may call MCP tools "skills". The live GribStream MCP server exposes the following skills/tools, prompts, and resources.

Public read-only skills/tools are visible before OAuth. OAuth live query skills/tools may be hidden fromtools/listuntil the client completes OAuth or sends a validAuthorization: Bearertoken.

Authenticated live query tools support CSV, JSON, NDJSON, and Parquet results. Small CSV, JSON, and NDJSON results can be returned inline. Setdelivery=urlfor dense grids or large results to receive a short-lived signed HTTPSresource_linkto the complete file instead.

- URL delivery works with CSV, JSON, NDJSON, and Parquet. Parquet always uses URL delivery.
- Download the exact signed URL once without an API token. This consumes the MCP result; it is not a separate direct GribStream API request.
- The 10 MBmax_byteslimit applies only to inline MCP results. URL artifacts use a separate server-configured size limit, so omitmax_byteswhen usingdelivery=url.
- For dense grids, prefer Parquet when a compatible reader is already installed; otherwise use CSV withdelivery=url. Do not install a dependency or write a Parquet parser solely for one result.
- Use one grid request and only split after an actual request or artifact-size error. If splitting is necessary, split time first, variables second, and space last.
- structuredContentincludes metadata such ascontent_type,rows,bytes,columns,schema,delivery,cache_hit,signed_url_expires_at, andsuggested_filenamewhen applicable.
- Inline tabular results also include a preview plusrequest_hash,response_hash, andresult_hash. Usesuggested_filenamewhen saving multiple results so repeated requests or comparisons do not overwrite earlier files.
- Rows are streamed from parallel extraction and are not guaranteed to be sorted. Sort byforecasted_timefor/timeseries, and byforecasted_atplusforecasted_timefor/runs, before plotting or comparing time series.

- Official GribStream weather API homepage:https://gribstream.com/
- Endpoint:https://gribstream.com/mcp
- MCP page:https://gribstream.com/mcp
- Icon:https://gribstream.com/gribstream_small.png
- OpenAPI:https://gribstream.com/docs/openapi.yaml
- AI setup docs:https://gribstream.com/ai
- API dashboard:https://gribstream.com/app/dashboard

After connecting GribStream MCP to an AI tool, ask:

Use GribStream MCP to build a GFS 2m temperature timeseries request for Houston for tomorrow at 12:00 UTC. Validate the request and return a runnable curl command.

If your client has completed OAuth, you can also ask it to run the query:

Use GribStream MCP to run a GFS 2m temperature timeseries query for Houston for tomorrow at 12:00 UTC and return CSV.
Using GribStream, plot the latest available ICON-D2 2 metre temperature forecast over Germany at 0.025 degree resolution as a beautiful PNG.
Use GribStream MCP to find the best dataset for short-range precipitation forecasts in the continental United States. Explain the tradeoffs and build a validated example request.

- Client configuration examples
-
Weather request workflows

For the GribStream API itself, see theOpenAPI specification.

62 real-time data tools for AI agents via MCP. Finance, crypto, FMCSA, sanctions, courts, weather, vehicles, cybersecurity. One bearer token, one bill. Free tier available.

The Meteomatics MCP server allows AI agents to securely access Meteomatics weather data tools.

Integrates the Korea Meteorological Administration's public weather API to provide climate data.

Fetches precipitation forecast data for a specific location using the Buienradar service.

Access meteorological data for Portugal from the IPMA public API using natural language.

Provides accurate Islamic prayer times for locations throughout Malaysia using the waktusolat.app API.

Access global weather data and forecasts using the OpenMeteo API, including current conditions, historical data, and location search.

A production-clean MCP server for the free Open-Meteo weather API (geocoding, forecast, air quality) with SRE-grade rate limiting, backoff, and structured logging.

A FastAPI-based server that provides weather information from the National Weather Service API, secured with OAuth 2.1.

SkyLinkAPI MCP Server | Aviation Data MCP Server

Connect SkyLink API to Claude Desktop, Cursor, or any MCP client in under a minute. Ask about live flights, weather, NOTAMs, and ADS-B positions — your AI gets real data, not hallucinations.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.