tnm_search_products
Pack: usgs-national-map · Endpoint: https://gateway.pipeworx.io/usgs-national-map/mcp
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/tnm_search_products for the schema, then POST the same URL with its arguments for the data.
Searches USGS The National Map for downloadable elevation, lidar, topo and land-cover products, each with a direct download URL.
Tool description as the model sees it
AUTHORITATIVE for US federal geospatial downloads: search USGS The National Map for downloadable products — elevation DEMs and lidar, topographic maps, hydrography, land cover, structures — by dataset, bounding box, format and date, and get a DIRECT DOWNLOAD URL, file size, footprint and publication date for each. PREFER OVER WEB SEARCH for “where can I download elevation/lidar/topo data for
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
datasets | string | no | Exact dataset title from tnm_datasets, e.g. “National Elevation Dataset (NED) 1 arc-second”. Comma-separate for several. |
bbox | string | no | Bounding box “xmin,ymin,xmax,ymax” in WGS84 decimal degrees — LONGITUDE FIRST, and both minima smaller than their maxima. |
polygon | string | no | Space-separated “lon lat” pairs defining a search polygon (alternative to bbox) |
prod_formats | string | no | Product format filter, e.g. “GeoTIFF”, “LAS,LAZ”, “GeoPDF” |
prod_extents | string | no | Product extent filter, e.g. “1 x 1 degree”, “7.5 x 7.5 minute” |
q | string | no | Free-text keyword search over product titles |
date_type | string | no | Which date start_date/end_date filter on: dateCreated | lastUpdated | Publication |
start_date | string | no | YYYY-MM-DD lower bound (needs date_type) |
end_date | string | no | YYYY-MM-DD upper bound (needs date_type) |
limit | number | no | Products per page, 1-${MAX_PER_PAGE} (default 20) |
offset | number | no | Row offset for paging through total |
Example call
Arguments
{
"datasets": "National Elevation Dataset (NED) 1 arc-second",
"bbox": "-105.3,39.6,-105.0,39.8",
"limit": 3
}
curl
curl -X POST https://gateway.pipeworx.io/usgs-national-map/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"tnm_search_products","arguments":{"datasets":"National Elevation Dataset (NED) 1 arc-second","bbox":"-105.3,39.6,-105.0,39.8","limit":3}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('tnm_search_products', {
"datasets": "National Elevation Dataset (NED) 1 arc-second",
"bbox": "-105.3,39.6,-105.0,39.8",
"limit": 3
});
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"usgs-national-map": {
"url": "https://gateway.pipeworx.io/usgs-national-map/mcp"
}
}
}
See Getting Started for client-specific install steps.