addrbookFor publishers
← The evidence ledger

Evidence row 276708

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 51a61628-bcae-417f-a807-d8962036fd2c
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
52a2b92367ff07b9ed46ebfb744628fc440c7f857b0c12010e469dcb0c289ff7
Leaf
0xb52b2d04172da9c52c22a12c8239ed6bda11525bf6ef227ac29f395844117f42

What was observed

{
  "count": 30,
  "tools": [
    {
      "description": "Check the status of a specific subsetting request. Requires GDEX_TOKEN.\n\n    Args:\n        rindex: Request index/ID\n    ",
      "inputSchema": {
        "properties": {
          "rindex": {
            "title": "Rindex",
            "type": "string"
          }
        },
        "required": [
          "rindex"
        ],
        "title": "check_request_statusArguments",
        "type": "object"
      },
      "name": "check_request_status"
    },
    {
      "description": "Return a combined overview of a dataset — abstract, temporal coverage,\n    spatial coverage, variables, data formats, and volume — in a single call.\n\n    Prefer this over calling get_dataset_field repeatedly when the user wants\n    a general summary of a dataset. If one of the underlying fields fails to\n    load, it's returned as {\"error\": ...} rather than failing the whole call.\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          }
        },
        "required": [
          "dsid"
        ],
        "title": "describe_datasetArguments",
        "type": "object"
      },
      "name": "describe_dataset"
    },
    {
      "description": "Search a dataset's file-group hierarchy for files matching a name\n    pattern (e.g. a date like \"20220808\"), without ever pulling a large,\n    context-blowing file listing.\n\n    Automates the pattern described in get_file_groups: recursively calls\n    get_file_groups, descending into every child gindex, until a gindex\n    returns no further children (a leaf group) — then calls get_dataset_files\n    there with filter_wfile=name_pattern and keeps only the matches. Prefer\n    this over manually drilling with get_file_groups/get_dataset_files when\n    you don't already know roughly where in the hierarchy to look.\n\n    A dataset's hierarchy can be large (hundreds of leaf groups), and this\n    tool has no way to know in advance which branches might contain a match,\n    so it may need to visit many groups to be thorough. Pass start_gindex if\n    you already know a good starting point (e.g. from a prior get_file_groups\n    call, or a related dataset's structure) to narrow and speed up the\n    search. If the number of groups visited hits max_groups_visited, the\n    search stops early and `stopped_early` comes back true — narrow with\n    start_gindex and retry, or raise the cap.\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n        name_pattern: Filename substring/pattern to match, e.g. \"20220808\" for a date\n        start_gindex: Optional group index to start the search from, instead of the dataset root\n        max_groups_visited: Safety cap on groups traversed before giving up (default 300)\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          },
          "max_groups_visited": {
            "default": 300,
            "title": "Max Groups Visited",
            "type": "integer"
          },
          "name_pattern": {
            "title": "Name Pattern",
            "type": "string"
          },
          "start_gindex": {
            "default": "",
            "title": "Start Gindex",
            "type": "string"
          }
        },
        "required": [
          "dsid",
          "name_pattern"
        ],
        "title": "find_dataset_filesArguments",
        "type": "object"
      },
      "name": "find_dataset_files"
    },
    {
      "description": "Return the list of ARCO variables available for a dataset.\n\n    Each row's type (index 2) is either \"zarr\" or \"reference\" (kerchunk).\n    A \"reference\" variable is often listed multiple times, once per kerchunk\n    reference variant (plain, \"-remote-https\", \"-remote-osdf\", etc.) — always\n    pick the \"-osdf\" variant's URL; the others' chunk targets can be internal\n    paths that only resolve on NCAR's network. Open it with\n    xr.open_dataset(url, engine=\"kerchunk\", storage_options={\"remote_protocol\":\n    \"https\", \"lazy\": True}) — that's better behaved than hand-building an\n    fsspec reference filesystem. A \"zarr\" row needs no variant picking — its\n    URL already routes through the OSDF director (rewritten automatically);\n    open it directly with xr.open_dataset(url, engine=\"zarr\").\n\n    Results are capped at 300 rows (look for \"truncated\": true); narrow with\n    search_arco_variables if you hit the cap.\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          }
        },
        "required": [
          "dsid"
        ],
        "title": "get_arco_variablesArguments",
        "type": "object"
      },
      "name": "get_arco_variables"
    },
    {
      "description": "Return the control file template for building a subsetting request for a dataset.\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          }
        },
        "required": [
          "dsid"
        ],
        "title": "get_control_file_templateArguments",
        "type": "object"
      },
      "name": "get_control_file_template"
    },
    {
      "description": "Return data access options for a dataset — download links, Globus URLs, access methods.\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          }
        },
        "required": [
          "dsid"
        ],
        "title": "get_data_accessArguments",
        "type": "object"
      },
      "name": "get_data_access"
    },
    {
      "description": "Return one metadata field for a dataset.\n\n    Prefer describe_dataset when the user wants a general summary covering\n    several of these at once (abstract, temporal, spatial_coverage,\n    variables, data_formats, volume) — this tool is for pulling a single\n    field, including the fields describe_dataset doesn't cover\n    (publications, contributors, related_datasets, documentation).\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n        field: One of: abstract, variables, temporal, spatial_coverage,\n               publications, contributors, data_formats, volume,\n               related_datasets, documentation\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          },
          "field": {
            "title": "Field",
            "type": "string"
          }
        },
        "required": [
          "dsid",
          "field"
        ],
        "title": "get_dataset_fieldArguments",
        "type": "object"
      },
      "name": "get_dataset_field"
    },
    {
      "description": "Return a paginated file listing for a dataset or a specific group.\n\n    Depending on how deep gindex is in the group hierarchy, this returns\n    either actual file rows or another layer of subgroup summaries — there's\n    no way to tell in advance which you'll get. If you get subgroups, read\n    the gindex (or url) off a row and call again with that gindex to go one\n    level deeper; gindex values are dataset-specific and can't be guessed.\n\n    A shallow gindex on a large dataset can return a very large response\n    (thousands of files) — the file-row portion of the response is capped at\n    500 rows (look for \"_truncated\": true). Two ways to avoid hitting that\n    cap instead of drilling down group by group: pass filter_wfile with a\n    filename pattern (e.g. a date like \"20220808\") to filter down to matching\n    files, or page through a known group's results with `page`. filter_wfile\n    only filters actual file rows, so it has no effect at a gindex that's\n    still returning a subgroup summary rather than files — if a first attempt\n    comes back unfiltered, descend one level (see get_file_groups) and retry\n    there.\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n        gindex: Optional group index to filter files\n        page: Page number to fetch (for a group with more files than fit on one page)\n        filter_wfile: Filter files by name pattern, e.g. \"20220808\" to match a date\n        fl: File list source (defaults to \"web\" server-side)\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          },
          "filter_wfile": {
            "default": "",
            "title": "Filter Wfile",
            "type": "string"
          },
          "fl": {
            "default": "",
            "title": "Fl",
            "type": "string"
          },
          "gindex": {
            "default": "",
            "title": "Gindex",
            "type": "string"
          },
          "page": {
            "default": 0,
            "title": "Page",
            "type": "integer"
          }
        },
        "required": [
          "dsid"
        ],
        "title": "get_dataset_filesArguments",
        "type": "object"
      },
      "name": "get_dataset_files"
    },
    {
      "description": "Return full metadata for a GDEX dataset (parameters, temporal range, spatial coverage, etc.).\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          }
        },
        "required": [
          "dsid"
        ],
        "title": "get_dataset_metadataArguments",
        "type": "object"
      },
      "name": "get_dataset_metadata"
    },
    {
      "description": "Return a per-dataset metric.\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n        metric: One of: users_month, users_year, volume_month, volume_year\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          },
          "metric": {
            "default": "volume_year",
            "title": "Metric",
            "type": "string"
          }
        },
        "required": [
          "dsid"
        ],
        "title": "get_dataset_metricsArguments",
        "type": "object"
      },
      "name": "get_dataset_metrics"
    },
    {
      "description": "Return file groups for a dataset. Pass gindex to get child groups under a parent.\n\n    Groups nest (dataset -> format -> year -> month, or similar, varying by\n    dataset) and there's no way to predict a child's gindex in advance — each\n    group's gindex/url is dataset-specific and only knowable from the parent\n    response. To drill down, read the gindex (or url) off a row in this\n    response and pass that as the next call's gindex.\n\n    This never returns file rows, only groups — every response stays small\n    regardless of how many files the dataset holds, unlike get_dataset_files.\n    Descend until a call returns empty ({} or []): that means the gindex you\n    just called with is a leaf with no further subgroups, so it's safe to\n    call get_dataset_files there for the actual files. find_dataset_files\n    automates exactly this walk if you'd rather not do it by hand.\n\n    At the top level, watch for a \"Kerchunk Reference Files\" (or similar\n    ARCO-related) group alongside the raw-format groups. For an analysis\n    task, prefer pulling from there (see also has_arco/get_arco_variables)\n    over a raw data file when one's available — it avoids downloading a\n    whole file just to read a subset of it.\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n        gindex: Optional group index to fetch child groups\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          },
          "gindex": {
            "default": "",
            "title": "Gindex",
            "type": "string"
          }
        },
        "required": [
          "dsid"
        ],
        "title": "get_file_groupsArguments",
        "type": "object"
      },
      "name": "get_file_groups"
    },
    {
      "description": "Search for data files containing \"cyclone_fix\" datatype data, optionally\n    filtered by time range. Results are paginated; use get_filesearch_result_page\n    with the returned result_id to fetch additional pages.\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n        valid_datetime_min: Restrict to data valid on/after \"YYYY-MM-DD HH:MM\"\n        valid_datetime_max: Restrict to data valid on/before \"YYYY-MM-DD HH:MM\"\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          },
          "valid_datetime_max": {
            "default": "",
            "title": "Valid Datetime Max",
            "type": "string"
          },
          "valid_datetime_min": {
            "default": "",
            "title": "Valid Datetime Min",
            "type": "string"
          }
        },
        "required": [
          "dsid"
        ],
        "title": "get_filesearch_cyclone_fix_filesArguments",
        "type": "object"
      },
      "name": "get_filesearch_cyclone_fix_files"
    },
    {
      "description": "Return the valid date range and other filters for \"cyclone_fix\"\n    datatype file search on a dataset.\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n        valid_datetime_min: Restrict to data valid on/after \"YYYY-MM-DD HH:MM\"\n        valid_datetime_max: Restrict to data valid on/before \"YYYY-MM-DD HH:MM\"\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          },
          "valid_datetime_max": {
            "default": "",
            "title": "Valid Datetime Max",
            "type": "string"
          },
          "valid_datetime_min": {
            "default": "",
            "title": "Valid Datetime Min",
            "type": "string"
          }
        },
        "required": [
          "dsid"
        ],
        "title": "get_filesearch_cyclone_fix_filtersArguments",
        "type": "object"
      },
      "name": "get_filesearch_cyclone_fix_filters"
    },
    {
      "description": "Return the file-search datatypes available for a dataset (a subset of\n    \"grid\", \"cyclone_fix\", \"sensor\"). Call this before the other filesearch_*\n    tools to know which one(s) apply — a dataset only supports search for the\n    datatypes it actually contains.\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          }
        },
        "required": [
          "dsid"
        ],
        "title": "get_filesearch_datatypesArguments",
        "type": "object"
      },
      "name": "get_filesearch_datatypes"
    },
    {
      "description": "Search for data files containing \"grid\" datatype data, filtered by\n    parameter code(s) and optionally by time range, product, grid, or level.\n    Results are paginated; use get_filesearch_result_page with the returned\n    result_id to fetch additional pages. Use get_filesearch_grid_filters\n    first to find valid parameter/product/grid/level codes for this dataset.\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n        parameters: Parameter code(s) to search for (required, at least one)\n        valid_datetime_min: Restrict to data valid on/after \"YYYY-MM-DD HH:MM\"\n        valid_datetime_max: Restrict to data valid on/before \"YYYY-MM-DD HH:MM\"\n        products: Restrict to specified product code(s)\n        grids: Restrict to specified grid code(s)\n        levels: Restrict to specified vertical level code(s)\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          },
          "grids": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Grids",
            "type": "array"
          },
          "levels": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Levels",
            "type": "array"
          },
          "parameters": {
            "items": {
              "type": "string"
            },
            "title": "Parameters",
            "type": "array"
          },
          "products": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Products",
            "type": "array"
          },
          "valid_datetime_max": {
            "default": "",
            "title": "Valid Datetime Max",
            "type": "string"
          },
          "valid_datetime_min": {
            "default": "",
            "title": "Valid Datetime Min",
            "type": "string"
          }
        },
        "required": [
          "dsid",
          "parameters"
        ],
        "title": "get_filesearch_grid_filesArguments",
        "type": "object"
      },
      "name": "get_filesearch_grid_files"
    },
    {
      "description": "Return the valid parameter/product/grid/level codes and date range for\n    \"grid\" datatype file search on a dataset. Use this to discover the codes\n    to pass to get_filesearch_grid_files, optionally narrowed by any filters\n    you already know you want.\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n        valid_datetime_min: Restrict to data valid on/after \"YYYY-MM-DD HH:MM\"\n        valid_datetime_max: Restrict to data valid on/before \"YYYY-MM-DD HH:MM\"\n        parameters: Restrict to specified parameter code(s)\n        products: Restrict to specified product code(s)\n        grids: Restrict to specified grid code(s)\n        levels: Restrict to specified vertical level code(s)\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          },
          "grids": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Grids",
            "type": "array"
          },
          "levels": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Levels",
            "type": "array"
          },
          "parameters": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Parameters",
            "type": "array"
          },
          "products": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Products",
            "type": "array"
          },
          "valid_datetime_max": {
            "default": "",
            "title": "Valid Datetime Max",
            "type": "string"
          },
          "valid_datetime_min": {
            "default": "",
            "title": "Valid Datetime Min",
            "type": "string"
          }
        },
        "required": [
          "dsid"
        ],
        "title": "get_filesearch_grid_filtersArguments",
        "type": "object"
      },
      "name": "get_filesearch_grid_filters"
    },
    {
      "description": "Return a page of results from a previous get_filesearch_*_files call, by\n    its result_id. Use this to page through file-search results beyond the\n    first page (see the \"pagination\" block of a files/results response for\n    num_pages and next_page).\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n        result_id: The result_id from a previous filesearch files/results response\n        page_num: Page number to retrieve\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          },
          "page_num": {
            "title": "Page Num",
            "type": "integer"
          },
          "result_id": {
            "title": "Result Id",
            "type": "string"
          }
        },
        "required": [
          "dsid",
          "result_id",
          "page_num"
        ],
        "title": "get_filesearch_result_pageArguments",
        "type": "object"
      },
      "name": "get_filesearch_result_page"
    },
    {
      "description": "Search for data files containing \"sensor\" datatype data, optionally\n    filtered by date range. Results are paginated; use get_filesearch_result_page\n    with the returned result_id to fetch additional pages.\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n        valid_date_min: Restrict to data valid on/after \"YYYY-MM-DD\"\n        valid_date_max: Restrict to data valid on/before \"YYYY-MM-DD\"\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          },
          "valid_date_max": {
            "default": "",
            "title": "Valid Date Max",
            "type": "string"
          },
          "valid_date_min": {
            "default": "",
            "title": "Valid Date Min",
            "type": "string"
          }
        },
        "required": [
          "dsid"
        ],
        "title": "get_filesearch_sensor_filesArguments",
        "type": "object"
      },
      "name": "get_filesearch_sensor_files"
    },
    {
      "description": "Return the valid date range and other filters for \"sensor\" datatype\n    file search on a dataset.\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n        valid_date_min: Restrict to data valid on/after \"YYYY-MM-DD\"\n        valid_date_max: Restrict to data valid on/before \"YYYY-MM-DD\"\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          },
          "valid_date_max": {
            "default": "",
            "title": "Valid Date Max",
            "type": "string"
          },
          "valid_date_min": {
            "default": "",
            "title": "Valid Date Min",
            "type": "string"
          }
        },
        "required": [
          "dsid"
        ],
        "title": "get_filesearch_sensor_filtersArguments",
        "type": "object"
      },
      "name": "get_filesearch_sensor_filters"
    },
    {
      "description": "Return a GDEX portal-wide metric.\n\n    Args:\n        metric: One of: volume_downloaded, unique_users, total_datasets,\n                total_citations, gdex_volume, total_requests, top_datasets, ai_datasets\n    ",
      "inputSchema": {
        "properties": {
          "metric": {
            "default": "top_datasets",
            "title": "Metric",
            "type": "string"
          }
        },
        "title": "get_portal_metricsArguments",
        "type": "object"
      },
      "name": "get_portal_metrics"
    },
    {
      "description": "Return the output files for a completed subsetting request. Requires GDEX_TOKEN.\n\n    Args:\n        rindex: Request index/ID\n    ",
      "inputSchema": {
        "properties": {
          "rindex": {
            "title": "Rindex",
            "type": "string"
          }
        },
        "required": [
          "rindex"
        ],
        "title": "get_request_filesArguments",
        "type": "object"
      },
      "name": "get_request_files"
    },
    {
      "description": "Return GDEX staff contacts, optionally filtered to a specific dataset.\n\n    Args:\n        dsid: Optional dataset ID. If omitted, returns all staff.\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "default": "",
            "title": "Dsid",
            "type": "string"
          }
        },
        "title": "get_staffArguments",
        "type": "object"
      },
      "name": "get_staff"
    },
    {
      "description": "Check whether Analysis-Ready Cloud-Optimized (ARCO) data is available for a dataset.\n\n    For analysis tasks, call this (and check for a \"Kerchunk Reference Files\"\n    group via get_file_groups) before reaching for raw data files — reading\n    through ARCO/kerchunk references avoids downloading whole files just to\n    subset them. When picking among kerchunk reference variants, always use\n    the one with \"-osdf\" in its name (see get_arco_variables) — other\n    variants' chunk targets can be internal paths that only resolve on\n    NCAR's network. Open it with xr.open_dataset(url, engine=\"kerchunk\",\n    storage_options={\"remote_protocol\": \"https\", \"lazy\": True}) rather than\n    hand-building an fsspec reference filesystem.\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          }
        },
        "required": [
          "dsid"
        ],
        "title": "has_arcoArguments",
        "type": "object"
      },
      "name": "has_arco"
    },
    {
      "description": "List datasets available on GDEX, with their IDs and titles.\n\n    The full catalog has ~1700 datasets — far too many to return at once.\n    Always pass `query` to filter by keyword unless the user specifically\n    wants to browse the whole catalog page by page.\n\n    Args:\n        query: Keyword(s) to filter by, matched case-insensitively as a substring\n               against dataset id and title. Leave empty to browse unfiltered.\n        limit: Max number of datasets to return (default 50, capped at 500)\n        offset: Number of matching datasets to skip, for paging through results\n    ",
      "inputSchema": {
        "properties": {
          "limit": {
            "default": 50,
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "default": 0,
            "title": "Offset",
            "type": "integer"
          },
          "query": {
            "default": "",
            "title": "Query",
            "type": "string"
          }
        },
        "title": "list_datasetsArguments",
        "type": "object"
      },
      "name": "list_datasets"
    },
    {
      "description": "List all subsetting request statuses for the authenticated user. Requires GDEX_TOKEN.",
      "inputSchema": {
        "properties": {},
        "title": "list_request_statusesArguments",
        "type": "object"
      },
      "name": "list_request_statuses"
    },
    {
      "description": "Delete a subsetting request and its output files. Requires GDEX_TOKEN.\n\n    Args:\n        rindex: Request index/ID to purge\n    ",
      "inputSchema": {
        "properties": {
          "rindex": {
            "title": "Rindex",
            "type": "string"
          }
        },
        "required": [
          "rindex"
        ],
        "title": "purge_requestArguments",
        "type": "object"
      },
      "name": "purge_request"
    },
    {
      "description": "Search ARCO variables by name for a dataset.\n\n    As with get_arco_variables, a \"reference\" (kerchunk) match is often\n    listed once per variant — always pick the \"-osdf\" variant's URL (reachable\n    from anywhere), and open it with xr.open_dataset(url, engine=\"kerchunk\",\n    storage_options={\"remote_protocol\": \"https\", \"lazy\": True}). A \"zarr\"\n    match needs no variant picking — its URL already routes through the OSDF\n    director (rewritten automatically); open it directly with\n    xr.open_dataset(url, engine=\"zarr\").\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n        query: Search text to match against variable names\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          },
          "query": {
            "title": "Query",
            "type": "string"
          }
        },
        "required": [
          "dsid",
          "query"
        ],
        "title": "search_arco_variablesArguments",
        "type": "object"
      },
      "name": "search_arco_variables"
    },
    {
      "description": "Submit a subset request and poll its status until it finishes, fails, or\n    timeout_s elapses — instead of calling submit_subset_request and then\n    manually looping on check_request_status. Requires GDEX_TOKEN.\n\n    GDEX's API schema doesn't document the exact status vocabulary, so\n    \"finished\" is a best-effort match on the status text (words like\n    \"complete\" vs. \"error\"/\"fail\"). If the outcome comes back \"timeout\", that\n    means the request is still pending by our reading, not that it failed —\n    keep polling with check_request_status(rindex), or re-run this tool with\n    a longer timeout_s. If it comes back \"unknown\", the status payload didn't\n    contain a field we recognize; inspect the raw \"status\" value yourself.\n\n    Args:\n        request_json: JSON string of the subsetting request body (see get_control_file_template).\n        poll_interval_s: Seconds between status checks (default 15, minimum 5).\n        timeout_s: Give up and return the last-seen status after this many seconds (default 600).\n    ",
      "inputSchema": {
        "properties": {
          "poll_interval_s": {
            "default": 15,
            "title": "Poll Interval S",
            "type": "integer"
          },
          "request_json": {
            "title": "Request Json",
            "type": "string"
          },
          "timeout_s": {
            "default": 600,
            "title": "Timeout S",
            "type": "integer"
          }
        },
        "required": [
          "request_json"
        ],
        "title": "submit_and_wait_for_requestArguments",
        "type": "object"
      },
      "name": "submit_and_wait_for_request"
    },
    {
      "description": "Submit a data subset request to GDEX. Requires GDEX_TOKEN.\n\n    Args:\n        request_json: JSON string of the subsetting request body. Use get_control_file_template\n                      to get the expected structure for a dataset, or validate_subset_request\n                      to check it before submitting.\n    ",
      "inputSchema": {
        "properties": {
          "request_json": {
            "title": "Request Json",
            "type": "string"
          }
        },
        "required": [
          "request_json"
        ],
        "title": "submit_subset_requestArguments",
        "type": "object"
      },
      "name": "submit_subset_request"
    },
    {
      "description": "Check a subset request body against the dataset's control file template,\n    without submitting anything. Use this before submit_subset_request to catch\n    missing or unrecognized fields fast, instead of finding out from a failed\n    API call.\n\n    Args:\n        dsid: Dataset ID (dNNNNNN), e.g. d083002\n        request_json: JSON string of the subsetting request body to validate\n    ",
      "inputSchema": {
        "properties": {
          "dsid": {
            "title": "Dsid",
            "type": "string"
          },
          "request_json": {
            "title": "Request Json",
            "type": "string"
          }
        },
        "required": [
          "dsid",
          "request_json"
        ],
        "title": "validate_subset_requestArguments",
        "type": "object"
      },
      "name": "validate_subset_request"
    }
  ]
}

What the leaf hashes

{"body":"52a2b92367ff07b9ed46ebfb744628fc440c7f857b0c12010e469dcb0c289ff7","id":276708,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793041506789754,"prev":null,"subject":"51a61628-bcae-417f-a807-d8962036fd2c","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0xb52b0dc050a07e3471bd9b74ff8d8cb9d5acff0efdde90132f1216d8f9d7d40e
  2. 0x241cf0be2aa26d5dc8b92a8d84476b740244b59d82d4df6b8c369dce0e194737
  3. 0x74c65bbf6a9b6a19b6020ef1e487ab97a6f146fba72c3d79379a609612f2055f
  4. 0x677fa6ed3c48ad8c32f219df27bda121a31fbdb7a5d826db3cd6aa12a12d7881
  5. 0x5d4050e4400ceeac34a4a67e8f9ff42724a211127abc0cb17fa53169fdd42cf8
  6. 0x5381d7407b8d9a6777d71d3815508d4279bc87907baee46e0f0b08bb63402a39
  7. 0x65bb6edc9ff36f5a98c87eb923204f9ffaa7a9876896448774250ebf5cd49c9a
  8. 0x680fc8222609bd48afa303e42aa1562220a6e6e5d5ec9511132276beb203f8e7
  9. 0xe0c664b31303a6c7f8fbaa1bd9d8448f1bfdaffa28aa9e6c1388aac3eba89c11
  10. 0x29d8926a104518c165350885a541887278c9813fe33bc83e56dff05bb21358ce
  11. 0x0f199646652e20987f8f0e4e8bd21993538b0737cd758d5cbc6ebcaaa02763a3
  12. 0x7a0f1751de1946feff7d8c8afc737dcc4d35f110809c15aa0fdb8363a9e31b2b
  13. 0x0d86419ca1dd0b62fd8b22ea2e8c74d441312cec3116a467bea429b43e026565
  14. 0x083427e39db4dd470662401f6db5db8fadf084fc4274cf8621b368416952b78b
  15. 0x1a74ed3b3756b9cd946da49701bcec120ec88645013da99fa9eea60b39e1a570
  16. 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
  17. 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON