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.
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:
| Region | Rate | Assumes |
|---|---|---|
| PL | 1.15 PLN/km | A car over 900 cm3. The limit is 0.89 PLN/km at or below that, with separate motorcycle and moped rates. |
| UK | 0.45 GBP/mile | A car, inside the first 10,000 business miles of the tax year. HMRC pays less above that, and different rates for motorcycles and bicycles. |
| US | 0.70 USD/mile | The IRS business standard rate for one calendar year. It is reissued annually and has changed mid-year. |
| EU | 0.30 EUR/km | A 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.
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.
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.
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.
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.
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.
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.
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.
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.
All MCP servers and prices · All guides · Buy the bundle $39