{
  "markdown": "# GribStream Weather MCP\n\n[![MCP Badge](https://lobehub.com/badge/mcp/gribstream-gribstream-mcp)](https://lobehub.com/mcp/gribstream-gribstream-mcp)\n\nGribStream Weather MCP is a hosted Model Context Protocol server for AI access to weather forecast data from GribStream, including NOAA and ECMWF model output.\n\nIt 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.\n\nOfficial GribStream weather API homepage:\n\n```text\nhttps://gribstream.com/\n```\n\nHosted MCP endpoint:\n\n```text\nhttps://gribstream.com/mcp\n```\n\n## Use Cases\n\nUse GribStream MCP when you want an AI tool to:\n\n- List public GribStream weather datasets.\n- Choose a NOAA, ECMWF, or other forecast model for a region, horizon, or weather task.\n- Query GFS, HRRR, NBM, IFS, and other numerical weather prediction model data exposed by GribStream.\n- Find exact variable selectors, levels, and aliases.\n- Build a `/timeseries` request for values by valid time.\n- Build a `/runs` request to compare forecasts across model runs.\n- Validate a GribStream API request before running it.\n- Execute live `/timeseries` or `/runs` queries after OAuth authorization.\n- Retrieve dense forecast grids as downloadable files without embedding the complete result in the conversation.\n- Generate a copy-pasteable `curl` command for the GribStream Weather API.\n\nThe hosted MCP server exposes discovery, selector lookup, request building, and validation tools before OAuth. Live `/timeseries` and `/runs` query tools require OAuth. Tool descriptions begin with either `NO AUTH / PUBLIC / READ-ONLY` or `AUTH REQUIRED / DATA QUERY` so AI clients can route metadata tasks and live data-query tasks correctly. When a client connects through OAuth, GribStream asks the user to sign in and select an active GribStream API token. MCP access tokens are scoped to that selected API token, and the raw API token is not shown to the MCP client.\n\n## Connect\n\nUse the hosted endpoint exactly as shown in any MCP client that supports remote Streamable HTTP:\n\n```text\nhttps://gribstream.com/mcp\n```\n\nDo not include trailing punctuation in the URL.\n\nGeneric configuration shape:\n\n```json\n{\n  \"mcpServers\": {\n    \"gribstream\": {\n      \"url\": \"https://gribstream.com/mcp\"\n    }\n  }\n}\n```\n\nLobeHub quick import configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"gribstream\": {\n      \"type\": \"http\",\n      \"url\": \"https://gribstream.com/mcp\"\n    }\n  }\n}\n```\n\nSome clients require an explicit transport field:\n\n```json\n{\n  \"mcpServers\": {\n    \"gribstream\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://gribstream.com/mcp\"\n    }\n  }\n}\n```\n\n## OAuth\n\nOAuth 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:\n\n```text\nAuthorization URL: https://gribstream.com/authorize\nToken URL: https://gribstream.com/token\nClient ID: gribstream-mcp-public\nClient Secret: leave empty; do not enter a value\nScopes: leave empty\nResource or audience, if requested: https://gribstream.com/mcp\n```\n\nOAuth discovery endpoints:\n\n```text\nhttps://gribstream.com/.well-known/oauth-protected-resource/mcp\nhttps://gribstream.com/.well-known/oauth-authorization-server\n```\n\nThe OAuth client is public and uses PKCE with `token_endpoint_auth_method` set to `none`. Native desktop clients may use loopback redirect URIs such as `http://localhost:{port}/...`, `http://127.0.0.1:{port}/...`, or `http://[::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.\n\n## Server Features\n\nLobeHub and other MCP crawlers may call MCP tools \"skills\". The live GribStream MCP server exposes the following skills/tools, prompts, and resources.\n\n### Skill List\n\n| Name | Auth | Description |\n| --- | --- | --- |\n| `gribstream_list_datasets` | No auth, public, read-only | List public GribStream datasets and metadata. |\n| `gribstream_get_dataset` | No auth, public, read-only | Get full public metadata for one dataset code. |\n| `gribstream_list_parameters` | No auth, public, read-only | List parameter summaries for one dataset. |\n| `gribstream_get_parameter` | No auth, public, read-only | Get detailed metadata and exact selector variations for one dataset parameter. |\n| `gribstream_list_shared_parameters` | No auth, public, read-only | List normalized shared parameter presets. |\n| `gribstream_resolve_shared_parameter` | No auth, public, read-only | Resolve one shared parameter preset to native variables and expressions. |\n| `gribstream_get_expression_reference` | No auth, public, read-only | Get GribStream expression-language rules, examples, and math functions. |\n| `gribstream_build_timeseries_request` | No auth, public, read-only | Build and validate a copy-pasteable authenticated `/timeseries` API request without sending it. |\n| `gribstream_build_runs_request` | No auth, public, read-only | Build and validate a copy-pasteable authenticated `/runs` API request without sending it. |\n| `gribstream_validate_request` | No auth, public, read-only | Validate request shape, selector tuples, and expression syntax without querying weather values. |\n| `gribstream_query_timeseries` | OAuth required, data query | Execute an authenticated `/timeseries` request and return actual weather values. |\n| `gribstream_query_runs` | OAuth required, data query | Execute an authenticated `/runs` request and return actual weather values across model runs. |\n\nPublic read-only skills/tools are visible before OAuth. OAuth live query skills/tools may be hidden from `tools/list` until the client completes OAuth or sends a valid `Authorization: Bearer` token.\n\n### Prompt List\n\n| Name | Description |\n| --- | --- |\n| `build_gribstream_api_request` | Turn a weather question into a validated GribStream `/timeseries` or `/runs` request and runnable curl. |\n| `build_gfs_forecast_request` | Create a validated GFS request for common forecast variables at points or grids. |\n| `build_historical_forecast_request` | Build a request for archived forecasts or forecasts selected by a model-run-time cutoff. |\n| `create_grid_request` | Create a GribStream request over a latitude/longitude grid instead of point coordinates. |\n| `compare_forecast_runs` | Build a `/runs` request to compare model forecasts across runs or lead times. |\n| `choose_weather_dataset` | Choose a GribStream dataset for a region, horizon, weather signal, or forecast task. |\n| `find_weather_variable` | Find the exact dataset parameter selectors for a weather signal. |\n\n### Resource List\n\n| URI | MIME Type | Description |\n| --- | --- | --- |\n| `gribstream://openapi` | `application/yaml` | Machine-readable GribStream OpenAPI specification. |\n| `gribstream://skill/gribstream-query` | `text/markdown` | Vendor-neutral behavioral instructions for AI tools using GribStream. |\n\n### Live Query Output\n\nAuthenticated live query tools support CSV, JSON, NDJSON, and Parquet results. Small CSV, JSON, and NDJSON results can be returned inline. Set `delivery=url` for dense grids or large results to receive a short-lived signed HTTPS `resource_link` to the complete file instead.\n\n- URL delivery works with CSV, JSON, NDJSON, and Parquet. Parquet always uses URL delivery.\n- Download the exact signed URL once without an API token. This consumes the MCP result; it is not a separate direct GribStream API request.\n- The 10 MB `max_bytes` limit applies only to inline MCP results. URL artifacts use a separate server-configured size limit, so omit `max_bytes` when using `delivery=url`.\n- For dense grids, prefer Parquet when a compatible reader is already installed; otherwise use CSV with `delivery=url`. Do not install a dependency or write a Parquet parser solely for one result.\n- 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.\n- `structuredContent` includes metadata such as `content_type`, `rows`, `bytes`, `columns`, `schema`, `delivery`, `cache_hit`, `signed_url_expires_at`, and `suggested_filename` when applicable.\n- Inline tabular results also include a preview plus `request_hash`, `response_hash`, and `result_hash`. Use `suggested_filename` when saving multiple results so repeated requests or comparisons do not overwrite earlier files.\n- Rows are streamed from parallel extraction and are not guaranteed to be sorted. Sort by `forecasted_time` for `/timeseries`, and by `forecasted_at` plus `forecasted_time` for `/runs`, before plotting or comparing time series.\n\n## Links\n\n- Official GribStream weather API homepage: `https://gribstream.com/`\n- Endpoint: `https://gribstream.com/mcp`\n- MCP page: `https://gribstream.com/mcp`\n- Icon: `https://gribstream.com/gribstream_small.png`\n- OpenAPI: `https://gribstream.com/docs/openapi.yaml`\n- AI setup docs: `https://gribstream.com/ai`\n- API dashboard: `https://gribstream.com/app/dashboard`\n\n## Try It\n\nAfter connecting GribStream MCP to an AI tool, ask:\n\n```text\nUse 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.\n```\n\nIf your client has completed OAuth, you can also ask it to run the query:\n\n```text\nUse GribStream MCP to run a GFS 2m temperature timeseries query for Houston for tomorrow at 12:00 UTC and return CSV.\n```\n\nFor a dense-grid visualization:\n\n```text\nUsing GribStream, plot the latest available ICON-D2 2 metre temperature forecast over Germany at 0.025 degree resolution as a beautiful PNG.\n```\n\nOr:\n\n```text\nUse 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.\n```\n\nMore examples:\n\n- [Client configuration examples](examples/client-config.md)\n- [Weather request workflows](examples/request-workflows.md)\n\nFor the GribStream API itself, see the [OpenAPI specification](https://gribstream.com/docs/openapi.yaml).\n\n[![MCP Badge](https://lobehub.com/badge/mcp/gribstream-gribstream-mcp)](https://lobehub.com/mcp/gribstream-gribstream-mcp)\n",
  "bytes": 10446,
  "sha": "9c5e2c2f05827d1c1a2d951c60df26c93d7ebb7a39cd88068371695a5c8bd134",
  "repo_slug": "gribstream/gribstream-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_gribstream_mcp_76f63d13/readme"
}