Buyer problem: you drive for work and you want the mileage deduction. The log that makes it usable is reconstructed from memory in April, and it is missing half the trips. A few US agencies have mileage allowances set by the year, and the practical versions of "your one rate" are fine, but what most freelancers need is simply: log the drive when it happens, price it with the right rate, and hand the accountant something that adds up. This server does that.
trip_add logs one drive: the date, where from and to, the distance in miles or km, the
purpose and the category (business, medical, moving, charitable, personal), returning a
TR-YYYY-NNNN id, with a future date refused. rate_set records what one mile or
km is worth for one category in one jurisdiction from a date forward, an effective-dated series rather
than one global number, and each trip earns the rate in force on the day it was driven, rounded half-up
to the cent.
Distances in miles and in km are kept apart and never added together; a trip whose unit differs from
the rate's is converted first, 1 mile = 1.609344 km exactly. mileage_summary prices a date
range per category with totals per currency, and trips with no applicable rate are listed with the
reason, never silently dropped. mileage_export is the CSV for the accountant, refusing while
any non-personal trip in the window is unpriced, so you cannot hand over a CSV that has holes.
No rate ships with the server and none of it is tax advice: you set the rates your jurisdiction allows.
One click, no JSON. Download mileage-log.mcpb from the
latest release and open it in Claude Desktop. It runs on the
Node runtime Claude Desktop ships with, so your own PATH and node version never come into it.
Or a URL, with nothing installed. /mcp/connect mints a free anonymous token and prints the ready line:
claude mcp add --transport http mileage-log https://mcp.zovo.one/mcp/mileage-log/t/<token>
Or from a clone, for a client with no bundle installer. Build once, then point the client at the built file:
git clone https://github.com/theluckystrike/mcp-servers.git
cd mcp-servers && npm install
npm run build -w packages/mcp-license -w servers/mileage-log
claude mcp add --scope user mileage-log -- node /absolute/path/to/mcp-servers/servers/mileage-log/dist/index.js
Claude Desktop, Cursor, Windsurf and Cline take the same two strings as JSON, in
claude_desktop_config.json or the client's own MCP config file:
{
"mcpServers": {
"mileage-log": {
"command": "node",
"args": ["/absolute/path/to/mcp-servers/servers/mileage-log/dist/index.js"]
}
}
}
The npm packages are not published yet, so the npx form below returns a 404 today. It is
kept because it is what that config becomes the day the publish lands, with nothing else changed;
installing these servers when npx does not work yet
has the whole picture.
claude mcp add mileage-log -- npx -y @theluckystrike/mcp-mileage-log
Whichever path you take, there is no account, no API key and no login step. It writes to
~/.local/share/mcp-servers/mileage-log/.
These are the sentences you type:
Set a rate. "Set the US federal business rate at 0.70 a mile from 2026-01-01." An effective-dated series, not a global number.
Log a drive. "Log yesterday: home office to the client site, 12.5 miles, the Kowalski site visit." The purpose becomes the category the trip belongs to.
Summarize. "Summarize this year." Priced per category by the rate in force on each trip's date.
Export. "Export this year as CSV for my accountant." Refuses while any non-personal trip is unpriced.
Reconstructing a year of drives from memory is the failure mode. This server logs the drive at the moment, prices it by the rate that was in force on that day, and keeps miles and kilometres apart, so the CSV you hand over is priced and complete rather than a best guess. The effective-dated rate series is the part a manual spreadsheet does not give you: the rate for a trip is the one that applied that day, not the one you happened to type last.
There is no direct MCP competitor: an npm registry probe for mileage-log, mileage-logbook, mileage tracker, mileage and tax-deduction mileage found no other server that holds a trip log with effective-dated rates and a priced export.
Twenty trips per calendar month, counted on the month of the trip date, so reconstructing last year's log does not consume this month's allowance. The list and the summary are never metered, and one rate per jurisdiction and category is free, overwriting included.
Pro ($19 once, lifetime) opens unlimited trips, the year-over-year rate series, and the CSV export for the accountant. The full comparison is in free versus Pro. Product page: MCP Mileage Log. There are 41 of these MCP servers in total; one lifetime key covering all of them, this one included, is $39.
Claude.ai, the Claude Desktop connector dialog and several IDE pickers take a remote URL and nothing
else. mcp/connect mints a token and prints a ready-to-paste URL for every
hosted server, including this one at https://mcp.zovo.one/mcp/mileage-log.
MCP Mileage Log logs each trip with date, route, distance, purpose and category, prices it by the effective-dated rate in force on that day, and exports a CSV for the accountant. Twenty trips a month with one rate per category are free; Pro is $19 once for unlimited trips and the priced export.
rate_set records what one mile or km is worth for one category in one jurisdiction from a date forward, so a trip earns the rate in force on the day it was driven. Distances in miles and km are kept apart and never added together.
Yes, if every trip is priced. mileage_export refuses while any non-personal trip in the window is unpriced, so you cannot hand over a CSV that has holes.
Yes. https://mcp.zovo.one/mcp/mileage-log answers over streamable HTTP. mcp/connect mints a free anonymous token and prints the ready URL.
All MCP servers and prices · All guides · Buy the bundle $39