Server definition
- Hash
- sha256:98c95e57825834071799cd516b65fc697bfa0c518f59db09278d8a74a927d1ff
- What it is
- What a remote MCP server returned when asked what it offers: 30 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "check_request_statusOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "describe_datasetOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "find_dataset_filesOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_arco_variablesOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_control_file_templateOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_data_accessOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_dataset_fieldOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_dataset_filesOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_dataset_metadataOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_dataset_metricsOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_file_groupsOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_filesearch_cyclone_fix_filesOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_filesearch_cyclone_fix_filtersOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_filesearch_datatypesOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_filesearch_grid_filesOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_filesearch_grid_filtersOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_filesearch_result_pageOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_filesearch_sensor_filesOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_filesearch_sensor_filtersOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_portal_metricsOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_request_filesOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_staffOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "has_arcoOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "list_datasetsOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "list_request_statusesOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "purge_requestOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "search_arco_variablesOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "submit_and_wait_for_requestOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "submit_subset_requestOutput",
"type": "object"
}
},
{
"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",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "validate_subset_requestOutput",
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:98c95e57825834071799cd516b65fc697bfa0c518f59db09278d8a74a927d1ff | sha256sum