@pipeworx/usda-soil

Connect: https://gateway.pipeworx.io/usda-soil/mcp · Install: one-click buttons

No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.

Tools: 3

USDA-NRCS Soil Data Access over SSURGO — the detailed US soil survey, mapped by field crews at 1:12,000-1:63,360 and republished annually. Soil at a point, the named soil series inside a map unit with their properties and horizons, and arbitrary SQL over the full survey schema.

Tools

  • usda_soil_mapunit_at_point(lat, lon) — map unit key, symbol, official name, acreage, farmland class, survey area and its publication date.
  • usda_soil_components(mukey, include_horizons?) — the soil series in a map unit with percentage, taxonomy, drainage class, slope range, hydrologic group, land capability class and hydric rating; optionally the depth horizons with sand/silt/clay, organic matter, pH, available water capacity and Ksat.
  • usda_soil_query(sql) — read-only SELECT over the SSURGO schema.

Auth

Keyless.

Not the same as soilgrids

soilgrids is ISRIC’s 250 m machine-learning prediction for the whole globe. This is the surveyed US ground truth: named series, official taxonomy, interpretation ratings — and it covers only the United States and its territories. Use soilgrids outside the US, or where a modelled continuous surface is wanted instead of a mapped polygon.

Data sources

Traps this pack absorbs:

  • It is SQL Server. TOP n, not LIMIT n.
  • JSON+COLUMNNAME returns an array of arrays, not objectsTable[0] is the column-name row. runSql zips them into objects.
  • Errors come back as OGC XML with a 400, and the first 300 characters are entirely XML-namespace boilerplate, so slicing the raw body hides the one sentence that names the problem. summarizeErrorBody from @pipeworx/shared unwraps the <ServiceException>; a bad column now reads USDA Soil Data Access: 400 Invalid query: Invalid column name 'nosuchcolumn'. (from the upstream's XML error document).
  • A valid SELECT that matches nothing returns an empty Table, not an errorusda_soil_query says so explicitly rather than presenting an empty result as a finding.
  • Column locations are not where you would guess. saverest (survey area publication date) is on sacatalog, not legend. farmlndcl is on mapunit, not component. Land capability on component is nirrcapcl/nirrcapscl.
  • Point geometry goes through SDA_Get_Mukey_from_intersection_with_WktWgs84 with WKT point(lon lat) — longitude first.

Tools

  • usda_soil_mapunit_at_point — The USDA-NRCS SSURGO soil map unit at one latitude/longitude in the United States — map unit key (mukey), symbol, the official map unit name (“Terril-Urban land complex, 2 to 5 percent slopes”), its a
  • usda_soil_components — The soil components inside one USDA SSURGO map unit — each named soil series with its percentage of the unit, official taxonomic class, drainage class, slope range, hydrologic soil group, land capabil
  • usda_soil_query — Run a read-only SQL SELECT against the USDA-NRCS Soil Data Access database (SSURGO) — the full US soil survey schema: legend, mapunit, component, chorizon, cointerp, plus the SDA_ spatial helper funct

Tools

  • usda_soil_components — The soil components inside one USDA SSURGO map unit — each named soil series with its percentage of the unit, official taxonomic class, drainage class, slope range, hydrologic soil group, land capabil
  • usda_soil_mapunit_at_point — The USDA-NRCS SSURGO soil map unit at one latitude/longitude in the United States — map unit key (mukey), symbol, the official map unit name ( Terril-Urban land complex, 2 to 5 percent slopes ), its a
  • usda_soil_query — Run a read-only SQL SELECT against the USDA-NRCS Soil Data Access database (SSURGO) — the full US soil survey schema: legend, mapunit, component, chorizon, cointerp, plus the SDA_ spatial helper funct

Regenerated from source · build September 18, 2026