usda_soil_components
Pack: usda-soil · Endpoint: https://gateway.pipeworx.io/usda-soil/mcp
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/usda_soil_components for the schema, then POST the same URL with its arguments for the data.
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 capability class and runoff potential. Answers “what soil series is this and how does it drain/behave”. Keyless. Get the mukey from usda_soil_mapunit_at_point.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
mukey | string | yes | SSURGO map unit key, e.g. “412898”. From usda_soil_mapunit_at_point. |
include_horizons | boolean | no | Also return the soil horizons (depth layers) for each component with sand/silt/clay percentages, organic matter, pH and available water capacity. Default false. |
Example call
Arguments
{
"mukey": "412898",
"include_horizons": true
}
curl
curl -X POST https://gateway.pipeworx.io/usda-soil/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"usda_soil_components","arguments":{"mukey":"412898","include_horizons":true}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('usda_soil_components', {
"mukey": "412898",
"include_horizons": true
});
More examples
{
"mukey": "412898"
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"usda-soil": {
"url": "https://gateway.pipeworx.io/usda-soil/mcp"
}
}
}
See Getting Started for client-specific install steps.