Popular servers: Spreadsheet · Expense Tracker — Log Expenses from Claude · Recurring Invoices · Word Document Server — Create .docx from Claude · Server for Bill of Sale — Draft and Sign from Claude · Zip · Job Card
The freelance billing stack is usually three subscriptions: a time tracker, an invoicing tool, and whatever exports between them. All three do one simple job each - which is exactly what local MCP servers replace. The loop: MCP Time Tracker records the hours, MCP Invoice turns them into a numbered invoice, and the PDF comes out of the same chat.
"Start a timer for Acme, API refactor" starts one. Forgot to start it? "Log 2.5 hours yesterday for Acme, design review, at 90 euros an hour" writes a complete entry with rate and currency. At week's end: "hours for Acme this week, grouped by task" returns totals in hours and money.
"Give me invoice lines for Acme in August, then issue the invoice" produces one line per task with hours, rate and amount, advances the invoice sequence once, and keeps the numbering consistent across months and clients. Add the client's terms and the PDF is generated in the same step. The full sequence detail is in invoice numbering from chat.
One click, with no JSON. Download invoice.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 invoice https://mcp.zovo.one/mcp/invoice/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/invoice
claude mcp add --scope user invoice -- node /absolute/path/to/mcp-servers/servers/invoice/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": {
"invoice": {
"command": "node",
"args": ["/absolute/path/to/mcp-servers/servers/invoice/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 invoice -- npx -y @theluckystrike/mcp-invoice
The time tracker installs the same way (install("time-tracker") equivalent in the
setup page). Both run locally over stdio; data lives under your home directory. Free tier covers
real usage; Pro is a one-time payment per server or included in the
bundle.
No per-seat fee, no data leaving the machine, and the audit trail is the chat itself. For the expense side - receipts, rebilling client costs - see expense tracking in Claude.
No. The invoice server alone does lines-to-PDF. The time tracker only matters if you want the timer and weekly reports feeding those lines.
No. The free tier covers core usage; Pro is a one-time payment per server, or one payment for the bundle.
On your machine, in plain JSON files under your home directory. Nothing is uploaded.
All MCP servers and prices · All guides · Buy the bundle $39
Servers used in this guide: MCP Time Tracking Server — Free, No Install · MCP Server for Invoices — Generate Invoices from Claude