Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,528Letters: 13Defects: 1,322counted 2 min ago
teppi

Server definition

Hash
sha256:e397422da579f30f61dcfa2a65d7bf41b9cd42960c700ec60420885a27af40ad
What it is
What a remote MCP server returned when asked what it offers: 4 tools

The blob, as servednamed by its sha256

{ "instructions": "Tools for discovering and using dynamical.org's public STAC catalog of cloud-optimized weather and climate datasets: search for datasets by model/variable/region/resolution, look up a dataset's docs and update cadence, get a ready-to-run code snippet for opening its data, and check recent forecast-run freshness.", "tools": [ { "description": "Get the storage URI and working code for opening a dynamical.org\ndataset's data.\n\ndynamical.org publishes a Python package, `dynamical-catalog`, that\nreads the STAC catalog itself to resolve and open a dataset -- it's the\nrecommended access pattern because it can't go stale even if the\nunderlying storage format or location changes. This tool also returns\nthe dataset's low-level storage details (from the STAC asset, fetched\nlive) and a lower-level xarray/fsspec snippet for callers who need\ndirect access instead of the wrapper package.\n\nArgs:\n collection_id: A STAC collection id, e.g. \"noaa-gfs-forecast\". Use\n search_catalog to discover ids.\n\nReturns:\n A dict with the recommended `dynamical_catalog.open(...)` snippet,\n a `worked_example` pulled from the collection's own STAC metadata\n when one is published, the raw asset URI/type/storage options, and\n a generated low-level open snippet (icechunk/zarr/geoparquet,\n chosen from the asset's declared type). Raises ValueError (listing\n valid ids) if collection_id is unknown.\n", "inputSchema": { "properties": { "collection_id": { "title": "Collection Id", "type": "string" } }, "required": [ "collection_id" ], "title": "get_access_patternArguments", "type": "object" }, "name": "get_access_pattern", "outputSchema": { "additionalProperties": true, "title": "get_access_patternDictOutput", "type": "object" } }, { "description": "Get documentation, spatial/time resolution, domain, and update cadence\nfor one dynamical.org dataset.\n\ndynamical.org/catalog is itself rendered from this same STAC catalog, so\nthis tool fetches the collection document live (short TTL cache) rather\nthan relying on anything baked into this server -- it's always as fresh\nas the STAC catalog itself.\n\nArgs:\n collection_id: A STAC collection id, e.g. \"noaa-gfs-forecast\",\n \"noaa-hrrr-analysis\", or \"ecmwf-aifs-ens-forecast\". Use\n search_catalog to discover ids.\n\nReturns:\n A dict with title/model name, prose descriptions, spatial and time\n domain/resolution, forecast range (for forecast datasets), license\n and attribution, the dataset's variables, and links to its docs\n page and example notebooks. Raises ValueError (listing valid ids)\n if collection_id is unknown.\n", "inputSchema": { "properties": { "collection_id": { "title": "Collection Id", "type": "string" } }, "required": [ "collection_id" ], "title": "get_dataset_infoArguments", "type": "object" }, "name": "get_dataset_info", "outputSchema": { "additionalProperties": true, "title": "get_dataset_infoDictOutput", "type": "object" } }, { "description": "Check run freshness and arrival status for a dynamical.org forecast\ndataset, from the same public feed status.dynamical.org's dashboard polls.\n\nOnly forecast collections are pipeline-monitored today (analysis\ncollections like noaa-gfs-analysis or noaa-mrms-conus-analysis-hourly\naren't yet tracked by this feed).\n\nArgs:\n collection_id: A STAC collection id, e.g. \"noaa-gfs-forecast\".\n limit: Maximum number of recent runs to return, most recent first\n (default 10).\n\nReturns:\n A dict with the overall pipeline `sla_status`, this product's\n cadence and next expected init/completion time, typical latency\n stats, and up to `limit` recent runs (`init_time`, `status`,\n `completion_pct`, `on_timedness`, arrival/latency timestamps). If\n collection_id isn't pipeline-monitored, returns `monitored`: False\n plus the list of collection ids that are.\n", "inputSchema": { "properties": { "collection_id": { "title": "Collection Id", "type": "string" }, "limit": { "default": 10, "title": "Limit", "type": "integer" } }, "required": [ "collection_id" ], "title": "list_recent_runsArguments", "type": "object" }, "name": "list_recent_runs", "outputSchema": { "additionalProperties": true, "title": "list_recent_runsDictOutput", "type": "object" } }, { "description": "Search dynamical.org's STAC catalog of cloud-optimized weather and\nclimate datasets.\n\nMatches against each dataset's model name, description, spatial/time\ndomain and resolution, forecast range, and variable names -- so a query\ncan be a model (\"GFS\"), a variable (\"precipitation\", \"temperature_2m\"),\na region (\"continental US\", \"global\"), or a resolution (\"3km\", \"0.25\ndegree\"). Results are ranked by number of matching terms.\n\nArgs:\n query: Free-text search terms, e.g. \"hourly precipitation CONUS\"\n or \"ECMWF ensemble forecast\".\n limit: Maximum number of results to return (default 5).\n\nReturns:\n {\"query\": ..., \"results\": [{\"collection_id\", \"title\", \"model_name\",\n \"description_summary\", \"spatial_domain\", \"spatial_resolution\",\n \"matched_variables\", \"score\"}, ...]}, most relevant first. Pass a\n result's collection_id to get_dataset_info, get_access_pattern, or\n list_recent_runs.\n", "inputSchema": { "properties": { "limit": { "default": 5, "title": "Limit", "type": "integer" }, "query": { "title": "Query", "type": "string" } }, "required": [ "query" ], "title": "search_catalogArguments", "type": "object" }, "name": "search_catalog", "outputSchema": { "additionalProperties": true, "title": "search_catalogDictOutput", "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:e397422da579f30f61dcfa2a65d7bf41b9cd42960c700ec60420885a27af40ad | sha256sum