New MCP tools:
- basis_movement: aggregated basis trend, one headline line per crop. The cheap
"how is basis moving overall" view; optional commodity/source/delivery/days.
- basis_detail: per-(elevator, crop, delivery) basis first→last drill-down.
Both do the aggregation MCP-side and return compact markdown to keep token
burn low, so a client can call the cheap aggregate first and drill in only when
needed.
Flexibility/parity changes:
- price_history: commodity is now optional (spans all crops); groups by
(source, commodity, delivery); surfaces basis first→last in the summary and
adds a futures column to the raw table.
- latest_prices: expose the `kind` filter (grain/fertilizer) that the API and
client already supported.
- client.history(): commodity optional.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>