What's due, and on what.
One list across everything you look after — the car, the truck, the mower, the boiler, the roof. Mileage between readings is projected from how far you actually drive, never stored, so the answer is never a stale cell in a spreadsheet.
Work that came due before you bought the thing is set apart rather than piled in. An inherited truck is a project, not this week's news.
- Overdue by 1,240 mi
Front Brakes
Frontier
- Due in 310 mi
Engine Oil & Filter
Frontier
- Inspection overdue
Tire Pressure
CX-5
- Every October
Annual Service
Boiler
It is opinionated about a handful of things.
Not only cars
A thing has a kind and a meter it measures itself in — miles on a car, hours on a mower, nothing at all on a roof. Anything without a meter comes due on the calendar instead.
The number moves on its own
Current mileage is derived from your last reading and how far you drive in a year, never stored. Between readings it is marked as an estimate, because it is one.
A season is not an interval
“Every October” stays in October. “Every twelve months” drifts a little further each time you are late, and five years on you are doing winter prep in March.
The shelf knows what it owes
Three filters is not the useful fact. Three, one of which the truck’s oil change takes next month, two spare — that is what tells you whether to buy more.
Parts, not guesses
What actually went in, with the brand, the part number and what it cost. A part it does not recognize is added and reported back with whatever it resembles, so a typo surfaces as a question.
Four ways in
The MCP server, a web app, a REST API and a CLI. Everything ships to all four together, so none of them is the poor relation.
And a terminal, obviously.
The CLI is generated from the same OpenAPI spec the web app is built against, so the two can never disagree about what is overdue.
$ dipstick due
Frontier ~169,890 mi · est.
overdueFront Brakes1,240 mi ago
soonEngine Oil & Filterin 310 mi
Boiler no meter
inspectAnnual Serviceevery October