ISRIC SoilGrids MCP server providing global soil property data at 250m resolution for any coordinate on Earth — clay/sand/silt fractions, pH, organic carbon, nitrogen, bulk density, water content, and World Reference Base soil classification.
Three well-named tools with clear, domain-specific descriptions (150 - 250 chars each). All tools have complete input schemas with proper JSON Schema structure and type declarations. soil_properties and soil_classification accept numeric lat/lon with explicit range constraints; list_soil_properties has minimal params. Descriptions explain WHAT each tool does and note the external API may be slow. However, output schemas are not documented, LLMs cannot predict response structure for downstream chaining. Error handling is basic (generic error objects). No parameter validation guidance beyond description text. Missing: enum constraints for 'properties' array items and 'depth' string (currently free-form with validation only at runtime).
List the soil properties available from ISRIC SoilGrids with their names and available depth intervals. Use this to discover valid property codes for soil_properties. Keyless; may take several seconds to respond.
Get the World Reference Base (WRB) soil classification at a coordinate from ISRIC SoilGrids — the most probable soil class (e.g. Cambisols, Podzols) plus the top 5 classes with probabilities. Keyless; may take several seconds to respond.
Get soil property values at any coordinate from ISRIC SoilGrids (250m global grid) — clay/sand/silt %, pH, organic carbon, nitrogen, cation exchange, bulk density, water content. Values are returned in real units (scaled from raw map units). Keyless; the SoilGrids API may take several seconds to respond.
Output schemas not documented. LLMs cannot predict response structure (fields, types, nesting) for downstream tool chaining or data extraction.
'properties' parameter accepts free-form string array; should declare enum of valid codes (clay, sand, silt, phh2o, soc, nitrogen, cec, bdod, cfvo, ocd, wv0010, wv0033, wv1500) to prevent hallucinated values.
'depth' parameter accepts free-form string; should declare enum (0-5cm, 5-15cm, 15-30cm, 30-60cm, 60-100cm, 100-200cm) to prevent invalid values.
Error responses are generic objects with 'error' field. No recovery guidance (e.g., 'Try list_soil_properties() to discover valid codes'). LLMs cannot self-correct.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
No pagination support. list_soil_properties() may return unbounded results; should include limit/offset and total count.