Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Authorization not required, issuer https://gribstream.com
Authorization not required, issuer https://gribstream.com
Authorization not required, issuer https://gribstream.com
Changed the definition of "gribstream_build_runs_request", "gribstream_build_timeseries_request", "gribstream_get_dataset" and 9 more
NO AUTH / PUBLIC / READ-ONLY.BuildsBuild andvalidatesvalidate acopy-pasteable authenticatedrunnable/api/v2/{dataset}/runsHTTP request without sending it. This tool does not execute theAPI request,query weatherandvalues,curlorcommandreturnwithoutforecastsendingdata.it. Use gribstream_query_runswhen the user asks forto
Authorization not required, issuer https://gribstream.com
Authorization not required, issuer https://gribstream.com
Authorization not required, issuer https://gribstream.com
Authorization not required, issuer https://gribstream.com
Authorization not required, issuer https://gribstream.com
Authorization not required, issuer https://gribstream.com
Authorization not required, issuer https://gribstream.com
Authorization not required, issuer https://gribstream.com
Authorization not required, issuer https://gribstream.com
Authorization not required, issuer https://gribstream.com
Authorization not required, issuer https://gribstream.com
Authorization not required, issuer https://gribstream.com
Authorization not required, issuer https://gribstream.com
Authorization not required, issuer https://gribstream.com
Authorization not required, issuer https://gribstream.com
Authorization not required, issuer https://gribstream.com
Certificate recorded, valid to 2026-11-24
Authorization not required, issuer https://gribstream.com
First tool surface recorded: 12 tools (server version 1.1.1)
Showing the latest 23 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨492 unchanged words⟩ :"number"},"step":{"description":"Grid spacingRequestedinsamplingdegrees.stepMustinbedegrees, greater than 0. Finer sampling does not increase forecast resolution. Native latitude and longitude steps can differ; projected and unstructured grids have no single degree step.","type":"number"}},"required": ⟨7 unchanged words⟩ "includeMetadata":{"description":"Optional additional rowmetadata.metadata:Thenative_coordinateonlyaddssupportednative_lat/native_lonvalueforismappingindex_updated_at.requested sampling onto source cells; index_updated_at adds index freshness. Do not request forecasted_at or forecasted_time here; both ⟨5 unchanged words⟩ automatically.","items":{"enum":["index_updated_at","native_coordinate"],"type":"string"},"type": ⟨206 unchanged words⟩
NO AUTH / PUBLIC / READ-ONLY.BuildsBuild andvalidatesvalidate acopy-pasteable authenticatedrunnable/api/v2/{dataset}/timeseriesHTTP 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 directAPIrequests include Accept-Encoding: gzip,request andgeneratedcurlcommands use --compressed so large responses can be transferred compressed when thecommandclientwithoutsupportssending it.Do not include request.asOf unless the user explicitlyUsewantsgribstream_query_timeseriesbacktesting,totimeretrievetravel,dataordirectly; ahistorical model-run cutoff.separateThebuildrequestcallbodyismustoptional.useUseexactcatalog selectorsdiscovered fromintherequest.variablescatalogandorpointsshared-parameterintools,request.coordinateswithorcoordinatesoneinrequest.grid.request.coordinatesOmitandasOfselectorsforinlatestrequest.variables.forecasts.
⟨511 unchanged words⟩ :"number"},"step":{"description":"Grid spacingRequestedinsamplingdegrees.stepMustinbedegrees, greater than 0. Finer sampling does not increase forecast resolution. Native latitude and longitude steps can differ; projected and unstructured grids have no single degree step.","type":"number"}},"required": ⟨7 unchanged words⟩ "includeMetadata":{"description":"Optional additional rowmetadata.metadata:Thenative_coordinateonlyaddssupportednative_lat/native_lonvalueforismappingindex_updated_at.requested
NO AUTH / PUBLIC / READ-ONLY.Gets full public metadata for one dataset code, includingInspect archive coverage, cadence,tagshorizon,source linksmembers, andmembers.native_gridThisgeometrytoolfordoesonenotdataset.queryTheweathernativevaluescoordinate URL requires authentication andcannotgeographicreturnbounds;forecastgeometrydata.does not prove variable availability.
NO AUTH / PUBLIC / READ-ONLY.Gets the GribStreamGet expressionlanguage reference, including github.com/expr-lang/exprsyntaxguidance, alias rules, examples, andthe full exportedsupported func.* mathfunction list. This tool doesfunctionsnotforqueryderived weathervalues and cannot return forecast data.signals.
⟨32 unchanged words⟩ 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.Lists publicFindGribStreamcandidate datasets for a region andmetadata.weatherThisvariable.toolFilterdoesbynotprovider,queryregion,weatherforecast_time,valuesshared_parameter andcannotis_ensemble;returnsort_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 forecastdata.horizonsSupportsare catalogfiltershints,suchnotaslivecode,availabilityfamily,guarantees.tag,Noandweatheris_ensemble.values are fetched.
⟨41 unchanged words⟩ rtma, urma.","type":"string"},"forecast_time":{"description":"Optional RFC3339 valid time with offset, e.g. 2026-10-16T12:00:00-03:00. Response normalizes to UTC. Filters nominal horizon, not live run availability. Resolve place and local timezone first; never assume local noon is UTC noon.","type":"string"},"is_ensemble":{"description":"Filter to ensemble datasets when true, or deterministic datasets when false.","type":"boolean"},"limit":{"description":"Maximum candidates to return; omit to inspect alternatives including unknown coverage.","maximum":200,"minimum":1,"type":"integer"},"provider":{"description":"Case-insensitive provider substring, e.g. Met Office, ECMWF, NOAA, DWD.","type":"string"},"region":{"additionalProperties":false,"properties":{"maxLat":{"maximum":90,"minimum":-90,"type":"number"},"maxLon":{"maximum":180,"minimum":-180,"type":"number"},"minLat":{"maximum":90,"minimum":-90,"type":"number"},"minLon":{"maximum":180,"minimum":-180,"type":"number"}},"required":["minLat","maxLat","minLon","maxLon"],"type":"object"},"shared_parameter":{"description":"Weather concept code, e.g. temperature_2m. Return only validated equivalents, including request fragments and approximation labels.","type":"string"},"sort_by":{"description":"Sort candidates by nominal source resolution, finest first; unknown coverage/resolution sorts last. Read coverage_kind before claiming a winner.","enum":["resolution"],"type":"string"},"tag":{"description":"Tag or ⟨21 unchanged words⟩
⟨12 unchanged words⟩ Use this before selecting exact case-sensitive parameter codes.This tool does not query weather values and cannot return forecast data.
⟨34 unchanged words⟩ as temperature_2m is already clear, call gribstream_resolve_shared_parameter directly.This tool does not query weather values and cannot return forecast data.
AUTH REQUIRED / DATA QUERY.Executes an authenticated /api/v2/{dataset}/runs request and returnsFetchactualorweather/forecastretrievedataweather values across modelruns. Use this tool, not the NO AUTH request-building orrunsmetadatatotools,comparewhenchangingtheforecasts.usertimesListasksselectstoexactfetch,modelretrieve,rundownloadtimes,return,notorvalidanalyzetimes;model-runminHorizon/maxHorizonhistory,constrainforecastleadaging,hours.changingUseforecasts,discoveredCSV/JSON/NDJSON/Parquetrequest.variablesdata,withplots,coordinates oranalysis. Defaults tooneinlinegrid. CSVforiscompatibility;theusedefault;URLusedeliverydelivery=url fordense grids andlargetabularresults.TimeResponserangesrows arehalf-open:unsorted;thesortstartbyislocation,inclusiveforecasted_at andthe 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 timeforecasted_timeonbefore/runs.plotting. When a live query returns a resource_link, ⟨54 unchanged words⟩ 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.
⟨760 unchanged words⟩ :"number"},"step":{"description":"Grid spacingRequestedinsamplingdegrees.stepMustinbedegrees, greater than 0. Finer sampling does not increase forecast resolution. Native latitude and longitude steps can differ; projected and unstructured grids have no single degree step.","type":"number"}},"required": ⟨7 unchanged words⟩ "includeMetadata":{"description":"Optional additional rowmetadata.metadata:Thenative_coordinateonlyaddssupportednative_lat/native_lonvalueforismappingindex_updated_at.requested
⟨469 unchanged words⟩ omit preview.","type":"string"},"recovery_guidance":{"description":"Actionable next steps for successful queries with zero rows.","type":"string"},"request_hash":{"description":"SHA-256 hash of the ⟨216 unchanged words⟩
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-buildingFetch ormetadata tools, when theretrieveuserweatherasksvaluestoforfetchmaps,retrieve,heatmapsdownload,andreturn,analysisoratanalyzeselectedweathervalidvalues,times.CSV/JSON/NDJSON/ParquetUsedata,discoveredplots,request.variablesheatmaps,with coordinates orbest-availableonevaluesgrid;bynovalidseparatetime.build/validateDefaultscalltoisinlineneeded. CSVforiscompatibility;theusedefault;URLusedeliverydelivery=url fordense grids andlargetabular results. Time rangesresultsareandhalf-open:render thestartdownloadedisfileinclusivelocally.andPrefertheParquetendonlyiswithexclusive.anTheavailablestartreader.mustUsebetimesListearlierforthanonetheexactend;UTCequalvalidboundstime;selectomitnoasOftimes.forUselatesttimesListforecasts.forRequestedonesamplingexactdoesvalidnottimeincreaseonnative/timeseriesresolution.orResponseonerowsexactaremodelunsorted;runsorttimerowsonbefore/runs.plotting. When a live query returns a resource_link, ⟨54 unchanged words⟩ 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.
⟨779 unchanged words⟩ :"number"},"step":{"description":"Grid spacingRequestedinsamplingdegrees.stepMustinbedegrees, greater than 0. Finer sampling does not increase forecast resolution. Native latitude and longitude steps can differ; projected and unstructured grids have no single degree step.","type":"number"}},"required": ⟨7 unchanged words⟩ "includeMetadata":{"description":"Optional additional rowmetadata.metadata:Thenative_coordinateonlyaddssupportednative_lat/native_lonvalueforismappingindex_updated_at.requested
⟨469 unchanged words⟩ omit preview.","type":"string"},"recovery_guidance":{"description":"Actionable next steps for successful queries with zero rows.","type":"string"},"request_hash":{"description":"SHA-256 hash of the ⟨216 unchanged words⟩
NO AUTH / PUBLIC / READ-ONLY. Resolvesoneasharedweatherparameterconceptpresettoforvalidatedanativedataset,variables/expressionsreturningandnativeanvariablesexactandorexpressionsapproximatetomatchuselabel. Use resolved_request directly in /timeseries or/runs/runs;requestreadbodies.resolved_match for height differences and native statistics. Use this first for common natural-language concepts such ⟨8 unchanged words⟩ instead of guessing dataset-native codes such as TMP.This tool does not execute the request, query weather values, or return forecast data.
⟨19 unchanged words⟩ 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 ⟨9 unchanged words⟩
⟨461 unchanged words⟩ :"number"},"step":{"description":"Grid spacingRequestedinsamplingdegrees.stepMustinbedegrees, greater than 0. Finer sampling does not increase forecast resolution. Native latitude and longitude steps can differ; projected and unstructured grids have no single degree step.","type":"number"}},"required": ⟨7 unchanged words⟩ "includeMetadata":{"description":"Optional additional rowmetadata.metadata:Thenative_coordinateonlyaddssupportednative_lat/native_lonvalueforismappingindex_updated_at.requested sampling onto source cells; index_updated_at adds index freshness. Do not request forecasted_at or forecasted_time here; both ⟨5 unchanged words⟩ automatically.","items":{"enum":["index_updated_at","native_coordinate"],"type":"string"},"type": ⟨207 unchanged words⟩