mcpField
N
nestegg-calculators

nestegg-calculators

远程服务
github.com/VladimirWrites金融数据43 周前更新
代码仓库

关于 nestegg-calculators

nestegg-calculators 提供 90 多种无状态金融计算器,涵盖贷款、投资、债券、期权和税务。计算使用调用方提供的输入,不读取用户数据、实时价格或汇率查询,并可通过 JSON API 和 MCP 服务调用。

主要功能

  1. 0190 多种无状态金融计算器
  2. 02贷款与摊还计划计算
  3. 03投资、债券和期权计算
  4. 04包含德国工资税计算器
  5. 05提供带类型的 MCP 工具、资源和提示词

适用场景

  1. 01计算抵押贷款还款额与计划
  2. 02使用给定输入比较金融情景
  3. 03估算支持税年的德国税后工资
  4. 04在 AI Agent 工作流中调用金融计算

MCP 相关

Streamable HTTP MCP 服务将计算器作为工具、文档作为资源、预设工作流作为提示词提供。计算无状态且不存储输入;所需汇率等参数由调用方传入。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://nestegg.money/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

99
参数类型必填说明
modeenum是固定期限(计算还款额)或固定还款额(计算期限)。term | payment
ratenumber是年利率,以百分比表示(6 = 6%)。
extraarray否可选的按日期指定的额外本金还款。
limitnumber否detail=monthly 时每月行数上限(默认值和最大值均为 360;使用 nextOffset 翻页)。
amountnumber是贷款本金。
detailenum否输出大小。summary(默认值):总计 + 按年细分。monthly:完整还款计划(使用 offset/limit 分页)。summary | yearly | monthly
offsetnumber否detail=monthly 时月度还款计划的起始索引(默认值为 0)。
paymentnumber否月供,mode 为 'payment' 时使用。
rateStepsarray否可选的利率变更(例如 Zinsbindung 结束后)。分期金额保持不变;从每个日期起,未偿余额按新的年利率继续计息。
startDatestring是首次还款月份,使用 ISO 日期格式(YYYY-MM-DD)。
termYearsnumber否期限(年),mode 为 'term' 时使用。
fixedUntilstring否可选。利率在此 ISO 日期之前为确定值;此后还款计划为估算值。

详细介绍

nestegg.money 标志

nestegg.money

注重隐私、零知识的净资产与薪资追踪器。
在浏览器中加密。无需邮箱,无需密码,只需一个账号号码。

在线应用

CI 许可证:Apache 2.0

截图

nestegg.money 仪表板:净资产变化、资产配置环形图和逐年明细

概览

一款刻意保持简洁的零知识个人账本。单个 Cloudflare Worker 提供静态前端(无框架、无打包器)和三个小型 API 路由,并使用 D1 存储数据。登录方式类似 Mullvad,使用账号号码;数据在发送前会在浏览器中加密,因此服务器始终只存储密文。

功能

  • 随时间变化:按年份显示净资产的堆叠柱状图,每种资产(或类别)使用一种颜色;存在负债时,还会显示净资产折线。
  • 资产配置:以环形图展示最近一年的资产配置。
  • 录入:点击某一年即可打开编辑器;每行代表一项资产(名称、币种、价值)。添加或移除资产、复制上一年数据、重命名年份。
  • 类别:可以为资产添加类别标签(例如,将多项持仓归入“股票”)。编辑器会按类别分节显示,并列出小计;图表会将类别汇总为一个区块。
  • 长期资产与贷款:汽车或房屋可以持续折旧或升值,并关联一笔带有实际还款计划的贷款——支持额外还款、固定利率期限,以及按还款额或贷款期限录入。资产净值会计入你持有它的每一年。
  • 多币种:每行资产均有自己的币种;所有金额都会按 ECB 汇率(/api/fx)换算为你选择的显示币种。过去年份使用当年的年末汇率。
  • 股票代码/加密货币行:按股数 × 实时价格计算,通过 /api/price 获取(Yahoo 代理)。过去年份使用当年的收盘价。发送给上游的只有公开代码,不会发送任何账号或用户标识符。
  • 薪资:按人记录月薪(可选税前或税后),并支持记录变动事件(加薪、换工作)、双轴图表和从电子表格粘贴导入。
  • 预算:粗略估算每月“剩余金额”——收入取自最近一个有薪资记录的月份,贷款还款额从资产中读取,另可录入经常性支出,并按类别分组,附带明细环形图。
  • 预测与退休:向前预测净资产(缴款、增长、情景区间、FIRE 目标),并通过国家养老金(固定金额或德国 Rentenpunkte)模拟退休后的资产提取。
  • 同步:零知识。账号号码会生成账号哈希(服务器唯一可见的信息)和 AES-GCM 密钥(绝不会离开浏览器)。多设备编辑会按记录合并,并以墓碑标记删除记录,以最新版本为准。 无法恢复——请妥善保管账号号码;导出 JSON 才是真正的备份。
  • 分享链接:发布选定部分的只读快照,供顾问查看。每个分享都有自己的 AES-GCM 密钥,仅存于 URL 片段中;服务器存储的是无法关联的 ID 和密文。链接 30 天后过期,也可随时撤销。
  • 双语:全站支持英语和德语——包括应用(个人资料中的语言选择器)、着陆页(/ 和 /de/),以及公开的 税前税后工资计算器 (英文版),可完全在浏览器中运行与应用完全相同的薪资计算引擎。

布局

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)。

  1. 运行 wrangler d1 create networth-db → 将 database_id 复制到 wrangler.toml。
  2. 运行 wrangler d1 execute networth-db --remote --file=schema.sql
  3. 运行 wrangler deploy
  4. 打开 URL,创建账户并保存数字。

本地开发:运行 wrangler dev(提供带实时 API 和本地 D1 的应用)。

使用 npm version patch|minor|major 发布新版本——version 钩子会将新版本号写入服务工作线程缓存名称(public/sw.js),以便客户端获取新构建。

测试(贷款/资产/预测/退休计算、migrate、多设备合并、加密):运行 npm test(执行 node --test tests/*.mjs——纯领域模块可直接导入,无需浏览器)。

计算器与 MCP

这些财务计算也以 99 个无状态计算器的形式开放,任何客户端(包括 AI Agent)都可以调用。它们是输入的纯函数:不涉及用户数据、实时价格或外汇查询(汇率由你传入),也无需身份验证。这是远程服务,因此你的输入会发送到服务端——但服务不会存储任何内容,也不会记录请求正文:每次调用都在内存中计算,随后即被丢弃。

德语计算器是唯一包含数据的一组:de-net-salary 通过官方 BMF Programmablaufplan 计算 2023–2026 纳税年度的精确 Netto(生成的引擎位于 public/lib/finance-math/de/,并已根据全部 1,008 个已发布的 Prüftabellen 数值完成验证);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(当 server.json 在 main 上发生变化时会自动重新发布);描述文件通过 /.well-known/mcp.json 提供,并提供了用于 Agent 发现的 llms.txt。

示例(Agent 默认保持响应简短,然后再深入查询):

> 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——应用页脚对此有明确说明。

参与贡献

欢迎提交 Issue 和 Pull Request。领域逻辑(public/js/domain/)是纯逻辑,并有测试覆盖——提交 PR 前请运行 npm test,并为新增行为添加测试。ui/ 和 io/ 层很薄,面向浏览器;请勿将 DOM 操作放入 domain/。(package.json 中的版本必须与服务工作线程缓存名称一致——有测试会检查;如果提示不一致,请运行 npm run sync-version。)

许可证

根据 Apache License 2.0 授权。© 2026 Vladimir Jovanovic。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。