nestegg-calculators について
nestegg-calculatorsは、ローン、投資、債券、オプション、税務を扱う90種類以上のステートレスな金融計算ツールを提供します。ユーザーデータ、リアルタイム価格、為替レート照会を使わず、入力値に基づいて計算し、JSON APIとMCPサーバーから利用できます。
主な機能
- 0190種類以上のステートレスな金融計算
- 02ローンと返済スケジュールの計算
- 03投資、債券、オプションの計算
- 04ドイツの給与税計算を収録
- 05型付きMCPツール、リソース、プロンプト
活用シーン
- 01住宅ローンの返済額とスケジュールを計算
- 02指定した入力で金融シナリオを比較
- 03対応する税年度のドイツの手取り給与を推定
- 04AIエージェントのワークフローで金融計算を利用
MCP 対応
Streamable HTTPのMCPサーバーは、計算機能をツール、ドキュメントをリソース、定義済みワークフローをプロンプトとして公開します。計算はステートレスで入力を保存せず、必要な為替レートなどは呼び出し側が指定します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://nestegg.money/mcpclaude mcp add --transport http vladimirwrites-nestegg-calculators https://nestegg.money/mcp{"mcpServers":{"vladimirwrites-nestegg-calculators":{"type":"http","url":"https://nestegg.money/mcp"}}}Cursor で開く{"servers":{"vladimirwrites-nestegg-calculators":{"type":"http","url":"https://nestegg.money/mcp"}}}VS Code で開く{"mcpServers":{"vladimirwrites-nestegg-calculators":{"type":"http","url":"https://nestegg.money/mcp"}}}{"mcpServers":{"vladimirwrites-nestegg-calculators":{"serverUrl":"https://nestegg.money/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
99| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| mode | enum | はい | 返済期間を固定して返済額を計算するか、返済額を固定して期間を計算します。term | payment |
| rate | number | はい | 年利率(パーセント)(6 = 6%)。 |
| extra | array | いいえ | 日付を指定した追加元金返済(任意)。 |
| limit | number | いいえ | detail=monthly の場合の月次行数の上限(デフォルト値および最大値は 360。nextOffset でページング)。 |
| amount | number | はい | ローン元金。 |
| detail | enum | いいえ | 出力サイズ。summary(デフォルト):合計 + 年次内訳。monthly:全返済スケジュール(offset/limit でページング)。summary | yearly | monthly |
| offset | number | いいえ | detail=monthly の場合の月次返済スケジュールの開始インデックス(デフォルトは 0)。 |
| payment | number | いいえ | mode が 'payment' の場合に使用する月々の返済額。 |
| rateSteps | array | いいえ | 任意の金利変更(例:Zinsbindung の終了後)。返済額は固定され、各変更日以降の未返済残高には新しい年利が適用されます。 |
| startDate | string | はい | 初回返済月を ISO 日付(YYYY-MM-DD)で指定します。 |
| termYears | number | いいえ | 期間(年)。mode が 'term' の場合に使用します。 |
| fixedUntil | string | いいえ | 任意。金利が確定している期間の終了日を ISO 日付で指定します。それ以降の返済スケジュールは推定値です。 |
詳細
nestegg.money
プライバシーを守る、ゼロ知識の純資産・給与トラッカーです。
ブラウザー内で暗号化します。メールアドレスもパスワードも不要で、アカウント番号だけで利用できます。
スクリーンショット
概要
意図的にシンプルに設計された、ゼロ知識の個人台帳です。単一の Cloudflare Worker で、静的なフロントエンド(フレームワークもバンドラーも不使用)と3つの小さな API ルートを提供し、ストレージには D1 を使用します。ログインには Mullvad 方式のアカウント番号を使います。データは送信前に ブラウザー内で暗号化されるため、サーバーに保存されるのは暗号文だけです。
機能
- 推移:年ごとの純資産を積み上げ棒グラフで表示します。資産(またはカテゴリー)ごとに色分けし、負債がある場合は純資産の折れ線を表示します。
- 資産配分:最新年の資産配分をドーナツチャートで表示します。
- 入力:年をタップすると編集画面が開きます。各行は1つの資産(名称、通貨、価値)です。資産の追加・削除、前年のコピー、年の名称変更ができます。
- カテゴリー:資産にカテゴリー(例:「株式」)を割り当てられます。編集画面では各カテゴリーを小計付きのセクションとして表示し、グラフではカテゴリーを1つの区分にまとめます。
- 長期資産とローン:車や住宅の価値を継続的に減価・増価させ、実際の返済スケジュールに基づくローンを設定できます。追加返済、金利固定期間、返済額または返済期間の入力に対応しています。その純資産価値は、所有しているすべての年に反映されます。
- 複数通貨:各行で個別の通貨を設定でき、すべて ECB のレート(
/api/fx)を使って選択した表示通貨に換算されます。過去の年には、その年の年末レートを使用します。 - ティッカー/暗号資産の行:株数 × リアルタイム価格を
/api/price(Yahoo プロキシ)で取得します。過去の年には、その年の終値を固定して使用します。外部に送信されるのは公開シンボルだけで、アカウントやユーザーを識別する情報は送信されません。 - 給与:個人ごとの月給を設定できます(総支給額または手取り額を選択)。昇給や転職などのイベント、2軸グラフ、スプレッドシートからの貼り付けインポートに対応しています。
- 予算:毎月の「残額」の概算を表示します。最新の給与月の収入、資産から取得したローン返済額、入力した定期支出を、カテゴリー別の内訳とドーナツチャートでまとめます。
- 将来予測と退職後の資金計画:将来の純資産を予測します(積立、成長、シナリオの幅、FIRE 目標)。公的年金(一定額またはドイツの Rentenpunkte)を含めた取り崩しもシミュレーションできます。
- 同期:ゼロ知識方式です。アカウント番号からアカウントハッシュ(サーバーが見る唯一の情報)と AES-GCM キー(ブラウザーから外に出ることはありません)が生成されます。複数デバイスでの編集はレコードごとにマージされ、削除済みを示すトゥームストーンが保持され、最新のデータが優先されます。 復旧手段はありません。番号を安全に保管してください。実際のバックアップには「JSON をエクスポート」を使用します。
- 共有リンク:選択したセクションの読み取り専用スナップショットを作成し、アドバイザーと共有できます。共有ごとに専用の AES-GCM キーが生成され、URL フラグメントだけで受け渡されます。サーバーには、関連付けできない ID と暗号文が保存されます。有効期限は30日で、いつでも無効化できます。
- 2言語対応:アプリ(プロフィール内の言語選択)、ランディングページ(
/と/de/)、および完全にブラウザー内で同じ給与計算エンジンを実行する公開版の Brutto-Netto-Rechner (英語版)を通じて、英語とドイツ語に対応しています。
レイアウト
nestegg.money/
├── src/ # the Worker: /api/fx, /api/price, /api/vault, /api/share,
│ # /api/calc/*, /mcp, /.well-known/mcp.json + page routing
├── public/
│ ├── index.html # marketing landing (generated; German at de/, see scripts/)
│ ├── dashboard.html # the app — loads one <script type="module" src="js/main.js">
│ ├── brutto-netto-rechner.html # public net-salary calculator (client-side, per-locale)
│ ├── i18n/ # runtime dictionaries (en, de)
│ ├── lib/ # finance-math: pure calculators incl. finance-math/de/
│ │ # (generated BMF PAP Lohnsteuer engines + statutory tables)
│ ├── css/ # base, landing, app styles
│ └── js/ # native ES modules (no bundler); layers point ui → io → domain
│ ├── domain/ # pure logic, no DOM/network: money, dates, schema, ids,
│ │ # loan, asset-value, model, forecast, retirement, merge, store
│ ├── io/ # effects: crypto (encrypt), storage (localStorage/sync/fetch)
│ ├── ui/ # DOM: dom, chart-kit, charts, networth, assets, salary, gate
│ └── main.js # entry point: cross-cutting wiring + boot
├── scripts/ # generators: per-locale pages, BMF PAP → JS, calculator docs
├── tests/ # node --test: domain math, calculators, MCP, i18n page sync
├── schema.sql # D1: one row per account (hash → encrypted blob)
└── wrangler.toml
Worker は最初に実行され(run_worker_first)、ホスト名に応じてランディングページとアプリを振り分け、/api/* を処理します。それ以外はすべて静的アセットのバインディングに渡されます。フロントエンドは通常の ES モジュールグラフで、ブラウザーが直接読み込みます。ビルド手順はありません。
デプロイ
Cloudflare アカウントと npm i -g wrangler(その後 wrangler login)が必要です。
wrangler d1 create networth-db→database_idをコピーしてwrangler.tomlに貼り付けます。wrangler d1 execute networth-db --remote --file=schema.sqlwrangler deploy- URL を開いてアカウントを作成し、数値を保存します。
ローカル開発:wrangler dev(ライブ API とローカル D1 を使ってアプリを配信します)。
npm version patch|minor|major でリリースを作成します。version フックが新しい番号をサービスワーカーのキャッシュ名(public/sw.js)に記録するため、クライアントは新しいビルドを取得できます。
テスト(ローン/資産/予測/退職後の計算、migrate、複数デバイス間のマージ、暗号化):npm test(node --test tests/*.mjs を実行します。純粋なドメインモジュールを直接インポートするため、ブラウザーは不要です)。
計算ツールと MCP
金融計算機能は、あらゆるクライアント(AI エージェントを含む)が呼び出せる 99 個のステートレスな計算ツールとしても公開されています。入力値だけに基づく純粋関数です。ユーザーデータも、リアルタイム価格も、為替レートの参照も(レートは入力として渡します)、認証もありません。リモートサービスのため、入力値はサーバーに送信されますが、保存されず、リクエスト本文も記録されません。各呼び出しはメモリ上で計算され、破棄されます。
ドイツ向けのセットは、データを含む例外です。de-net-salary は、公式の BMF Programmablaufplan を使って、2023~2026 年の課税年度の手取り額を正確に計算します(生成されたエンジンは public/lib/finance-math/de/ にあり、公開されている Prüftabellen の全 1,008 件の値と照合済みです)。de-abgeltungsteuer、de-kindergeld、de-midijob、de-rentenpunkte も同じ検証済みの法定テーブルを共有します。それ以外はすべて国に依存しません。
- JSON API:
POST https://nestegg.money/api/calc/<name>(JSON を受け取り、JSON を返します)。GET /api/calcで一覧を取得できます。詳しくはpublic/docs/calculators.mdをご覧ください。 - MCP サーバー(Streamable HTTP):
https://nestegg.money/mcp— 同じ計算ツールを MCP ツールとして提供します。型付きのoutputSchema、読み取り専用のアノテーション、resources/*としてのドキュメント、prompts/*としての定型ワークフロー(mortgage-plan、fire-check、brutto-netto)が含まれます。
MCP クライアントへのインストール:
claude mcp add --transport http nestegg https://nestegg.money/mcp
公式 MCP レジストリにも io.github.VladimirWrites/nestegg-calculators として公開されています(main で server.json が変更されると自動で再公開されます)。ディスクリプターは /.well-known/mcp.json で配信され、エージェントが見つけやすいように llms.txt も用意されています。
例(エージェントはデフォルトでは応答を簡潔に保ち、その後必要に応じて詳しく調べます):
> amortization { amount: 475000, rate: 3.75, mode: "payment", payment: 2869.8, startDate: "2024-04-01" }
→ { monthlyPayment, payments, totalInterest, payoffDate, yearly: [ …per-year… ] } // summary
> amortization { …same…, detail: "monthly", offset: 0, limit: 12 }
→ { schedule: [ …12 rows… ], scheduleTotal: 204, nextOffset: 12 } // paginated
備考
- 新しいアカウントは、現在の年を含む空の状態で始まります。年をタップして資産行を追加し、「+ Year」で年を追加するか、「Reset」で最初からやり直します。
- バックエンドのない通常のプレビューでは、フォールバックの為替レートを使って localStorage のみで動作します。同期、リアルタイムの為替レート、価格はデプロイ後に有効になります。
- サーバーは入力した数値を読み取れませんが、暗号化されたデータのサイズ、同期時刻、IP アドレスは確認できます。アプリのフッターに明記されています。
貢献
イシューやプルリクエストを歓迎します。ドメインロジック(public/js/domain/)は純粋な関数で、テストでカバーされています。PR を送る前に npm test を実行し、新しい動作についてはテストを追加してください。ui/ と io/ の各レイヤーは薄く、ブラウザー向けです。DOM 操作を domain/ に入れないでください。(package.json のバージョンとサービスワーカーのキャッシュ名は一致している必要があります。一致を強制するテストがあります。警告が表示された場合は npm run sync-version を実行してください。)
ライセンス
Apache License 2.0 の下でライセンスされています。© 2026 Vladimir Jovanovic.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。