@markcolabs/mcp 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -7
- package/dist/engines/compoundInterest.d.ts +8 -6
- package/dist/engines/compoundInterest.d.ts.map +1 -1
- package/dist/engines/compoundInterest.js +8 -6
- package/dist/engines/compoundInterest.js.map +1 -1
- package/dist/engines/mortgage.d.ts +7 -6
- package/dist/engines/mortgage.d.ts.map +1 -1
- package/dist/engines/mortgage.js +7 -6
- package/dist/engines/mortgage.js.map +1 -1
- package/dist/engines/paycheck.d.ts +7 -3
- package/dist/engines/paycheck.d.ts.map +1 -1
- package/dist/engines/paycheck.js +7 -3
- package/dist/engines/paycheck.js.map +1 -1
- package/dist/engines/retirement401k.d.ts +7 -3
- package/dist/engines/retirement401k.d.ts.map +1 -1
- package/dist/engines/retirement401k.js +7 -3
- package/dist/engines/retirement401k.js.map +1 -1
- package/dist/engines/socialSecurity.d.ts +7 -3
- package/dist/engines/socialSecurity.d.ts.map +1 -1
- package/dist/engines/socialSecurity.js +7 -3
- package/dist/engines/socialSecurity.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.js +8 -8
- package/dist/tools/retirement401k.d.ts +3 -3
- package/dist/tools/retirement401k.d.ts.map +1 -1
- package/dist/tools/retirement401k.js +3 -3
- package/dist/tools/retirement401k.js.map +1 -1
- package/dist/tools/socialSecurity.d.ts +3 -3
- package/dist/tools/socialSecurity.d.ts.map +1 -1
- package/dist/tools/socialSecurity.js +3 -3
- package/dist/tools/socialSecurity.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
Model Context Protocol (MCP) server for **digitalcalculator.info** financial calculators.
|
|
4
4
|
|
|
5
|
-
**Status:** v0.
|
|
5
|
+
**Status:** v0.2.0 — contract reconciliation release. Renames 2 tools to match ADR-0039 § 1 canon (`retirement401k.projection`, `socialSecurity.estimatedBenefit`), resets `ENGINE_VERSION` per ADR-0039 § 5 semantics, fixes Lambda handler error-envelope bug, removes dead config and CORS code. v0.1.0 is deprecated on npm.
|
|
6
6
|
|
|
7
|
-
Locks in the contract from **ADR-0039** (MCP Tool Contract & Calc-Engine Lift).
|
|
7
|
+
Locks in the contract from **ADR-0039** (MCP Tool Contract & Calc-Engine Lift), reconciled per **ADR-0041** (post-deploy audit decisions).
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
## What ships in v0.
|
|
11
|
+
## What ships in v0.2.0
|
|
12
12
|
|
|
13
13
|
| Tool | Purpose |
|
|
14
14
|
|---|---|
|
|
15
15
|
| `dc.calculator.mortgage.monthlyPayment` | Monthly principal & interest, total interest, total paid for a fixed-rate mortgage. |
|
|
16
16
|
| `dc.calculator.compoundInterest.futureValue` | Future value of a principal with optional monthly contributions, at a chosen compounding frequency. |
|
|
17
|
-
| `dc.calculator.
|
|
18
|
-
| `dc.calculator.socialSecurity.
|
|
17
|
+
| `dc.calculator.retirement401k.projection` | Year-by-year 401(k) projection through retirement, honoring IRS 2026 contribution limits (incl. SECURE 2.0 super catch-up for ages 60-63). |
|
|
18
|
+
| `dc.calculator.socialSecurity.estimatedBenefit` | SSA bend-point PIA estimate with early-claim reduction, delayed-credit math, and lifetime projection. |
|
|
19
19
|
| `dc.calculator.paycheck.netPay` | IRS 2026 federal Percentage Method + FICA + simplified state-tax estimate (no state-specific tables, SDI, or local taxes — see methodology link). |
|
|
20
20
|
|
|
21
21
|
| Resource | Purpose |
|
|
@@ -89,7 +89,7 @@ The server emits a single startup line on stderr and then speaks JSON-RPC over s
|
|
|
89
89
|
|
|
90
90
|
## Tool input/output sketches
|
|
91
91
|
|
|
92
|
-
### `dc.calculator.
|
|
92
|
+
### `dc.calculator.retirement401k.projection`
|
|
93
93
|
|
|
94
94
|
```jsonc
|
|
95
95
|
// Input
|
|
@@ -121,7 +121,7 @@ The server emits a single startup line on stderr and then speaks JSON-RPC over s
|
|
|
121
121
|
}
|
|
122
122
|
```
|
|
123
123
|
|
|
124
|
-
### `dc.calculator.socialSecurity.
|
|
124
|
+
### `dc.calculator.socialSecurity.estimatedBenefit`
|
|
125
125
|
|
|
126
126
|
```jsonc
|
|
127
127
|
// Input
|
|
@@ -22,13 +22,15 @@
|
|
|
22
22
|
*/
|
|
23
23
|
import { type CompoundingFrequencyLabel } from "../shared/bounds.js";
|
|
24
24
|
/**
|
|
25
|
-
* SemVer of the compound-interest engine math.
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* - 0.
|
|
29
|
-
*
|
|
25
|
+
* SemVer of the compound-interest engine math. Per ADR-0039 § 5 (reaffirmed in
|
|
26
|
+
* ADR-0041 Position #4a): major bump = math change; minor = additive output;
|
|
27
|
+
* patch = numerical correction. NOT bumped for cosmetic refactors.
|
|
28
|
+
* - 0.1.0: initial v1 lift from compound-interest-calculator.js (S135 Item 5).
|
|
29
|
+
* - 0.2.0 (v0.1.0 publish): out-of-policy package-surface bump — superseded.
|
|
30
|
+
* - 1.0.0 (v0.2.0 publish): one-time reset to align with ADR-0039 § 5 per ADR-0041 D4a.
|
|
31
|
+
* Math unchanged from 0.1.0 / 0.2.0.
|
|
30
32
|
*/
|
|
31
|
-
export declare const ENGINE_VERSION = "0.
|
|
33
|
+
export declare const ENGINE_VERSION = "1.0.0";
|
|
32
34
|
/**
|
|
33
35
|
* Inputs to the compound-interest future-value engine.
|
|
34
36
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compoundInterest.d.ts","sourceRoot":"","sources":["../../src/engines/compoundInterest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,qBAAqB,CAAC;AAE7B
|
|
1
|
+
{"version":3,"file":"compoundInterest.d.ts","sourceRoot":"","sources":["../../src/engines/compoundInterest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC;;;;;;;GAOG;AACH,MAAM,WAAW,gCAAgC;IAC/C,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,oBAAoB,EAAE,yBAAyB,CAAC;IAChD,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAChD,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;IACpB,4FAA4F;IAC5F,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kEAAkE;IAClE,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,gCAAgC,GACtC,iCAAiC,CAyCnC"}
|
|
@@ -22,13 +22,15 @@
|
|
|
22
22
|
*/
|
|
23
23
|
import { COMPOUNDING_FREQUENCY, } from "../shared/bounds.js";
|
|
24
24
|
/**
|
|
25
|
-
* SemVer of the compound-interest engine math.
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* - 0.
|
|
29
|
-
*
|
|
25
|
+
* SemVer of the compound-interest engine math. Per ADR-0039 § 5 (reaffirmed in
|
|
26
|
+
* ADR-0041 Position #4a): major bump = math change; minor = additive output;
|
|
27
|
+
* patch = numerical correction. NOT bumped for cosmetic refactors.
|
|
28
|
+
* - 0.1.0: initial v1 lift from compound-interest-calculator.js (S135 Item 5).
|
|
29
|
+
* - 0.2.0 (v0.1.0 publish): out-of-policy package-surface bump — superseded.
|
|
30
|
+
* - 1.0.0 (v0.2.0 publish): one-time reset to align with ADR-0039 § 5 per ADR-0041 D4a.
|
|
31
|
+
* Math unchanged from 0.1.0 / 0.2.0.
|
|
30
32
|
*/
|
|
31
|
-
export const ENGINE_VERSION = "0.
|
|
33
|
+
export const ENGINE_VERSION = "1.0.0";
|
|
32
34
|
/**
|
|
33
35
|
* Compute the future value of a compound-interest investment with optional
|
|
34
36
|
* regular monthly contributions.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compoundInterest.js","sourceRoot":"","sources":["../../src/engines/compoundInterest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACL,qBAAqB,GAEtB,MAAM,qBAAqB,CAAC;AAE7B
|
|
1
|
+
{"version":3,"file":"compoundInterest.js","sourceRoot":"","sources":["../../src/engines/compoundInterest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACL,qBAAqB,GAEtB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAmCtC;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CACzB,KAAuC;IAEvC,MAAM,EACJ,SAAS,EACT,iBAAiB,EACjB,KAAK,EACL,oBAAoB,EACpB,mBAAmB,GAAG,CAAC,GACxB,GAAG,KAAK,CAAC;IAEV,4CAA4C;IAC5C,MAAM,CAAC,GAAG,iBAAiB,GAAG,GAAG,CAAC;IAClC,MAAM,CAAC,GAAG,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;IACtD,MAAM,CAAC,GAAG,KAAK,CAAC;IAEhB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;IAE3B,mBAAmB;IACnB,MAAM,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC;IAEpE,kFAAkF;IAClF,MAAM,qBAAqB,GAAG,mBAAmB,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7D,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,YAAY,GAAG,CAAC,IAAI,qBAAqB,GAAG,CAAC,EAAE,CAAC;QAClD,eAAe;YACb,qBAAqB;gBACrB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;IAC/D,CAAC;SAAM,IAAI,qBAAqB,GAAG,CAAC,EAAE,CAAC;QACrC,mCAAmC;QACnC,eAAe,GAAG,qBAAqB,GAAG,OAAO,CAAC;IACpD,CAAC;IAED,MAAM,gBAAgB,GAAG,WAAW,GAAG,eAAe,CAAC;IACvD,MAAM,kBAAkB,GAAG,SAAS,GAAG,mBAAmB,GAAG,EAAE,GAAG,CAAC,CAAC;IACpE,MAAM,cAAc,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;IAE7D,OAAO;QACL,WAAW,EAAE,gBAAgB;QAC7B,kBAAkB;QAClB,cAAc;KACf,CAAC;AACJ,CAAC"}
|
|
@@ -19,14 +19,15 @@
|
|
|
19
19
|
* For 0% rate the formula reduces to: M = P / n
|
|
20
20
|
*/
|
|
21
21
|
/**
|
|
22
|
-
* SemVer of the mortgage engine math.
|
|
23
|
-
*
|
|
22
|
+
* SemVer of the mortgage engine math. Per ADR-0039 § 5 (reaffirmed in
|
|
23
|
+
* ADR-0041 Position #4a): major bump = math change; minor = additive output;
|
|
24
|
+
* patch = numerical correction. NOT bumped for cosmetic refactors.
|
|
24
25
|
* - 0.1.0: initial v1 lift from mortgage-calculator.js (Sprint 135 Item 5).
|
|
25
|
-
* - 0.2.0
|
|
26
|
-
*
|
|
27
|
-
*
|
|
26
|
+
* - 0.2.0 (v0.1.0 publish): out-of-policy package-surface bump — superseded.
|
|
27
|
+
* - 1.0.0 (v0.2.0 publish): one-time reset to align with ADR-0039 § 5 semantics
|
|
28
|
+
* per ADR-0041 D4a. Math is unchanged from 0.1.0 / 0.2.0.
|
|
28
29
|
*/
|
|
29
|
-
export declare const ENGINE_VERSION = "0.
|
|
30
|
+
export declare const ENGINE_VERSION = "1.0.0";
|
|
30
31
|
/**
|
|
31
32
|
* Inputs to the mortgage monthly-payment engine.
|
|
32
33
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mortgage.d.ts","sourceRoot":"","sources":["../../src/engines/mortgage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH
|
|
1
|
+
{"version":3,"file":"mortgage.d.ts","sourceRoot":"","sources":["../../src/engines/mortgage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,2BAA2B;IAC1C,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,oDAAoD;IACpD,cAAc,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,2BAA2B,GACjC,4BAA4B,CAwB9B"}
|
package/dist/engines/mortgage.js
CHANGED
|
@@ -19,14 +19,15 @@
|
|
|
19
19
|
* For 0% rate the formula reduces to: M = P / n
|
|
20
20
|
*/
|
|
21
21
|
/**
|
|
22
|
-
* SemVer of the mortgage engine math.
|
|
23
|
-
*
|
|
22
|
+
* SemVer of the mortgage engine math. Per ADR-0039 § 5 (reaffirmed in
|
|
23
|
+
* ADR-0041 Position #4a): major bump = math change; minor = additive output;
|
|
24
|
+
* patch = numerical correction. NOT bumped for cosmetic refactors.
|
|
24
25
|
* - 0.1.0: initial v1 lift from mortgage-calculator.js (Sprint 135 Item 5).
|
|
25
|
-
* - 0.2.0
|
|
26
|
-
*
|
|
27
|
-
*
|
|
26
|
+
* - 0.2.0 (v0.1.0 publish): out-of-policy package-surface bump — superseded.
|
|
27
|
+
* - 1.0.0 (v0.2.0 publish): one-time reset to align with ADR-0039 § 5 semantics
|
|
28
|
+
* per ADR-0041 D4a. Math is unchanged from 0.1.0 / 0.2.0.
|
|
28
29
|
*/
|
|
29
|
-
export const ENGINE_VERSION = "0.
|
|
30
|
+
export const ENGINE_VERSION = "1.0.0";
|
|
30
31
|
/**
|
|
31
32
|
* Compute the monthly principal & interest payment.
|
|
32
33
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mortgage.js","sourceRoot":"","sources":["../../src/engines/mortgage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH
|
|
1
|
+
{"version":3,"file":"mortgage.js","sourceRoot":"","sources":["../../src/engines/mortgage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAmCtC;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAkC;IAElC,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAE1D,MAAM,WAAW,GAAG,iBAAiB,GAAG,GAAG,GAAG,EAAE,CAAC;IACjD,MAAM,WAAW,GAAG,SAAS,GAAG,EAAE,CAAC;IAEnC,IAAI,OAAe,CAAC;IACpB,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,OAAO;YACL,SAAS;gBACT,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,WAAW,CAAC,CAAC;oBACrD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;IACxC,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;IAE5C,OAAO;QACL,cAAc,EAAE,OAAO;QACvB,aAAa;QACb,SAAS;KACV,CAAC;AACJ,CAAC"}
|
|
@@ -30,10 +30,14 @@
|
|
|
30
30
|
*/
|
|
31
31
|
import { type FilingStatus, type PayFrequencyLabel } from "./data/federalTax.js";
|
|
32
32
|
/**
|
|
33
|
-
* SemVer of the paycheck engine.
|
|
34
|
-
*
|
|
33
|
+
* SemVer of the paycheck engine. Per ADR-0039 § 5 (reaffirmed in ADR-0041 Position #4a):
|
|
34
|
+
* major bump = math change; minor = additive output; patch = numerical correction.
|
|
35
|
+
* NOT bumped for cosmetic refactors.
|
|
36
|
+
* - 0.2.0 (v0.1.0 publish): initial port (S136), shipped under out-of-policy package-surface version.
|
|
37
|
+
* - 1.0.0 (v0.2.0 publish): one-time reset to align with ADR-0039 § 5 per ADR-0041 D4a.
|
|
38
|
+
* Math unchanged.
|
|
35
39
|
*/
|
|
36
|
-
export declare const ENGINE_VERSION = "0.
|
|
40
|
+
export declare const ENGINE_VERSION = "1.0.0";
|
|
37
41
|
/** Inputs to the paycheck net-pay engine. */
|
|
38
42
|
export interface PaycheckNetPayInput {
|
|
39
43
|
/** Gross annual salary, USD. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paycheck.d.ts","sourceRoot":"","sources":["../../src/engines/paycheck.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAQL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAEvB,MAAM,sBAAsB,CAAC;AAE9B
|
|
1
|
+
{"version":3,"file":"paycheck.d.ts","sourceRoot":"","sources":["../../src/engines/paycheck.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAQL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAEvB,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC,6CAA6C;AAC7C,MAAM,WAAW,mBAAmB;IAClC,gCAAgC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB;IACrB,YAAY,EAAE,iBAAiB,CAAC;IAChC,kEAAkE;IAClE,mBAAmB,EAAE,YAAY,CAAC;IAClC,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wFAAwF;IACxF,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,6CAA6C;AAC7C,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mCAAmC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,4BAA4B;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAmBD;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CAoEvE"}
|
package/dist/engines/paycheck.js
CHANGED
|
@@ -30,10 +30,14 @@
|
|
|
30
30
|
*/
|
|
31
31
|
import { FEDERAL_TAX_BRACKETS_2026, STANDARD_DEDUCTIONS_2026, ADDITIONAL_MEDICARE_THRESHOLDS_2026, FICA_RATES, SS_WAGE_BASE, PAY_PERIODS_PER_YEAR, NO_TAX_STATES, } from "./data/federalTax.js";
|
|
32
32
|
/**
|
|
33
|
-
* SemVer of the paycheck engine.
|
|
34
|
-
*
|
|
33
|
+
* SemVer of the paycheck engine. Per ADR-0039 § 5 (reaffirmed in ADR-0041 Position #4a):
|
|
34
|
+
* major bump = math change; minor = additive output; patch = numerical correction.
|
|
35
|
+
* NOT bumped for cosmetic refactors.
|
|
36
|
+
* - 0.2.0 (v0.1.0 publish): initial port (S136), shipped under out-of-policy package-surface version.
|
|
37
|
+
* - 1.0.0 (v0.2.0 publish): one-time reset to align with ADR-0039 § 5 per ADR-0041 D4a.
|
|
38
|
+
* Math unchanged.
|
|
35
39
|
*/
|
|
36
|
-
export const ENGINE_VERSION = "0.
|
|
40
|
+
export const ENGINE_VERSION = "1.0.0";
|
|
37
41
|
const ROUND = (v) => Math.round(v * 100) / 100;
|
|
38
42
|
/**
|
|
39
43
|
* Progressive bracket lookup — verbatim port of site `calculateBracketTax`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paycheck.js","sourceRoot":"","sources":["../../src/engines/paycheck.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,mCAAmC,EACnC,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,aAAa,GAId,MAAM,sBAAsB,CAAC;AAE9B
|
|
1
|
+
{"version":3,"file":"paycheck.js","sourceRoot":"","sources":["../../src/engines/paycheck.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,10 +28,14 @@
|
|
|
28
28
|
* IRS limits: per IRS Notice 2025-67 (2026) — see engines/data/irs2026.ts.
|
|
29
29
|
*/
|
|
30
30
|
/**
|
|
31
|
-
* SemVer of the 401(k) projection engine.
|
|
32
|
-
* -
|
|
31
|
+
* SemVer of the 401(k) projection engine. Per ADR-0039 § 5 (reaffirmed in
|
|
32
|
+
* ADR-0041 Position #4a): major bump = math change; minor = additive output;
|
|
33
|
+
* patch = numerical correction. NOT bumped for cosmetic refactors.
|
|
34
|
+
* - 0.2.0 (v0.1.0 publish): initial port (S136), shipped under out-of-policy package-surface version.
|
|
35
|
+
* - 1.0.0 (v0.2.0 publish): one-time reset to align with ADR-0039 § 5 per ADR-0041 D4a.
|
|
36
|
+
* Math unchanged.
|
|
33
37
|
*/
|
|
34
|
-
export declare const ENGINE_VERSION = "0.
|
|
38
|
+
export declare const ENGINE_VERSION = "1.0.0";
|
|
35
39
|
/** Inputs to the 401(k) projection engine. */
|
|
36
40
|
export interface Retirement401kProjectionInput {
|
|
37
41
|
/** Current 401(k) balance, USD. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retirement401k.d.ts","sourceRoot":"","sources":["../../src/engines/retirement401k.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH
|
|
1
|
+
{"version":3,"file":"retirement401k.d.ts","sourceRoot":"","sources":["../../src/engines/retirement401k.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC,8CAA8C;AAC9C,MAAM,WAAW,6BAA6B;IAC5C,mCAAmC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,yBAAyB,EAAE,MAAM,CAAC;IAClC,yFAAyF;IACzF,yBAAyB,EAAE,MAAM,CAAC;IAClC,+CAA+C;IAC/C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,oDAAoD;AACpD,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,6CAA6C;AAC7C,MAAM,WAAW,8BAA8B;IAC7C,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oFAAoF;IACpF,YAAY,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,UAAU,EAAE,qBAAqB,EAAE,CAAC;CACrC;AA4CD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,6BAA6B,GACnC,8BAA8B,CA2EhC"}
|
|
@@ -29,10 +29,14 @@
|
|
|
29
29
|
*/
|
|
30
30
|
import { LIMITS_401K_2026 } from "./data/irs2026.js";
|
|
31
31
|
/**
|
|
32
|
-
* SemVer of the 401(k) projection engine.
|
|
33
|
-
* -
|
|
32
|
+
* SemVer of the 401(k) projection engine. Per ADR-0039 § 5 (reaffirmed in
|
|
33
|
+
* ADR-0041 Position #4a): major bump = math change; minor = additive output;
|
|
34
|
+
* patch = numerical correction. NOT bumped for cosmetic refactors.
|
|
35
|
+
* - 0.2.0 (v0.1.0 publish): initial port (S136), shipped under out-of-policy package-surface version.
|
|
36
|
+
* - 1.0.0 (v0.2.0 publish): one-time reset to align with ADR-0039 § 5 per ADR-0041 D4a.
|
|
37
|
+
* Math unchanged.
|
|
34
38
|
*/
|
|
35
|
-
export const ENGINE_VERSION = "0.
|
|
39
|
+
export const ENGINE_VERSION = "1.0.0";
|
|
36
40
|
const ROUND = (v) => Math.round(v * 100) / 100;
|
|
37
41
|
/**
|
|
38
42
|
* IRS contribution cap for a given age, mirroring `getIRSLimit` in the site engine.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retirement401k.js","sourceRoot":"","sources":["../../src/engines/retirement401k.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD
|
|
1
|
+
{"version":3,"file":"retirement401k.js","sourceRoot":"","sources":["../../src/engines/retirement401k.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAkEtC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAEvD;;GAEG;AACH,SAAS,cAAc,CAAC,GAAW,EAAE,cAAuB;IAC1D,IACE,CAAC,cAAc;QACf,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QACrB,GAAG,GAAG,gBAAgB,CAAC,UAAU,EACjC,CAAC;QACD,OAAO,gBAAgB,CAAC,IAAI,CAAC;IAC/B,CAAC;IACD,IACE,GAAG,IAAI,gBAAgB,CAAC,oBAAoB;QAC5C,GAAG,IAAI,gBAAgB,CAAC,kBAAkB,EAC1C,CAAC;QACD,OAAO,gBAAgB,CAAC,qBAAqB,CAAC;IAChD,CAAC;IACD,OAAO,gBAAgB,CAAC,gBAAgB,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,GAAW,EAAE,cAAuB;IACzD,IACE,CAAC,cAAc;QACf,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QACrB,GAAG,GAAG,gBAAgB,CAAC,UAAU,EACjC,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IACE,GAAG,IAAI,gBAAgB,CAAC,oBAAoB;QAC5C,GAAG,IAAI,gBAAgB,CAAC,kBAAkB,EAC1C,CAAC;QACD,OAAO,gBAAgB,CAAC,YAAY,CAAC;IACvC,CAAC;IACD,OAAO,gBAAgB,CAAC,OAAO,CAAC;AAClC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CACxB,KAAoC;IAEpC,MAAM,EACJ,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,cAAc,GAAG,IAAI,GACtB,GAAG,KAAK,CAAC;IAEV,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC;IAClE,MAAM,CAAC,GAAG,mBAAmB,GAAG,GAAG,CAAC;IACpC,MAAM,CAAC,GAAG,yBAAyB,GAAG,GAAG,CAAC;IAE1C,4DAA4D;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,CAAC;IAE5E,IAAI,OAAO,GAAG,cAAc,CAAC;IAC7B,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,MAAM,IAAI,GAA4B,EAAE,CAAC;IAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,UAAU,GAAG,CAAC,CAAC;QACnC,MAAM,cAAc,GAAG,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAE7D,uEAAuE;QACvE,IAAI,eAAe,GACjB,cAAc,GAAG,CAAC,mBAAmB,GAAG,GAAG,CAAC;YAC5C,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAE7C,2EAA2E;QAC3E,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACxD,IAAI,eAAe,GAAG,GAAG;YAAE,eAAe,GAAG,GAAG,CAAC;QAEjD,uEAAuE;QACvE,MAAM,aAAa,GACjB,cAAc;YACd,CAAC,UAAU,GAAG,GAAG,CAAC;YAClB,CAAC,oBAAoB,GAAG,GAAG,CAAC,CAAC;QAE/B,iEAAiE;QACjE,6EAA6E;QAC7E,MAAM,YAAY,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,MAAM,cAAc,GAAG,YAAY,GAAG,OAAO,CAAC;QAC9C,OAAO,GAAG,YAAY,GAAG,eAAe,GAAG,aAAa,CAAC;QAEzD,kBAAkB,IAAI,eAAe,CAAC;QACtC,oBAAoB,IAAI,aAAa,CAAC;QAEtC,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,WAAW;YAChB,oBAAoB,EAAE,KAAK,CAAC,eAAe,CAAC;YAC5C,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC;YACnC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC;YAC7B,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,qBAAqB,GACzB,cAAc,GAAG,kBAAkB,GAAG,oBAAoB,CAAC;IAC7D,MAAM,YAAY,GAAG,OAAO,GAAG,qBAAqB,CAAC;IAErD,OAAO;QACL,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC;QAC7B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,CAAC;QAC7C,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,CAAC;QACjD,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC;QACjC,UAAU,EAAE,IAAI;KACjB,CAAC;AACJ,CAAC"}
|
|
@@ -20,10 +20,14 @@
|
|
|
20
20
|
* Output values are USD monthly benefits (or USD lifetime totals).
|
|
21
21
|
*/
|
|
22
22
|
/**
|
|
23
|
-
* SemVer of the SS engine.
|
|
24
|
-
*
|
|
23
|
+
* SemVer of the SS engine. Per ADR-0039 § 5 (reaffirmed in ADR-0041 Position #4a):
|
|
24
|
+
* major bump = math change; minor = additive output; patch = numerical correction.
|
|
25
|
+
* NOT bumped for cosmetic refactors.
|
|
26
|
+
* - 0.2.0 (v0.1.0 publish): initial port (S136), shipped under out-of-policy package-surface version.
|
|
27
|
+
* - 1.0.0 (v0.2.0 publish): one-time reset to align with ADR-0039 § 5 per ADR-0041 D4a.
|
|
28
|
+
* Math unchanged.
|
|
25
29
|
*/
|
|
26
|
-
export declare const ENGINE_VERSION = "0.
|
|
30
|
+
export declare const ENGINE_VERSION = "1.0.0";
|
|
27
31
|
/** Inputs to the SS estimate engine. */
|
|
28
32
|
export interface SocialSecurityEstimateInput {
|
|
29
33
|
/** Birth year (1943-2004 supported). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socialSecurity.d.ts","sourceRoot":"","sources":["../../src/engines/socialSecurity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAQH
|
|
1
|
+
{"version":3,"file":"socialSecurity.d.ts","sourceRoot":"","sources":["../../src/engines/socialSecurity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAQH;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC,wCAAwC;AACxC,MAAM,WAAW,2BAA2B;IAC1C,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,6CAA6C;AAC7C,MAAM,WAAW,4BAA4B;IAC3C,yDAAyD;IACzD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,sBAAsB,EAAE,MAAM,CAAC;IAC/B,yEAAyE;IACzE,yBAAyB,EAAE,MAAM,CAAC;IAClC,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,eAAe,EAAE,MAAM,CAAC;IACxB,mFAAmF;IACnF,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAsGD,wBAAgB,QAAQ,CACtB,KAAK,EAAE,2BAA2B,GACjC,4BAA4B,CAiC9B"}
|
|
@@ -21,10 +21,14 @@
|
|
|
21
21
|
*/
|
|
22
22
|
import { SSA_BEND_POINTS, SS_WAGE_BASE, DEFAULT_LIFE_EXPECTANCY, } from "./data/ssa.js";
|
|
23
23
|
/**
|
|
24
|
-
* SemVer of the SS engine.
|
|
25
|
-
*
|
|
24
|
+
* SemVer of the SS engine. Per ADR-0039 § 5 (reaffirmed in ADR-0041 Position #4a):
|
|
25
|
+
* major bump = math change; minor = additive output; patch = numerical correction.
|
|
26
|
+
* NOT bumped for cosmetic refactors.
|
|
27
|
+
* - 0.2.0 (v0.1.0 publish): initial port (S136), shipped under out-of-policy package-surface version.
|
|
28
|
+
* - 1.0.0 (v0.2.0 publish): one-time reset to align with ADR-0039 § 5 per ADR-0041 D4a.
|
|
29
|
+
* Math unchanged.
|
|
26
30
|
*/
|
|
27
|
-
export const ENGINE_VERSION = "0.
|
|
31
|
+
export const ENGINE_VERSION = "1.0.0";
|
|
28
32
|
// ---------------------------------------------------------------------------
|
|
29
33
|
// FRA lookup (mirrors site engine FRA_TABLE)
|
|
30
34
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socialSecurity.js","sourceRoot":"","sources":["../../src/engines/socialSecurity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EACL,eAAe,EACf,YAAY,EACZ,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAEvB
|
|
1
|
+
{"version":3,"file":"socialSecurity.js","sourceRoot":"","sources":["../../src/engines/socialSecurity.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* @markcolabs/mcp — MCP server entrypoint.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* v0.2.0 (per ADR-0039 + ADR-0041 reconciliation). Registers:
|
|
6
6
|
* - 5 tools:
|
|
7
|
-
* dc.calculator.mortgage.monthlyPayment
|
|
8
|
-
* dc.calculator.compoundInterest.futureValue
|
|
9
|
-
* dc.calculator.
|
|
10
|
-
* dc.calculator.socialSecurity.
|
|
11
|
-
* dc.calculator.paycheck.netPay
|
|
7
|
+
* dc.calculator.mortgage.monthlyPayment (S135 Item 5)
|
|
8
|
+
* dc.calculator.compoundInterest.futureValue (S135 Item 5)
|
|
9
|
+
* dc.calculator.retirement401k.projection (S136 Item 3, renamed v0.2.0 per ADR-0041 D2)
|
|
10
|
+
* dc.calculator.socialSecurity.estimatedBenefit (S136 Item 3, renamed v0.2.0 per ADR-0041 D2)
|
|
11
|
+
* dc.calculator.paycheck.netPay (S136 Item 3)
|
|
12
12
|
* - 1 resource: dc://disclaimers/ymyl (canonical YMYL disclaimer)
|
|
13
13
|
*
|
|
14
14
|
* Transport: stdio (default for local MCP clients).
|
package/dist/index.js
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* @markcolabs/mcp — MCP server entrypoint.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* v0.2.0 (per ADR-0039 + ADR-0041 reconciliation). Registers:
|
|
6
6
|
* - 5 tools:
|
|
7
|
-
* dc.calculator.mortgage.monthlyPayment
|
|
8
|
-
* dc.calculator.compoundInterest.futureValue
|
|
9
|
-
* dc.calculator.
|
|
10
|
-
* dc.calculator.socialSecurity.
|
|
11
|
-
* dc.calculator.paycheck.netPay
|
|
7
|
+
* dc.calculator.mortgage.monthlyPayment (S135 Item 5)
|
|
8
|
+
* dc.calculator.compoundInterest.futureValue (S135 Item 5)
|
|
9
|
+
* dc.calculator.retirement401k.projection (S136 Item 3, renamed v0.2.0 per ADR-0041 D2)
|
|
10
|
+
* dc.calculator.socialSecurity.estimatedBenefit (S136 Item 3, renamed v0.2.0 per ADR-0041 D2)
|
|
11
|
+
* dc.calculator.paycheck.netPay (S136 Item 3)
|
|
12
12
|
* - 1 resource: dc://disclaimers/ymyl (canonical YMYL disclaimer)
|
|
13
13
|
*
|
|
14
14
|
* Transport: stdio (default for local MCP clients).
|
|
@@ -44,7 +44,7 @@ export * from "./envelope.js";
|
|
|
44
44
|
// ---------------------------------------------------------------------------
|
|
45
45
|
const server = new Server({
|
|
46
46
|
name: "@markcolabs/mcp",
|
|
47
|
-
version: "0.
|
|
47
|
+
version: "0.2.0",
|
|
48
48
|
}, {
|
|
49
49
|
capabilities: {
|
|
50
50
|
tools: {},
|
|
@@ -181,7 +181,7 @@ async function main() {
|
|
|
181
181
|
const transport = new StdioServerTransport();
|
|
182
182
|
await server.connect(transport);
|
|
183
183
|
// eslint-disable-next-line no-console
|
|
184
|
-
console.error("[@markcolabs/mcp] v0.
|
|
184
|
+
console.error("[@markcolabs/mcp] v0.2.0 ready (stdio) — 5 tools registered.");
|
|
185
185
|
}
|
|
186
186
|
// Run only when invoked as a binary, not when imported by parity tests.
|
|
187
187
|
const isDirect = import.meta.url === `file://${process.argv[1]}` ||
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MCP tool wrapper for `dc.calculator.
|
|
2
|
+
* MCP tool wrapper for `dc.calculator.retirement401k.projection`.
|
|
3
3
|
*
|
|
4
4
|
* Per ADR-0039 § 1: tool name is locked.
|
|
5
5
|
* Per ADR-0039 § 2: Zod input schema with bounds from shared/bounds.ts.
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
import { z } from "zod";
|
|
10
10
|
import { type Retirement401kProjectionResult } from "../engines/retirement401k.js";
|
|
11
11
|
import { type ToolResult, type ToolError } from "../envelope.js";
|
|
12
|
-
/** Locked tool name per ADR-0039 § 1. */
|
|
13
|
-
export declare const TOOL_NAME = "dc.calculator.
|
|
12
|
+
/** Locked tool name per ADR-0039 § 1 (corrected v0.2.0 per ADR-0041 D2). */
|
|
13
|
+
export declare const TOOL_NAME = "dc.calculator.retirement401k.projection";
|
|
14
14
|
/**
|
|
15
15
|
* Zod input schema. Bounds come from shared/bounds.ts so engine + schema cannot drift.
|
|
16
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retirement401k.d.ts","sourceRoot":"","sources":["../../src/tools/retirement401k.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAGL,KAAK,8BAA8B,EACpC,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AAExB,
|
|
1
|
+
{"version":3,"file":"retirement401k.d.ts","sourceRoot":"","sources":["../../src/tools/retirement401k.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAGL,KAAK,8BAA8B,EACpC,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AAExB,4EAA4E;AAC5E,eAAO,MAAM,SAAS,4CAA4C,CAAC;AAOnE;;GAEG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmE5C,CAAC;AAEL,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,mCAAmC,CAC3C,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAKI,CAAC;AAElC;;GAEG;AACH,wBAAgB,OAAO,CACrB,QAAQ,EAAE,OAAO,GAEf;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC,8BAA8B,CAAC,CAAA;CAAE,GAC/D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAwDlC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MCP tool wrapper for `dc.calculator.
|
|
2
|
+
* MCP tool wrapper for `dc.calculator.retirement401k.projection`.
|
|
3
3
|
*
|
|
4
4
|
* Per ADR-0039 § 1: tool name is locked.
|
|
5
5
|
* Per ADR-0039 § 2: Zod input schema with bounds from shared/bounds.ts.
|
|
@@ -11,8 +11,8 @@ import { projection, ENGINE_VERSION, } from "../engines/retirement401k.js";
|
|
|
11
11
|
import { RETIREMENT_401K_BOUNDS } from "../shared/bounds.js";
|
|
12
12
|
import { YMYL_DISCLAIMER } from "../disclaimers/ymyl.js";
|
|
13
13
|
import { makeResult, makeError, } from "../envelope.js";
|
|
14
|
-
/** Locked tool name per ADR-0039 § 1. */
|
|
15
|
-
export const TOOL_NAME = "dc.calculator.
|
|
14
|
+
/** Locked tool name per ADR-0039 § 1 (corrected v0.2.0 per ADR-0041 D2). */
|
|
15
|
+
export const TOOL_NAME = "dc.calculator.retirement401k.projection";
|
|
16
16
|
const METHODOLOGY = {
|
|
17
17
|
url: "https://www.digitalcalculator.info/401k-retirement-calculator/methodology/",
|
|
18
18
|
version: "2026-05-09",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retirement401k.js","sourceRoot":"","sources":["../../src/tools/retirement401k.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,UAAU,EACV,cAAc,GAEf,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,UAAU,EACV,SAAS,GAGV,MAAM,gBAAgB,CAAC;AAExB,
|
|
1
|
+
{"version":3,"file":"retirement401k.js","sourceRoot":"","sources":["../../src/tools/retirement401k.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MCP tool wrapper for `dc.calculator.socialSecurity.
|
|
2
|
+
* MCP tool wrapper for `dc.calculator.socialSecurity.estimatedBenefit`.
|
|
3
3
|
*
|
|
4
4
|
* Per ADR-0039 § 1: tool name is locked.
|
|
5
5
|
* Per ADR-0039 § 2: Zod input schema with bounds from shared/bounds.ts.
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
import { z } from "zod";
|
|
16
16
|
import { type SocialSecurityEstimateResult } from "../engines/socialSecurity.js";
|
|
17
17
|
import { type ToolResult, type ToolError } from "../envelope.js";
|
|
18
|
-
/** Locked tool name per ADR-0039 § 1. */
|
|
19
|
-
export declare const TOOL_NAME = "dc.calculator.socialSecurity.
|
|
18
|
+
/** Locked tool name per ADR-0039 § 1 (corrected v0.2.0 per ADR-0041 D2). */
|
|
19
|
+
export declare const TOOL_NAME = "dc.calculator.socialSecurity.estimatedBenefit";
|
|
20
20
|
export declare const SocialSecurityEstimateInputSchema: z.ZodObject<{
|
|
21
21
|
birthYear: z.ZodNumber;
|
|
22
22
|
currentEarnings: z.ZodNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socialSecurity.d.ts","sourceRoot":"","sources":["../../src/tools/socialSecurity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAGL,KAAK,4BAA4B,EAClC,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AAExB,
|
|
1
|
+
{"version":3,"file":"socialSecurity.d.ts","sourceRoot":"","sources":["../../src/tools/socialSecurity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAGL,KAAK,4BAA4B,EAClC,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AAExB,4EAA4E;AAC5E,eAAO,MAAM,SAAS,kDAAkD,CAAC;AAOzE,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;EAsC5C,CAAC;AAEH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CACnD,OAAO,iCAAiC,CACzC,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAMmC,CAAC;AAEjE;;GAEG;AACH,wBAAgB,OAAO,CACrB,QAAQ,EAAE,OAAO,GAEf;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC,4BAA4B,CAAC,CAAA;CAAE,GAC7D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAuDlC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MCP tool wrapper for `dc.calculator.socialSecurity.
|
|
2
|
+
* MCP tool wrapper for `dc.calculator.socialSecurity.estimatedBenefit`.
|
|
3
3
|
*
|
|
4
4
|
* Per ADR-0039 § 1: tool name is locked.
|
|
5
5
|
* Per ADR-0039 § 2: Zod input schema with bounds from shared/bounds.ts.
|
|
@@ -17,8 +17,8 @@ import { estimate, ENGINE_VERSION, } from "../engines/socialSecurity.js";
|
|
|
17
17
|
import { SOCIAL_SECURITY_BOUNDS } from "../shared/bounds.js";
|
|
18
18
|
import { YMYL_DISCLAIMER } from "../disclaimers/ymyl.js";
|
|
19
19
|
import { makeResult, makeError, } from "../envelope.js";
|
|
20
|
-
/** Locked tool name per ADR-0039 § 1. */
|
|
21
|
-
export const TOOL_NAME = "dc.calculator.socialSecurity.
|
|
20
|
+
/** Locked tool name per ADR-0039 § 1 (corrected v0.2.0 per ADR-0041 D2). */
|
|
21
|
+
export const TOOL_NAME = "dc.calculator.socialSecurity.estimatedBenefit";
|
|
22
22
|
const METHODOLOGY = {
|
|
23
23
|
url: "https://www.digitalcalculator.info/social-security-calculator/methodology/",
|
|
24
24
|
version: "2026-05-09",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socialSecurity.js","sourceRoot":"","sources":["../../src/tools/socialSecurity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,QAAQ,EACR,cAAc,GAEf,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,UAAU,EACV,SAAS,GAGV,MAAM,gBAAgB,CAAC;AAExB,
|
|
1
|
+
{"version":3,"file":"socialSecurity.js","sourceRoot":"","sources":["../../src/tools/socialSecurity.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@markcolabs/mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"private": false,
|
|
5
|
-
"description": "Model Context Protocol server for digitalcalculator.info financial calculators. v0.
|
|
5
|
+
"description": "Model Context Protocol server for digitalcalculator.info financial calculators. v0.2.0 ships 5 calculator tools (mortgage monthlyPayment, compound-interest futureValue, retirement401k projection, Social Security estimatedBenefit, paycheck netPay). Per ADR-0039 + ADR-0041 contract reconciliation.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.js",
|
|
8
8
|
"types": "./dist/index.d.ts",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"license": "MIT",
|
|
48
48
|
"repository": {
|
|
49
49
|
"type": "git",
|
|
50
|
-
"url": "https://github.com/
|
|
50
|
+
"url": "https://github.com/mark57-ux/digitalcalculator.git",
|
|
51
51
|
"directory": "packages/mcp"
|
|
52
52
|
}
|
|
53
53
|
}
|