Pure finance calculators: loans, FIRE, NPV/IRR, German payroll, VAT. No data leaves your device.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
A private, zero-knowledge net worth & salary tracker.
Encrypted in your browser. No email, no password, just an account number.
A deliberately simple, zero-knowledge personal ledger. Single Cloudflare Worker serving a static frontend (no framework, no bundler) plus three small API routes, with D1 for storage. Login is a Mullvad-style account number; data is encrypted in your browser before it's sent, so the server only ever stores ciphertext.
/api/fx). Past years use
that year's year-end rates./api/price (Yahoo proxy).
Past years freeze to that year's closing price. Only the public symbol is
sent upstream β never an account or user identifier./ and /de/), and a public
Brutto-Netto-Rechner
(English version)
that runs the exact salary engine entirely in the browser.The Worker runs first (run_worker_first) so it can route the landing page vs
the app by hostname and handle /api/*; everything else falls through to the
static assets binding. The frontend is a plain ES-module graph β the browser
loads it directly, no build step.
Requires a Cloudflare account and npm i -g wrangler (then wrangler login).
wrangler d1 create networth-db β copy the database_id into wrangler.toml.wrangler d1 execute networth-db --remote --file=schema.sqlwrangler deployLocal dev: wrangler dev (serves the app with live API + local D1).
Cut a release with npm version patch|minor|major β a version hook stamps the
new number into the service-worker cache name (public/sw.js) so clients pick up
the new build.
Tests (loan/asset/forecast/retirement math, migrate, multi-device merge, crypto):
npm test (runs node --test tests/*.mjs β the pure domain modules import directly,
no browser needed).
The finance math is also exposed as 99 stateless calculators any client β including AI agents β can call. They are pure functions of their inputs: no user data, no live prices, no FX lookups (you pass the rate in), no auth. This is a remote service, so your inputs are sent to the server β but it stores nothing and logs no request bodies: each call is computed in memory and discarded.
The German set is the exception that carries data: de-net-salary computes exact Netto for
tax years 2023β2026 via the official BMF Programmablaufplan (generated engines under
public/lib/finance-math/de/, verified against all 1,008 published PrΓΌftabellen values),
with de-abgeltungsteuer, de-kindergeld, de-midijob, and de-rentenpunkte sharing the
same verified statutory table. Everything else stays country-agnostic.
POST https://nestegg.money/api/calc/<name> (JSON in, JSON out).
GET /api/calc lists them. See public/docs/calculators.md.https://nestegg.money/mcp β the same calculators as MCP
tools, with typed outputSchema, read-only annotations, the docs as resources/*, and
canned workflows as prompts/* (mortgage-plan, fire-check, brutto-netto).Install in an MCP client:
Also published to the official MCP registry as io.github.VladimirWrites/nestegg-calculators
(auto-republished when server.json changes on main), with the descriptor served at
/.well-known/mcp.json and an
llms.txt for agent discovery.
Example (an agent keeps responses small by default, then drills in):
Issues and pull requests welcome. The domain logic (public/js/domain/) is pure
and covered by tests β run npm test before sending a PR, and add tests for new
behaviour there. The ui/ and io/ layers are thin and browser-facing; keep DOM
work out of domain/. (package.json version and the service-worker cache name
must match β a test enforces it; run npm run sync-version if it complains.)
Licensed under the Apache License 2.0. Β© 2026 Vladimir Jovanovic.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/nestegg-calculators)<a href="https://allmcps.com/mcp/nestegg-calculators"><img src="https://allmcps.com/api/badge/nestegg-calculators?style=directory" alt="Nestegg Calculators on AllMCPs" /></a>