USDA farmland values and county cash rents for AI agents. NASS data, 3 tools, free, no key.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
County cash rents in dollars per acre, from the USDA NASS annual Cash Rents survey — each row is one county (or an 'OTHER COUNTIES' aggregate) in one year, with the average rent in USD per acre and a utilization-practice category (the stored data currently carries the all-practices average). Use for what farmland rents for; use get_land_values instead for land values (what the land is worth), and list_coverage to check covered states, counties, and years. Read-only lookup of stored survey data; no API key. The survey is annual and the stored copy refreshes once a year after the August NASS release — the latest stored year is 2026. `state` takes a two-letter code (case-insensitive), `county` a county name exactly as stored (uppercase, e.g. 'HANCOCK'), and `year` a single survey year. Returns up to `limit` rows (default 1000), newest year first; a filter combination with no stored rows returns a no-data result rather than an empty list.
Survey year as an integer, e.g. 2026 (currently the only stored year — see list_coverage)
Max rows to return (default 1000, max 1000)
Two-letter state code, e.g. 'IA' (case-insensitive; stored uppercase)
County name exactly as stored (uppercase, e.g. 'HANCOCK'); some rows are 'OTHER COUNTIES' aggregates covering counties NASS does not publish individually
County cash rents in dollars per acre, from the USDA NASS annual Cash Rents survey — each row is one county (or an 'OTHER COUNTIES' aggregate) in one year, with the average rent in USD per acre and a utilization-practice category (the stored data currently carries the all-practices average). Use for what farmland rents for; use get_land_values instead for land values (what the land is worth), and list_coverage to check covered states, counties, and years. Read-only lookup of stored survey data; no API key. The survey is annual and the stored copy refreshes once a year after the August NASS release — the latest stored year is 2026. `state` takes a two-letter code (case-insensitive), `county` a county name exactly as stored (uppercase, e.g. 'HANCOCK'), and `year` a single survey year. Returns up to `limit` rows (default 1000), newest year first; a filter combination with no stored rows returns a no-data result rather than an empty list.
| Argument | Type | Description |
|---|---|---|
| year | number | Survey year as an integer, e.g. 2026 (currently the only stored year — see list_coverage) |
| limit | number | Max rows to return (default 1000, max 1000) |
| state | string | Two-letter state code, e.g. 'IA' (case-insensitive; stored uppercase) |
| county | string | County name exactly as stored (uppercase, e.g. 'HANCOCK'); some rows are 'OTHER COUNTIES' aggregates covering counties NASS does not publish individually |
{
"type": "object",
"required": [],
"properties": {
"year": {
"type": "number",
"description": "Survey year as an integer, e.g. 2026 (currently the only stored year — see list_coverage)"
},
"limit": {
"type": "number",
"default": 1000,
"description": "Max rows to return (default 1000, max 1000)"
},
"state": {
"type": "string",
"description": "Two-letter state code, e.g. 'IA' (case-insensitive; stored uppercase)"
},
"county": {
"type": "string",
"description": "County name exactly as stored (uppercase, e.g. 'HANCOCK'); some rows are 'OTHER COUNTIES' aggregates covering counties NASS does not publish individually"
}
}
}Average farmland values in dollars per acre by state, from the USDA NASS annual Land Values survey — each row is one state and year with its per-acre value (USD/acre) and a utilization-practice category (the stored data currently carries the all-practices average). Use for what farmland is worth; use get_cash_rents instead for what it costs to rent, and list_coverage to confirm which states and years are stored before querying. Read-only lookup of stored survey data; no API key. The survey is annual and the stored copy refreshes once a year after the August NASS release — the latest stored year is 2026. `state` takes a two-letter code (case-insensitive) and `year` a single survey year; land values are state-level, so county fields are empty and a `county` filter normally matches nothing. Returns up to `limit` rows (default 1000), newest year first; a filter combination with no stored rows returns a no-data result rather than an empty list.
| Argument | Type | Description |
|---|---|---|
| year | number | Survey year as an integer, e.g. 2026 (currently the only stored year — see list_coverage) |
| limit | number | Max rows to return (default 1000, max 1000) |
| state | string | Two-letter state code, e.g. 'IA' (case-insensitive; stored uppercase) |
| county | string | County name as stored (uppercase, e.g. 'HANCOCK'). Accepted for parity with the REST endpoint and get_cash_rents, but land values are state-level rows with no county, so this normally matches nothing |
Lists what the Farmland API actually holds: row counts and the year range for each dataset (land values and cash rents), the total number of distinct states and counties covered, and the state codes present in each dataset. Use before get_land_values or get_cash_rents to confirm a state or year is covered — the stored data is currently a single survey year, 2026 — or to size a query. Read-only; no API key. This mirrors the REST /v1/status summary and adds the per-dataset state lists. It takes no parameters.
No arguments.
{
"type": "object",
"properties": {}
}{
"type": "object",
"required": [],
"properties": {
"year": {
"type": "number",
"description": "Survey year as an integer, e.g. 2026 (currently the only stored year — see list_coverage)"
},
"limit": {
"type": "number",
"default": 1000,
"description": "Max rows to return (default 1000, max 1000)"
},
"state": {
"type": "string",
"description": "Two-letter state code, e.g. 'IA' (case-insensitive; stored uppercase)"
},
"county": {
"type": "string",
"description": "County name as stored (uppercase, e.g. 'HANCOCK'). Accepted for parity with the REST endpoint and get_cash_rents, but land values are state-level rows with no county, so this normally matches nothing"
}
}
}