Home · Guides

A mileage log you will actually keep

Log 84 km to the Krakow site visit yesterday for Acme, billable.

Paste this into Claude with the server connected.

That is mileage_add on the expense tracker. It prices the trip from a rate table and writes it as an expense with a project and a billable flag, so it flows into the same summaries and the same rebill as everything else you spent.

Read the rate it used

Every reply names the rate and repeats a caveat, in this form:

(table rate PL 1.15 PLN/km, an approximation; pass rate_per_km for your exact scheme)

That is deliberate. The bundled table holds one flat rate per region and each row states what it assumes:

RegionRateAssumes
PL1.15 PLN/kmA car over 900 cm3. The limit is 0.89 PLN/km at or below that, with separate motorcycle and moped rates.
UK0.45 GBP/mileA car, inside the first 10,000 business miles of the tax year. HMRC pays less above that, and different rates for motorcycles and bicycles.
US0.70 USD/mileThe IRS business standard rate for one calendar year. It is reissued annually and has changed mid-year.
EU0.30 EUR/kmA generic per-kilometre allowance. There is no single EU rate; each member state sets its own.

There are no year, vehicle or threshold tables behind those numbers, and that is a design decision stated in the server's own README: a table that looks authoritative and is a year stale is worse than one that says what it is.

Claim your real rate

Log 84 km for Acme at 0.89 PLN per km.

Paste this into Claude with the server connected.

rate_per_km overrides the table for the unit you passed, which is the supported way to claim an engine class, a mid-year rate, or the band above 10,000 miles. With no region, miles take the US rate and kilometres the EU rate.

One refusal that saves real money

currency is accepted only together with rate_per_km. Relabelling a table rate of PLN 1.15 per km as EUR 1.15 per km converts nothing and books roughly four times the real cost, so that call is refused rather than answered. Money is round(distance * rate) in the rate's own currency, and currencies are never added together in a summary.

Getting it onto an invoice

A billable mileage line is picked up by expense_to_invoice along with everything else billable on that project, as invoice_create line items, grouped per currency because one invoice carries one currency. That call marks nothing as rebilled. Create the invoice, then call expense_mark_rebilled with the invoice number, which is required. The two-step exists so a preview can never quietly close out expenses against an invoice that was not issued.

Free tier

Logging expenses, mileage and receipts is unlimited on both tiers. The free limits are on reading back: list and summary cover the last 30 days, 3 projects, 5 merchant rules, CSV export up to 200 rows and never a partial file. expense_to_invoice handles 20 items at a time on free, markup included. From data/facts.json and servers/expense-tracker/README.md.

Questions

Does it track the route or the odometer?

Neither. You say the distance. There is no GPS, no map lookup and no network call anywhere in this server, which is why it can run with the network off entirely.

Can I log a round trip?

Say the total distance. There is no outbound and return concept, because for the claim it makes no difference. What does matter is logging it the same day: the free read window is 30 days, and a trip you never wrote down is not recoverable from anything the server holds.

How do I separate a personal detour?

Log only the business distance. The server records what you tell it and does not audit it. If you need the working shown, put it in the description field, which is free text and survives into the CSV export.

What about per diems for the same trip?

That is a different server. per-diem prices the daily subsistence allowance on the Polish delegation regulation, the HMRC benchmark scale rates or the US GSA CONUS standard, with the partial-day rule and meal deductions shown next to the figure. Rate lookups and calculations are unlimited on every tier there, deliberately, because the tables are public regulation.

Related

All MCP servers and prices · All guides · Buy the bundle $39