@markcolabs/mcp 0.3.0 → 0.4.1

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.
Files changed (115) hide show
  1. package/README.md +126 -186
  2. package/dist/index.d.ts +9 -35
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +56 -284
  5. package/dist/index.js.map +1 -1
  6. package/package.json +15 -13
  7. package/LICENSE-API.md +0 -111
  8. package/dist/disclaimers/ymyl.d.ts +0 -16
  9. package/dist/disclaimers/ymyl.d.ts.map +0 -1
  10. package/dist/disclaimers/ymyl.js +0 -20
  11. package/dist/disclaimers/ymyl.js.map +0 -1
  12. package/dist/engines/compoundInterest.d.ts +0 -75
  13. package/dist/engines/compoundInterest.d.ts.map +0 -1
  14. package/dist/engines/compoundInterest.js +0 -74
  15. package/dist/engines/compoundInterest.js.map +0 -1
  16. package/dist/engines/data/federalTax.d.ts +0 -47
  17. package/dist/engines/data/federalTax.d.ts.map +0 -1
  18. package/dist/engines/data/federalTax.js +0 -111
  19. package/dist/engines/data/federalTax.js.map +0 -1
  20. package/dist/engines/data/irs2026.d.ts +0 -137
  21. package/dist/engines/data/irs2026.d.ts.map +0 -1
  22. package/dist/engines/data/irs2026.js +0 -113
  23. package/dist/engines/data/irs2026.js.map +0 -1
  24. package/dist/engines/data/rmd2026.d.ts +0 -59
  25. package/dist/engines/data/rmd2026.d.ts.map +0 -1
  26. package/dist/engines/data/rmd2026.js +0 -75
  27. package/dist/engines/data/rmd2026.js.map +0 -1
  28. package/dist/engines/data/ssa.d.ts +0 -39
  29. package/dist/engines/data/ssa.d.ts.map +0 -1
  30. package/dist/engines/data/ssa.js +0 -55
  31. package/dist/engines/data/ssa.js.map +0 -1
  32. package/dist/engines/data/stateTax2026.d.ts +0 -114
  33. package/dist/engines/data/stateTax2026.d.ts.map +0 -1
  34. package/dist/engines/data/stateTax2026.js +0 -348
  35. package/dist/engines/data/stateTax2026.js.map +0 -1
  36. package/dist/engines/hsa.d.ts +0 -110
  37. package/dist/engines/hsa.d.ts.map +0 -1
  38. package/dist/engines/hsa.js +0 -83
  39. package/dist/engines/hsa.js.map +0 -1
  40. package/dist/engines/ira.d.ts +0 -115
  41. package/dist/engines/ira.d.ts.map +0 -1
  42. package/dist/engines/ira.js +0 -127
  43. package/dist/engines/ira.js.map +0 -1
  44. package/dist/engines/mortgage.d.ts +0 -70
  45. package/dist/engines/mortgage.d.ts.map +0 -1
  46. package/dist/engines/mortgage.js +0 -60
  47. package/dist/engines/mortgage.js.map +0 -1
  48. package/dist/engines/paycheck.d.ts +0 -128
  49. package/dist/engines/paycheck.d.ts.map +0 -1
  50. package/dist/engines/paycheck.js +0 -142
  51. package/dist/engines/paycheck.js.map +0 -1
  52. package/dist/engines/retirement401k.d.ts +0 -109
  53. package/dist/engines/retirement401k.d.ts.map +0 -1
  54. package/dist/engines/retirement401k.js +0 -130
  55. package/dist/engines/retirement401k.js.map +0 -1
  56. package/dist/engines/rmd.d.ts +0 -107
  57. package/dist/engines/rmd.d.ts.map +0 -1
  58. package/dist/engines/rmd.js +0 -109
  59. package/dist/engines/rmd.js.map +0 -1
  60. package/dist/engines/rothConversion.d.ts +0 -124
  61. package/dist/engines/rothConversion.d.ts.map +0 -1
  62. package/dist/engines/rothConversion.js +0 -145
  63. package/dist/engines/rothConversion.js.map +0 -1
  64. package/dist/engines/socialSecurity.d.ts +0 -63
  65. package/dist/engines/socialSecurity.d.ts.map +0 -1
  66. package/dist/engines/socialSecurity.js +0 -139
  67. package/dist/engines/socialSecurity.js.map +0 -1
  68. package/dist/envelope.d.ts +0 -76
  69. package/dist/envelope.d.ts.map +0 -1
  70. package/dist/envelope.js +0 -34
  71. package/dist/envelope.js.map +0 -1
  72. package/dist/shared/bounds.d.ts +0 -133
  73. package/dist/shared/bounds.d.ts.map +0 -1
  74. package/dist/shared/bounds.js +0 -206
  75. package/dist/shared/bounds.js.map +0 -1
  76. package/dist/tools/compoundInterest.d.ts +0 -48
  77. package/dist/tools/compoundInterest.d.ts.map +0 -1
  78. package/dist/tools/compoundInterest.js +0 -107
  79. package/dist/tools/compoundInterest.js.map +0 -1
  80. package/dist/tools/hsa.d.ts +0 -58
  81. package/dist/tools/hsa.d.ts.map +0 -1
  82. package/dist/tools/hsa.js +0 -129
  83. package/dist/tools/hsa.js.map +0 -1
  84. package/dist/tools/ira.d.ts +0 -55
  85. package/dist/tools/ira.d.ts.map +0 -1
  86. package/dist/tools/ira.js +0 -117
  87. package/dist/tools/ira.js.map +0 -1
  88. package/dist/tools/mortgage.d.ts +0 -51
  89. package/dist/tools/mortgage.d.ts.map +0 -1
  90. package/dist/tools/mortgage.js +0 -112
  91. package/dist/tools/mortgage.js.map +0 -1
  92. package/dist/tools/paycheck.d.ts +0 -61
  93. package/dist/tools/paycheck.d.ts.map +0 -1
  94. package/dist/tools/paycheck.js +0 -135
  95. package/dist/tools/paycheck.js.map +0 -1
  96. package/dist/tools/retirement401k.d.ts +0 -85
  97. package/dist/tools/retirement401k.d.ts.map +0 -1
  98. package/dist/tools/retirement401k.js +0 -141
  99. package/dist/tools/retirement401k.js.map +0 -1
  100. package/dist/tools/rmd.d.ts +0 -60
  101. package/dist/tools/rmd.d.ts.map +0 -1
  102. package/dist/tools/rmd.js +0 -130
  103. package/dist/tools/rmd.js.map +0 -1
  104. package/dist/tools/rothConversion.d.ts +0 -66
  105. package/dist/tools/rothConversion.d.ts.map +0 -1
  106. package/dist/tools/rothConversion.js +0 -141
  107. package/dist/tools/rothConversion.js.map +0 -1
  108. package/dist/tools/socialSecurity.d.ts +0 -51
  109. package/dist/tools/socialSecurity.d.ts.map +0 -1
  110. package/dist/tools/socialSecurity.js +0 -117
  111. package/dist/tools/socialSecurity.js.map +0 -1
  112. package/dist/util/zod-to-json-schema.d.ts +0 -28
  113. package/dist/util/zod-to-json-schema.d.ts.map +0 -1
  114. package/dist/util/zod-to-json-schema.js +0 -98
  115. package/dist/util/zod-to-json-schema.js.map +0 -1
package/README.md CHANGED
@@ -1,186 +1,126 @@
1
- # @markcolabs/mcp
2
-
3
- > A free, MIT-licensed Model Context Protocol (MCP) server exposing 9
4
- > deterministic financial calculator tools for AI agents — mortgage payment,
5
- > compound interest, 401(k) projection, Social Security benefit, paycheck
6
- > net pay, IRA contribution limit, Roth conversion tax impact, RMD
7
- > distribution amount, and HSA contribution limit. Powered by the same
8
- > engines that run the calculators at
9
- > [www.digitalcalculator.info](https://www.digitalcalculator.info), parity-tested
10
- > on every release. Hosted REST companion at
11
- > [mcp.digitalcalculator.info/mcp](https://mcp.digitalcalculator.info/mcp);
12
- > self-hostable over MCP stdio with `npx`.
13
-
14
- **Status**: v0.3.0 (Sprint 141 Wave 1A + 1B). Adds 4 new retirement-cluster
15
- tools (`dc.calculator.ira.contributionLimit`,
16
- `dc.calculator.rothConversion.taxImpact`, `dc.calculator.rmd.distributionAmount`,
17
- `dc.calculator.hsa.contributionLimit`), taking tool coverage 5 → 9.
18
- See [CHANGELOG.md](./CHANGELOG.md).
19
-
20
- Contract: **ADR-0039** (Tool Contract), reconciled per **ADR-0041**
21
- (post-deploy audit decisions).
22
-
23
- ---
24
-
25
- ## Install
26
-
27
- ```bash
28
- npm install -g @markcolabs/mcp
29
- ```
30
-
31
- Or run without installing:
32
-
33
- ```bash
34
- npx @markcolabs/mcp
35
- ```
36
-
37
- The package ships a `digitalcalculator-mcp` binary that speaks MCP over stdio.
38
-
39
- ## Quickstart — Claude Desktop
40
-
41
- Add to `claude_desktop_config.json` (macOS: `~/Library/Application Support/Claude/`,
42
- Windows: `%APPDATA%\Claude\`):
43
-
44
- ```json
45
- {
46
- "mcpServers": {
47
- "digitalcalculator": {
48
- "command": "node",
49
- "args": ["/absolute/path/to/global/node_modules/@markcolabs/mcp/dist/index.js"]
50
- }
51
- }
52
- }
53
- ```
54
-
55
- Restart Claude Desktop. In a new conversation, ask "what MCP tools do you
56
- have access to?" Claude should list the 9 `dc.calculator.*` tools.
57
-
58
- Full setup instructions (incl. MCP Inspector, agentic CLIs, HTTP REST):
59
- [www.digitalcalculator.info/mcp/quickstart/](https://www.digitalcalculator.info/mcp/quickstart/).
60
-
61
- ## Tools (v0.3.0)
62
-
63
- | Tool | Input (summary) | Returns (summary) |
64
- |---|---|---|
65
- | `dc.calculator.mortgage.monthlyPayment` | `principal`, `annualRatePercent`, `termYears` | Monthly P&I payment, total interest, total paid |
66
- | `dc.calculator.compoundInterest.futureValue` | `principal`, `annualRatePercent`, `years`, `compoundingFrequency`, optional `monthlyContribution` | Future value, total contributions, interest earned |
67
- | `dc.calculator.retirement401k.projection` | current balance, salary, contribution %, employer match, growth %, return %, current/retirement age | Year-by-year balance, employer match total, growth earned, IRS 2026 limits applied |
68
- | `dc.calculator.socialSecurity.estimatedBenefit` | `birthYear`, `currentEarnings`, `claimAge`, optional `yearsWorked`, `lifeExpectancy` | Monthly benefit at FRA, adjusted for claim age, lifetime projection, FRA age |
69
- | `dc.calculator.paycheck.netPay` | `grossAnnualSalary`, `payFrequency`, `federalFilingStatus`, `state`, pre-/post-tax deductions, optional `dependents` (default 0) | Per-paycheck gross/federal/FICA/state/net, annualized totals, no-state-income-tax flag |
70
- | `dc.calculator.ira.contributionLimit` | `age`, `filingStatus`, `magi`, `type` ('traditional' or 'roth') | Eligible contribution (with Roth MAGI phase-out + catch-up), `traditionalDeductionStatus` signal, 2026 IRS limits |
71
- | `dc.calculator.rothConversion.taxImpact` | `conversionAmount`, `age`, `filingStatus`, `currentTaxableIncome`, optional `retirementMarginalRatePercent` + `expectedReturnPercent` | Federal tax owed on conversion, marginal/effective rate, 5-year-rule flag, optional break-even years. Single-conversion scope (multi-year optimization is a future tool) |
72
- | `dc.calculator.rmd.distributionAmount` | `accountBalance`, `ownerAge` (>= 73 SECURE 2.0 floor) | Required minimum distribution, distribution period (Uniform Lifetime Table III), `tableUsed`, SECURE 2.0 §302 25% missed-RMD excise tax. `spouseAge` + `isSpouseSoleBeneficiary` accepted but ignored in v1 (Joint Life Expectancy Table is a future minor) |
73
- | `dc.calculator.hsa.contributionLimit` | `age`, `coverageTier` ('self-only' or 'family'), optional `employerContribution`, optional `estimatedMarginalRatePercent` | Total annual limit (with age-55+ catch-up), employee max remaining after employer reduction, optional payroll-deduction tax savings. 2026 IRS Rev. Proc. 2025-19 limits |
74
-
75
- | Resource | Purpose |
76
- |---|---|
77
- | `dc://disclaimers/ymyl` | Canonical YMYL disclaimer string returned in every tool response. |
78
-
79
- Every response carries the same envelope:
80
-
81
- ```json
82
- {
83
- "result": { /* tool-specific structured object */ },
84
- "disclaimer": "Estimates only — for educational purposes...",
85
- "methodology": {
86
- "url": "https://www.digitalcalculator.info/<calculator>/",
87
- "version": "YYYY-MM-DD"
88
- },
89
- "calculatedAt": "ISO-8601 UTC",
90
- "engineVersion": "SemVer of the engine that produced the result"
91
- }
92
- ```
93
-
94
- Failures use a single-envelope `ToolError` (HTTP 400 / 429 / 500):
95
-
96
- ```json
97
- { "error": { "code": "INPUT_VALIDATION", "message": "...", "field": "...", "retriable": false } }
98
- ```
99
-
100
- Error codes: `INPUT_VALIDATION`, `BUSINESS_RULE`, `INTERNAL`, `RATE_LIMIT`
101
- (only `RATE_LIMIT` is retriable).
102
-
103
- Full input schemas, output payload shapes, and error codes:
104
- [www.digitalcalculator.info/mcp/api-reference/](https://www.digitalcalculator.info/mcp/api-reference/).
105
-
106
- ## Hosted endpoint (no install needed)
107
-
108
- If you don't have an MCP client, POST JSON to the hosted REST companion:
109
-
110
- ```bash
111
- curl -X POST https://mcp.digitalcalculator.info/mcp \
112
- -H 'Content-Type: application/json' \
113
- -d '{
114
- "tool": "dc.calculator.mortgage.monthlyPayment",
115
- "input": { "principal": 300000, "annualRatePercent": 6.5, "termYears": 30 }
116
- }'
117
- ```
118
-
119
- Returns the same envelope shape as the MCP wire protocol. Rate-limited to
120
- 100 req / 5 min per IP (WAFv2). See [LICENSE-API.md](./LICENSE-API.md) for the
121
- hosted-API terms.
122
-
123
- ## Licensing
124
-
125
- Two distinct surfaces, two distinct license documents:
126
-
127
- - **Package source** (this npm package + the GitHub repo): [MIT LICENSE](./LICENSE).
128
- Self-host, modify, redistribute, embed in commercial products — all permitted.
129
- - **Hosted API** at `mcp.digitalcalculator.info/mcp`: governed by
130
- [LICENSE-API.md](./LICENSE-API.md) (acceptable use, rate limits, no-warranty,
131
- contact). These terms apply only when you call the hosted endpoint; they do
132
- NOT bind self-hosted use of the MIT source.
133
-
134
- If you self-host the MIT source, only the [LICENSE](./LICENSE) applies. If you
135
- use the hosted endpoint, both apply (MIT for what you read; LICENSE-API for how
136
- you call the hosted host).
137
-
138
- ## Local development
139
-
140
- ```bash
141
- cd packages/mcp
142
- npm install
143
- npm test # parity + envelope tests (vitest)
144
- npm run build # compile TypeScript to dist/
145
- npm start # boot MCP server over stdio
146
- ```
147
-
148
- Vitest runs `test/parity/*.test.ts` (per-tool parity vs. site source) and
149
- `test/envelope.test.ts` (envelope contract). Parity tests must pass before any
150
- engine change is shipped.
151
-
152
- ## Versioning
153
-
154
- | Bump | Trigger | Example |
155
- |---|---|---|
156
- | Major package | Tool rename, removed field, breaking envelope change | v0.1.0 → v0.2.0 (tool renames) |
157
- | Minor package | Additive tool, additive output field | v0.2.1 → v0.3.0 (IRA + Roth conversion + RMD + HSA tools, all four shipped together in S141 Wave 1A + 1B) |
158
- | Patch package | Bug fixes, metadata corrections | v0.2.0 → v0.2.1 (LICENSE, README, optional dependents, dead-link audit) |
159
- | `engineVersion` | Math changes only | 5 prior engines at `1.0.0`; new IRA + Roth + RMD + HSA engines start at `1.0.0` |
160
- | `methodology.version` | Source methodology document materially updated | ISO date of the canonical methodology page's `last-modified` |
161
-
162
- `engineVersion` and `methodology.version` are independent — callers should not
163
- assume they move in lockstep. See [CHANGELOG.md](./CHANGELOG.md) for the full
164
- version history.
165
-
166
- ## Links
167
-
168
- - [Quickstart](https://www.digitalcalculator.info/mcp/quickstart/) — install + first call in under 5 minutes
169
- - [API Reference](https://www.digitalcalculator.info/mcp/api-reference/) — full schemas, output shapes, error codes
170
- - [FAQ](https://www.digitalcalculator.info/mcp/faq/) — accuracy, YMYL posture, rate limits, support, change policy
171
- - [GitHub repo](https://github.com/mark57-ux/digitalcalculator/tree/main/packages/mcp) — open issues, contribute
172
- - [CHANGELOG](https://github.com/mark57-ux/digitalcalculator/blob/main/packages/mcp/CHANGELOG.md)
173
- - [ADR-0039 — MCP Tool Contract](https://github.com/mark57-ux/digitalcalculator/blob/main/docs/Claude/Architecture/ADR/ADR-0039-mcp-tool-contract.md)
174
- - [ADR-0041 — v1 Contract Reconciliation](https://github.com/mark57-ux/digitalcalculator/blob/main/docs/Claude/Architecture/ADR/ADR-0041-mcp-v1-contract-reconciliation.md)
175
-
176
- ## Support
177
-
178
- Open an issue at
179
- [github.com/mark57-ux/digitalcalculator/issues](https://github.com/mark57-ux/digitalcalculator/issues).
180
- Best-effort triage, no SLA. Include tool name, input that reproduces, expected
181
- vs. actual output, and the `engineVersion` from the response envelope.
182
-
183
- ## License
184
-
185
- MIT for the package source ([LICENSE](./LICENSE)). Hosted API terms in
186
- [LICENSE-API.md](./LICENSE-API.md). Markco Labs LLC.
1
+ # @markcolabs/mcp
2
+
3
+ > Thin stdio-HTTPS shim that gives AI agents (Claude Desktop, MCP Inspector, any MCP client) access to financial calculator tools hosted at [digitalcalculator.info](https://www.digitalcalculator.info/mcp/). New tools are added server-side without a package update — call `tools/list` on the hosted endpoint for the current list.
4
+
5
+ **v0.4.1** stdio-HTTPS shim (S142/ADR-0044a). Engine source is private and runs in AWS Lambda; this package is a transport adapter only (~60 lines, zero engine code, MIT-licensed).
6
+
7
+ ---
8
+
9
+ ## Install
10
+
11
+ ```bash
12
+ npm install -g @markcolabs/mcp
13
+ ```
14
+
15
+ Or run without installing (recommended):
16
+
17
+ ```bash
18
+ npx -y @markcolabs/mcp
19
+ ```
20
+
21
+ ## Quickstart - Claude Desktop
22
+
23
+ Add to `claude_desktop_config.json`:
24
+ - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
25
+ - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
26
+
27
+ ```json
28
+ {
29
+ "mcpServers": {
30
+ "digitalcalculator": {
31
+ "command": "npx",
32
+ "args": ["-y", "@markcolabs/mcp"]
33
+ }
34
+ }
35
+ }
36
+ ```
37
+
38
+ Restart Claude Desktop. Ask "what tools do you have?" and Claude should list the available financial calculator tools.
39
+
40
+ Full setup instructions: [www.digitalcalculator.info/mcp/quickstart/](https://www.digitalcalculator.info/mcp/quickstart/)
41
+
42
+ ---
43
+
44
+ ## Tools
45
+
46
+ Tools are served by the hosted endpoint at `mcp.digitalcalculator.info/mcp`. New tools are added server-side — the package does not need to be updated when the tool set grows. Call `tools/list` for the authoritative current list.
47
+
48
+ Tools currently available (as of v0.4.1):
49
+
50
+ | Tool | Input (summary) | Returns (summary) |
51
+ |---|---|---|
52
+ | `mortgage_monthly_payment` | `principal`, `annualRatePercent`, `termYears` | Monthly P&I, total interest, total paid |
53
+ | `compound_interest_future_value` | `principal`, `annualRatePercent`, `years`, `compoundingFrequency`, optional `monthlyContribution` | Future value, contributions, interest earned |
54
+ | `retirement_401k_projection` | balance, salary, contribution %, employer match, return %, ages | Year-by-year balance, IRS 2026 limits applied |
55
+ | `social_security_estimated_benefit` | `birthYear`, `currentEarnings`, `claimAge`, optional `yearsWorked`, `lifeExpectancy` | Monthly benefit at FRA, adjusted for claim age, lifetime projection |
56
+ | `paycheck_net_pay` | `grossAnnualSalary`, `payFrequency`, `federalFilingStatus`, `state`, pre-/post-tax deductions | Per-paycheck gross/federal/FICA/state/net, annualized totals |
57
+ | `ira_contribution_limit` | `age`, `filingStatus`, `magi`, `type` ('traditional' or 'roth') | Eligible contribution, Roth phase-out, catch-up, 2026 IRS limits |
58
+ | `roth_conversion_tax_impact` | `conversionAmount`, `age`, `filingStatus`, `currentTaxableIncome`, optional retirement rate | Federal tax owed, marginal/effective rate, 5-year-rule flag |
59
+ | `rmd_distribution_amount` | `accountBalance`, `ownerAge` (>= 73) | Required minimum distribution, Uniform Lifetime Table factor |
60
+ | `hsa_contribution_limit` | `age`, `coverageTier` ('self-only' or 'family'), optional `employerContribution` | Total annual limit, employee max remaining, 2026 IRS limits |
61
+ | `inflation_adjusted_value` | `amount`, `inflationRate`, `years`, optional `mode` | Future value or purchasing power after N years of inflation |
62
+ | `savings_future_balance` | `initialDeposit`, `monthlyContribution`, `annualInterestRate`, `years` | Future balance, total contributions, interest earned |
63
+
64
+ | Resource | Purpose |
65
+ |---|---|
66
+ | `dc://disclaimers/ymyl` | Canonical YMYL disclaimer string returned in every tool response. |
67
+ | `dc://methodologies/manifest` | Methodology URLs for all available calculator tools. |
68
+
69
+ Every tool response includes a `disclaimer` field ("Estimates only - for educational purposes...") and an `engineVersion` field. Failures return:
70
+
71
+ ```json
72
+ { "error": { "code": "INPUT_VALIDATION", "message": "...", "field": "...", "retriable": false } }
73
+ ```
74
+
75
+ Error codes: `INPUT_VALIDATION`, `BUSINESS_RULE`, `INTERNAL`, `RATE_LIMIT` (only `RATE_LIMIT` is retriable).
76
+
77
+ Full input schemas and output shapes: [www.digitalcalculator.info/mcp/api-reference/](https://www.digitalcalculator.info/mcp/api-reference/)
78
+
79
+ ---
80
+
81
+ ## Hosted endpoint
82
+
83
+ The MCP endpoint accepts JSON-RPC directly:
84
+
85
+ ```bash
86
+ curl -X POST https://mcp.digitalcalculator.info/mcp \
87
+ -H 'Content-Type: application/json' \
88
+ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
89
+ ```
90
+
91
+ Rate-limited to 100 req / 5 min per IP.
92
+
93
+ ---
94
+
95
+ ## Architecture
96
+
97
+ v0.4.x is a thin transport adapter with no calculation logic. Because engines run server-side, new tools appear automatically to any connected MCP client without a package update:
98
+
99
+ ```
100
+ Claude Desktop -> stdin -> @markcolabs/mcp (shim) -> HTTPS -> mcp.digitalcalculator.info/mcp -> Lambda engine
101
+ ```
102
+
103
+ The shim adds a 30-second request timeout (matching the AWS API Gateway integration ceiling) and a `User-Agent` header for diagnostics.
104
+
105
+ ---
106
+
107
+ ## Licensing
108
+
109
+ MIT - see [LICENSE](./LICENSE). The calculator engines at the hosted endpoint are proprietary; the MIT license does not apply to them.
110
+
111
+ ---
112
+
113
+ ## Links
114
+
115
+ - [Quickstart](https://www.digitalcalculator.info/mcp/quickstart/) - install and first call in under 5 minutes
116
+ - [API Reference](https://www.digitalcalculator.info/mcp/api-reference/) - full schemas, output shapes, error codes
117
+ - [FAQ](https://www.digitalcalculator.info/mcp/faq/) - accuracy, YMYL posture, rate limits, support
118
+ - [GitHub repo](https://github.com/mark57-ux/digitalcalculator/tree/main/packages/mcp)
119
+
120
+ ## Support
121
+
122
+ Open an issue at [github.com/mark57-ux/digitalcalculator/issues](https://github.com/mark57-ux/digitalcalculator/issues). Include the tool name, the input that reproduces the issue, and the expected vs. actual output.
123
+
124
+ ## License
125
+
126
+ MIT - see [LICENSE](./LICENSE). Markcolabs LLC.
package/dist/index.d.ts CHANGED
@@ -1,42 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * @markcolabs/mcp — MCP server entrypoint.
3
+ * @markcolabs/mcp v0.4.1 stdio↔HTTPS shim.
4
4
  *
5
- * v0.3.0 (per ADR-0039 + ADR-0041 reconciliation; S141 Wave 1A + 1B).
6
- * Registers:
7
- * - 9 tools:
8
- * dc.calculator.mortgage.monthlyPayment (S135 Item 5)
9
- * dc.calculator.compoundInterest.futureValue (S135 Item 5)
10
- * dc.calculator.retirement401k.projection (S136 Item 3, renamed v0.2.0 per ADR-0041 D2)
11
- * dc.calculator.socialSecurity.estimatedBenefit (S136 Item 3, renamed v0.2.0 per ADR-0041 D2)
12
- * dc.calculator.paycheck.netPay (S136 Item 3)
13
- * dc.calculator.ira.contributionLimit (S141 Wave 1A)
14
- * dc.calculator.rothConversion.taxImpact (S141 Wave 1A)
15
- * dc.calculator.rmd.distributionAmount (S141 Wave 1B — new)
16
- * dc.calculator.hsa.contributionLimit (S141 Wave 1B — new)
17
- * - 1 resource: dc://disclaimers/ymyl (canonical YMYL disclaimer)
5
+ * Proxies MCP JSON-RPC messages from stdin to the hosted MCP server at
6
+ * mcp.digitalcalculator.info/mcp and writes responses back to stdout.
18
7
  *
19
- * Transport: stdio (default for local MCP clients).
8
+ * Per ADR-0044a (ACCEPTED 2026-05-28): engine source lives in the private
9
+ * monorepo at infra/mcp/. This shim contains no calculation logic — it is
10
+ * a thin transport adapter only. MIT-licensed.
20
11
  *
21
- * S141 Wave 1A took tool coverage 5 → 7; Wave 1B finalizes 7 → 9 (v0.3.0).
12
+ * Claude Desktop config:
13
+ * { "mcpServers": { "digitalcalculator": { "command": "npx", "args": ["-y", "@markcolabs/mcp"] } } }
22
14
  */
23
- export { execute as executeMortgageTool } from "./tools/mortgage.js";
24
- export { execute as executeCompoundInterestTool } from "./tools/compoundInterest.js";
25
- export { execute as executeRetirement401kTool } from "./tools/retirement401k.js";
26
- export { execute as executeSocialSecurityTool } from "./tools/socialSecurity.js";
27
- export { execute as executePaycheckTool } from "./tools/paycheck.js";
28
- export { execute as executeIraTool } from "./tools/ira.js";
29
- export { execute as executeRothConversionTool } from "./tools/rothConversion.js";
30
- export { execute as executeRmdTool } from "./tools/rmd.js";
31
- export { execute as executeHsaTool } from "./tools/hsa.js";
32
- export * as mortgageEngine from "./engines/mortgage.js";
33
- export * as compoundInterestEngine from "./engines/compoundInterest.js";
34
- export * as retirement401kEngine from "./engines/retirement401k.js";
35
- export * as socialSecurityEngine from "./engines/socialSecurity.js";
36
- export * as paycheckEngine from "./engines/paycheck.js";
37
- export * as iraEngine from "./engines/ira.js";
38
- export * as rothConversionEngine from "./engines/rothConversion.js";
39
- export * as rmdEngine from "./engines/rmd.js";
40
- export * as hsaEngine from "./engines/hsa.js";
41
- export * from "./envelope.js";
15
+ export {};
42
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;GAoBG;AA4BH,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG"}