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