{
  "markdown": "# MCP servers by theluckystrike\n\n<!-- gen:badge -->\n![License](https://img.shields.io/badge/license-MIT-blue)\n![MCP Registry](https://img.shields.io/badge/MCP%20registry-listed-brightgreen)\n![Release](https://img.shields.io/badge/release-v0.21.0-informational)\n<!-- /gen:badge -->\n\nPractical Model Context Protocol servers for people who work inside Claude, Cursor and other MCP clients.\nEvery server runs locally over stdio, keeps all data on your machine, and has a genuinely useful free tier.\nPro unlocks the limits for a one-time payment: $19 per server or $39 for the bundle, lifetime.\n\n<!-- gen:counts -->\n31 servers plus the office-suite aggregator, 30 of them also reachable as a hosted endpoint with no install.\n<!-- /gen:counts -->\n\n<!-- gen:install -->\nInstall any server by downloading its `.mcpb` bundle from the\n[latest release](https://github.com/theluckystrike/mcp-servers/releases/latest) and opening it in Claude Desktop. That is one double-click, no terminal.\n\nThe npm packages are **not published yet**, so `npx -y @theluckystrike/mcp-<name>` returns 404. Do not use it, and\ndo not recommend it. The two paths that work today are the `.mcpb` bundle above and the hosted endpoints at\n`https://mcp.zovo.one/mcp/<server>`, which need no install at all.\n<!-- /gen:install -->\n\n<!-- gen:table -->\n| Server | Demo | What it does | One-click bundle |\n|---|---|---|---|\n| [mcp-amortization](servers/amortization/README.md) | ![amortization](assets/demo-amortization.gif) | Loan and lease schedules from the terms of the agreement, to the minor unit. | `amortization.mcpb` |\n| [mcp-asset-register](servers/asset-register/README.md) | ![asset-register](assets/demo-asset-register.gif) | A fixed asset register that depreciates on the rates the tax authorities actually publish, with the schedule, the journal and the gain on sale. | `asset-register.mcpb` |\n| [mcp-bank-statement](servers/bank-statement/README.md) | ![bank-statement](assets/demo-bank-statement.gif) | Bank CSV exports categorised, summarised and reconciled with expenses. | `bank-statement.mcpb` |\n| [mcp-barcode](servers/barcode/README.md) | ![barcode](assets/demo-barcode.gif) | QR codes and barcodes drawn on your machine, with no upload and no network call. | `barcode.mcpb` |\n| [mcp-billing-docs](servers/billing-docs/README.md) | ![billing-docs](assets/demo-billing-docs.gif) | Credit notes and purchase orders, on the same engine as your invoices. | `billing-docs.mcpb` |\n| [mcp-calendar](servers/calendar/README.md) | ![calendar](assets/demo-calendar.gif) | Read .ics calendars: events, free and busy, conflicts, exports. | `calendar.mcpb` |\n| [mcp-cash-book](servers/cash-book/README.md) | ![cash-book](assets/demo-cash-book.gif) | One double-entry ledger derived from the books you already keep, proved to the minor unit. | `cash-book.mcpb` |\n| [mcp-catalogue](servers/catalogue/README.md) | ![catalogue](assets/demo-catalogue.gif) | One price list and one rate card, kept where the invoice and the quote can both read them. | `catalogue.mcpb` |\n| [mcp-change-order](servers/change-order/README.md) | ![change-order](assets/demo-change-order.gif) | Change orders against a quote or a work order, with the running contract value derived from what the client approved. | `change-order.mcpb` |\n| [mcp-clauses](servers/clauses/README.md) | ![clauses](assets/demo-clauses.gif) | Reusable contract clauses, searched and assembled into Word. | `clauses.mcpb` |\n| [mcp-currency](servers/currency/README.md) | ![currency](assets/demo-currency.gif) | ECB reference rates: convert, history, and fx_rates for rebilling. | `currency.mcpb` |\n| [mcp-delivery-schedule](servers/delivery-schedule/README.md) | ![delivery-schedule](assets/demo-delivery-schedule.gif) | Dated deliverables against a quote or a work order, and what is late as at any date you name. | `delivery-schedule.mcpb` |\n| [mcp-deposits](servers/deposits/README.md) | ![deposits](assets/demo-deposits.gif) | Security and retainer deposits, held per client, on the same engine as your invoices. | `deposits.mcpb` |\n| [mcp-docx](servers/docx/README.md) | ![docx](assets/demo-docx.gif) | Real Word documents from chat: proposals, contracts, quotes. | `docx.mcpb` |\n| [mcp-expense-tracker](servers/expense-tracker/README.md) | ![expense-tracker](assets/demo-expense-tracker.gif) | Receipts, mileage and expenses that turn into invoice lines. | `expense-tracker.mcpb` |\n| [mcp-image](servers/image/README.md) | ![image](assets/demo-image.gif) | Resize, convert, compress and watermark images, pure JavaScript. | `image.mcpb` |\n| [mcp-invoice](servers/invoice/README.md) | ![invoice](assets/demo-invoice.gif) | Numbered invoices with tax lines, rendered to a professional PDF. | `invoice.mcpb` |\n| [mcp-kanban](servers/kanban/README.md) | ![kanban](assets/demo-kanban.gif) | A task board per project that hands off to the time tracker. | `kanban.mcpb` |\n| [mcp-pdf](servers/pdf/README.md) | ![pdf](assets/demo-pdf.gif) | Merge, split, stamp and read PDFs, pure JavaScript. | `pdf.mcpb` |\n| [mcp-per-diem](servers/per-diem/README.md) | ![per-diem](assets/demo-per-diem.gif) | Statutory travel allowances on the rate tables the tax authorities publish, and the trips you priced with them. | `per-diem.mcpb` |\n| [mcp-petty-cash](servers/petty-cash/README.md) | ![petty-cash](assets/demo-petty-cash.gif) | A petty cash float on the imprest system, reconciled to the minor unit. | `petty-cash.mcpb` |\n| [mcp-price-tracker](servers/price-tracker/README.md) | ![price-tracker](assets/demo-price-tracker.gif) | Check and watch product prices on ordinary shop pages. | `price-tracker.mcpb` |\n| [mcp-quotes](servers/quotes/README.md) | ![quotes](assets/demo-quotes.gif) | Priced, VAT-correct quotes from chat, and the yes turns into an invoice. | `quotes.mcpb` |\n| [mcp-recurring](servers/recurring/README.md) | ![recurring](assets/demo-recurring.gif) | Scheduled invoices, generated into your invoice book with PDFs. | `recurring.mcpb` |\n| [mcp-resume](servers/resume/README.md) | ![resume](assets/demo-resume.gif) | Resumes and cover letters as Word files from one profile, never invented. | `resume.mcpb` |\n| [mcp-spreadsheet](servers/spreadsheet/README.md) | ![spreadsheet](assets/demo-spreadsheet.gif) | Read, query, edit and convert xlsx and csv files safely. | `spreadsheet.mcpb` |\n| [mcp-statement-of-account](servers/statement-of-account/README.md) | ![statement-of-account](assets/demo-statement-of-account.gif) | The one document that answers what a client actually owes you, aged as at any date, with the chaser drafted. | `statement-of-account.mcpb` |\n| [mcp-time-tracker](servers/time-tracker/README.md) | ![time-tracker](assets/demo-time-tracker.gif) | Track billable time without leaving the chat. | `time-tracker.mcpb` |\n| [mcp-timezone](servers/timezone/README.md) | ![timezone](assets/demo-timezone.gif) | Find meeting slots inside everyone's working hours. | `timezone.mcpb` |\n| [mcp-work-order](servers/work-order/README.md) | ![work-order](assets/demo-work-order.gif) | Job orders for trades and field work, priced the way the invoice will be. | `work-order.mcpb` |\n| [mcp-zip](servers/zip/README.md) | ![zip](assets/demo-zip.gif) | Make a zip, look inside one, and unpack one, entirely on your machine. | `zip.mcpb` |\n| [mcp-office-suite](servers/office-suite/README.md) | ![office-suite](assets/demo-office-suite.gif) | One install that exposes every tool of all 31 servers, 292 of them. | `office-suite.mcpb` |\n<!-- /gen:table -->\n\nOr clone and build: `git clone https://github.com/theluckystrike/mcp-servers.git && cd mcp-servers`,\n`npm install`, `npm run build`. Each server's README has the full 60-second install with every client config.\n\nBuy Pro: https://mcp.zovo.one  (keys verify offline with Ed25519; no phone-home).\n\n## Hosted endpoints (no install)\n\nThirty of the servers are also live behind streamable HTTP, for clients that connect to a URL instead of\nspawning a local process:\n\n- Base URL: `https://mcp.zovo.one/mcp` -- `GET` returns an index of the endpoints; each server is\n  `https://mcp.zovo.one/mcp/<server>` (time-tracker, price-tracker, spreadsheet, invoice, expense-tracker,\n  currency, docx, timezone).\n- Auth: `Authorization: Bearer <token>`. `GET https://mcp.zovo.one/mcp/token` mints a free anonymous token\n  (`anon_<32 hex>`, 30-day KV TTL, refreshed on every request); a Pro license key (`MCPL1....`) works the same\n  way and lifts the free-tier limits.\n- `spreadsheet` runs in inline-data mode remotely, since a hosted worker has no disk to read a path from:\n  `sheet_load {name, csv}` or `sheet_load {name, xlsx_base64}` loads the data into the request's virtual\n  filesystem first, then `sheet_query`, `sheet_stats`, `sheet_add_column` and `sheet_convert` work on it as\n  usual. The stdio install is still the answer for files that live on your own disk.\n- `currency` shares one ECB rate cache across every tenant instead of paying for it per token: the daily and\n  historical rate files are hydrated read-only from `shared:ecb:daily` / `shared:ecb:history` and never\n  written into any tenant's document, so the endpoint keeps no per-token state at all.\n- `docx` accepts an upload the same way spreadsheet accepts inline data (`doc_upload` replaces a file path),\n  and every generated `.docx` comes back as the real binary Word file behind a download link, not HTML.\n- Anything else a tool would normally write to a file (an invoice PDF, a CSV export, a converted spreadsheet,\n  an .ics invite) comes back as a download link, `https://mcp.zovo.one/mcp/download/<token>`, valid for one\n  hour; invoices render as an HTML document rather than a PDF on this path.\n- office-suite is not hosted: it is a stdio proxy that spawns the other eight as local child processes, which\n  has no meaning on a remote worker. Install it locally to get all eight in one config line instead.\n\n## Registry names\n\nThe MCP registry listing for these servers uses word-rich names instead of the plain directory\nname, for example `time-tracker-timesheet-billable-hours` instead of `time-tracker`, or\n`office-suite-time-invoice-expense-excel-price` instead of `office-suite`: every extra token is a word the\nserver's own tool descriptions already use, and registry search matches on whole words, so a name built only\nfrom `time-tracker` was invisible to a search for \"timesheet\" or \"billable hours\". The full list, read from\neach server's `server.mcpb.json`:\n\n| Server | Registry name |\n|---|---|\n| time-tracker | `io.github.theluckystrike/time-tracker-timesheet-billable-hours` |\n| price-tracker | `io.github.theluckystrike/price-tracker-drop-alert-watch` |\n| spreadsheet | `io.github.theluckystrike/excel-spreadsheet-xlsx-csv` |\n| invoice | `io.github.theluckystrike/invoice-pdf-billing-generator` |\n| expense-tracker | `io.github.theluckystrike/expense-tracker-receipts-mileage` |\n| currency | `io.github.theluckystrike/currency-converter-ecb-rates-daily-keyless` |\n| docx | `io.github.theluckystrike/docx-document-generator-proposal-contract-markdown` |\n| timezone | `io.github.theluckystrike/timezone-world-clock-meeting-slots-overlap-ics` |\n| office-suite | `io.github.theluckystrike/office-suite-time-invoice-expense-excel-price` |\n\nThe old short names are deprecated on the registry; npm package names, directory names and checkout URLs are\nunchanged.\n\n## Why these servers\n\nThe median MCP server on the public registry gets installed and never called again. Looking at what actually gets\nused, two things separate the servers people keep: a config snippet that works on the first try, and a visible\ndemo of the tool actually answering a real prompt before anyone installs it. Both of those are cheap to provide and\nmost servers skip them -- READMEs bury the config three scroll-lengths down, or show no output at all. These servers\nwere picked because they replace a task people already do in a spreadsheet, a SaaS dashboard or a browser\ntab (tracking time, watching a price, editing a sheet, cutting an invoice, logging a receipt, converting a\ncurrency, drafting a Word document, finding a meeting slot across time zones) with one that runs\nentirely on-device: no account, no telemetry, no server-side data at rest (the hosted endpoints are the one\nexception, and they say plainly what they keep and for how long). office-suite exists because the most-used\nserver in this category, measured across the registry, is an aggregator: one install beats thirty-one.\n\n## Guides\n\n- [Track time in Claude Code](https://mcp.zovo.one/guides/track-time-in-claude-code)\n- [Invoice PDF from chat](https://mcp.zovo.one/guides/invoice-pdf-from-chat)\n- [Read Excel in Cursor](https://mcp.zovo.one/guides/read-excel-in-cursor)\n- [Price drop alerts with Claude](https://mcp.zovo.one/guides/price-drop-alerts-with-claude)\n- [Expense tracking in Claude](https://mcp.zovo.one/guides/expense-tracking-in-claude)\n- [MCP server free vs pro](https://mcp.zovo.one/guides/mcp-server-free-vs-pro)\n- [Currency conversion, ECB rates, in Claude](https://mcp.zovo.one/guides/currency-conversion-ecb-rates-in-claude)\n- [Word documents and proposals from chat](https://mcp.zovo.one/guides/word-documents-proposals-from-chat)\n- [Meeting slots across time zones](https://mcp.zovo.one/guides/meeting-slots-across-time-zones)\n\nAlso live: [54 client-by-server setup pages](https://mcp.zovo.one/setup) (six clients: Claude Desktop, Claude\nCode, Cursor, VS Code, Windsurf, Cline, times every server) and [8 head-to-head compare pages](https://mcp.zovo.one/compare)\nagainst named competitor MCP servers, sourced from each competitor's own README, GitHub metadata or npm/registry\nrecord.\n\n## Validation\n\nBefore anything ships: 1,507 unit tests across the servers and the shared license package (protocol smoke\ntests over real stdio, plus adversarial cases: bad input, oversized strings, path traversal, concurrent\nwriters, zero-byte files), a 951-check live validation database run against the built servers and the hosted\nworker (`data/validation.json`, run 50), seven rounds of user-value testing through a real MCP client (one\nprompt per conversation, not a unit test; round 7 is cross-server, chaining calls across the whole\noffice-suite bundle), and four rounds of independent Codex model review of the core build plus two more of the\nremote hosted worker. Details: [docs/AUDIT.md](docs/AUDIT.md), [docs/CURRENCY_AUDIT.md](docs/CURRENCY_AUDIT.md),\n[docs/DOCX_AUDIT.md](docs/DOCX_AUDIT.md), [docs/EXPENSE_AUDIT.md](docs/EXPENSE_AUDIT.md),\n[docs/TIMEZONE_AUDIT.md](docs/TIMEZONE_AUDIT.md), [docs/USER_VALUE.md](docs/USER_VALUE.md) through\n[docs/USER_VALUE_R7.md](docs/USER_VALUE_R7.md), [docs/CODEX_REVIEW.md](docs/CODEX_REVIEW.md) through\n[docs/CODEX_REVIEW_V4.md](docs/CODEX_REVIEW_V4.md), [docs/CODEX_REVIEW_REMOTE.md](docs/CODEX_REVIEW_REMOTE.md),\n[docs/CODEX_REVIEW_REMOTE_V2.md](docs/CODEX_REVIEW_REMOTE_V2.md), [docs/REMOTE_RESULT.md](docs/REMOTE_RESULT.md).\n\n## npm status\n\nNone of the packages are on npm yet. The account has never published, and the remaining step needs a person to run\n`npm login --auth-type=web` (see\n[docs/NPM_AUTH_RESULT.md](docs/NPM_AUTH_RESULT.md)). The working install paths today are the `.mcpb` one-click\nbundle from the [latest release](https://github.com/theluckystrike/mcp-servers/releases/latest), a clone and\nbuild from source, or the hosted endpoints above -- no local install at all. The `npx` lines in this README and\nin each server's own README start working the moment npm publish succeeds; nothing else about them changes.\n\n## Human-gated surfaces\n\nA few distribution surfaces cannot be finished by an agent and are waiting on one human step:\n\n- **npm** -- publish token is dead; needs `npm login --auth-type=web` once, in a browser, from this account.\n- **Smithery** -- CLI and REST are otherwise fully scriptable with a bearer key, but getting that key needs one\n  browser login: `npx -y @smithery/cli auth login`, then open the printed `smithery.ai/auth/cli?s=<session>`\n  URL. `smithery.yaml` is already validated against the CLI schema.\n\nEverything else in this repository -- registry, GitHub, `.mcpb` release, billing, hosted endpoints, guides,\nsetup pages, compare pages, Docker MCP catalog PR, Cline marketplace issues, mcpservers.org and mcpmarket.com\nsubmissions -- was completed without a human at the keyboard.\n\nRepository layout: `servers/*` one package per server, `packages/mcp-license` shared licensing, `billing/` Cloudflare Worker\nthat sells keys and serves the marketing site (guides, setup pages, compare pages) through Stripe Checkout,\n`remote/` Cloudflare Worker serving the hosted endpoints, `dashboard/` status page, `docs/` runbooks.\n\nBuilt by theluckystrike. https://github.com/theluckystrike  Support: support@zovo.one\n",
  "bytes": 16718,
  "sha": "b24c31755e1488c51ad9e6848d0e84e79212c8525f68abe6205ab6961b570dd2",
  "repo_slug": "theluckystrike/mcp-servers",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_theluckystrike_thumbnails_72f4887b/readme"
}