Receipts, mileage and expenses that turn into invoice lines. It logs an expense with its own currency and VAT split, records the receipt by path and sha256, and emits invoice lines that are not taxed twice.
Cursor is where a contractor's project directory already is, so "rebill Acme this month with 10% markup" maps onto the project you have open rather than a name you have to remember.
| You say | Tool |
|---|---|
| I paid 61.50 EUR at Media Markt for a USB hub, Acme project, billable. | expense_add |
| What did I spend this month, by category? | expense_summary |
| Give me the invoice lines to rebill Acme this month with 10% markup. | expense_to_invoice |
The EUR 61.50 receipt above stored as amount_minor 6150, vat_rate 23, and rebilled at a net unit_price of 50.00, so the invoice did not tax it twice.
The file is .cursor/mcp.json, and the key inside it is mcpServers.
| Scope | Path |
|---|---|
| This project only | <project>/.cursor/mcp.json |
| Every project | ~/.cursor/mcp.json |
{
"mcpServers": {
"expense-tracker": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-expense-tracker"]
}
}
}
The Customize page shows the server and its tools once it has started.
The npm publish of @theluckystrike/mcp-expense-tracker is pending; until then use the .mcpb bundle or a clone and build from the latest release.
The same server runs at https://mcp.zovo.one/mcp/expense-tracker over MCP streamable HTTP, no install. Mint a free token with curl https://mcp.zovo.one/mcp/token, or use a Pro key. It has no filesystem, so a file comes back as a one-hour download link.
{
"mcpServers": {
"expense-tracker": {
"url": "https://mcp.zovo.one/mcp/expense-tracker",
"headers": { "Authorization": "Bearer <token>" }
}
}
}
The current field table marks `type` as required, with `stdio` for a locally launched server, so write it out rather than relying on command and args alone. The other documented restriction is that `envFile` is stdio-only: a remote HTTP or SSE server does not read it, and its headers belong in the config.
Free: unlimited logging, 30 days of history, 3 projects, 5 rules, 200 CSV rows. Pro is $19 once, verified offline.
<project>/.cursor/mcp.json applies to that project and can be committed, which suits a server tied to one client. ~/.cursor/mcp.json applies everywhere. Both are managed from the Customize page.
The current field table marks type as required, with stdio for a locally launched server, so include it. Pointing at a remote endpoint, envFile is documented as stdio-only and is not read.
Servers in Cursor's marketplace get an Add to Cursor button. The deeplink reference currently documents prompt, command and rule links only, so for MCP Expense Tracker pasting the config block above is the supported route.
MCP Expense Tracker in detail · The same server in Claude Code and VS Code · Every server in Cursor · Guides · Cursor docs