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

Agent View of the PolicyLayer registry record for `gribstream_build_runs_request`. HTML page: https://policylayer.com/tools/com-gribstream-mcp/gribstream-build-runs-request

## Facts

- Tool: `gribstream_build_runs_request`
- Server: GribStream MCP (`https://gribstream.com/mcp`) — https://policylayer.com/tools/com-gribstream-mcp.md
- Homepage: https://github.com/GribStream/gribstream-mcp
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 3 (2 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `accept` | string | no | Desired response format for the eventual HTTP request. Prefer application/vnd.apache.parquet for dense grids and large typed tabular results. |
| `dataset` | string | yes | Dataset code, for example gfs, ifsoper, nbm, hrrr, or urma. |
| `request` | object | yes | Runs request body. Use either timesList or forecastedFrom+forecastedUntil as UTC model run times. Coordinates must be in request.coordinates, and variable selec |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "gribstream_build_runs_request",
    "arguments": {
      "dataset": "<dataset>",
      "request": {}
    }
  }
}
```

## Why gribstream_build_runs_request is rated High

gribstream_build_runs_request triggers real processes with real consequences. An agent gone sideways doesn't fire it once. It starts dozens of builds, sends mass notifications, or burns through compute before anyone looks up.

Risk signals: Accepts freeform code/query input (request.expressions[].expression) · High parameter count (37 properties)

## Use case

AI agents invoke gribstream_build_runs_request to trigger actions in GribStream MCP. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches GribStream MCP:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "gribstream_build_runs_request": {
      "limits": [
        {
          "counter": "gribstream_build_runs_request_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on GribStream MCP (11)

- `gribstream_build_timeseries_request` — Execute — https://policylayer.com/tools/com-gribstream-mcp/gribstream-build-timeseries-request.md
- `gribstream_get_dataset` — Read — https://policylayer.com/tools/com-gribstream-mcp/gribstream-get-dataset.md
- `gribstream_get_expression_reference` — Read — https://policylayer.com/tools/com-gribstream-mcp/gribstream-get-expression-reference.md
- `gribstream_get_parameter` — Read — https://policylayer.com/tools/com-gribstream-mcp/gribstream-get-parameter.md
- `gribstream_list_datasets` — Read — https://policylayer.com/tools/com-gribstream-mcp/gribstream-list-datasets.md
- `gribstream_list_parameters` — Read — https://policylayer.com/tools/com-gribstream-mcp/gribstream-list-parameters.md
- `gribstream_list_shared_parameters` — Read — https://policylayer.com/tools/com-gribstream-mcp/gribstream-list-shared-parameters.md
- `gribstream_query_runs` — Read — https://policylayer.com/tools/com-gribstream-mcp/gribstream-query-runs.md
- `gribstream_query_timeseries` — Read — https://policylayer.com/tools/com-gribstream-mcp/gribstream-query-timeseries.md
- `gribstream_resolve_shared_parameter` — Read — https://policylayer.com/tools/com-gribstream-mcp/gribstream-resolve-shared-parameter.md
- `gribstream_validate_request` — Read — https://policylayer.com/tools/com-gribstream-mcp/gribstream-validate-request.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=com-gribstream-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-gribstream-mcp
