@markcolabs/mcp 0.4.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.
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,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * @markcolabs/mcp v0.4.0 — stdio↔HTTPS shim.
3
+ * @markcolabs/mcp v0.4.1 — stdio↔HTTPS shim.
4
4
  *
5
5
  * Proxies MCP JSON-RPC messages from stdin to the hosted MCP server at
6
6
  * mcp.digitalcalculator.info/mcp and writes responses back to stdout.
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * @markcolabs/mcp v0.4.0 — stdio↔HTTPS shim.
3
+ * @markcolabs/mcp v0.4.1 — stdio↔HTTPS shim.
4
4
  *
5
5
  * Proxies MCP JSON-RPC messages from stdin to the hosted MCP server at
6
6
  * mcp.digitalcalculator.info/mcp and writes responses back to stdout.
@@ -16,6 +16,8 @@ import * as readline from "readline";
16
16
  import * as https from "https";
17
17
  const MCP_ENDPOINT = "https://mcp.digitalcalculator.info/mcp";
18
18
  const SESSION_ID = Math.random().toString(36).slice(2);
19
+ const PACKAGE_VERSION = "0.4.1";
20
+ const REQUEST_TIMEOUT_MS = 30_000;
19
21
  function post(body) {
20
22
  return new Promise((resolve, reject) => {
21
23
  const url = new URL(MCP_ENDPOINT);
@@ -28,12 +30,15 @@ function post(body) {
28
30
  "Content-Type": "application/json",
29
31
  "Content-Length": data.byteLength,
30
32
  "Mcp-Session-Id": SESSION_ID,
33
+ "User-Agent": `@markcolabs/mcp/${PACKAGE_VERSION}`,
31
34
  },
35
+ timeout: REQUEST_TIMEOUT_MS,
32
36
  }, (res) => {
33
37
  const chunks = [];
34
38
  res.on("data", (chunk) => chunks.push(chunk));
35
39
  res.on("end", () => resolve(Buffer.concat(chunks).toString("utf8")));
36
40
  });
41
+ req.on("timeout", () => req.destroy(new Error(`Request timed out after ${REQUEST_TIMEOUT_MS / 1000}s`)));
37
42
  req.on("error", reject);
38
43
  req.write(data);
39
44
  req.end();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,YAAY,GAAG,wCAAwC,CAAC;AAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEvD,SAAS,IAAI,CAAC,IAAY;IACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CACvB;YACE,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,IAAI,EAAE,GAAG,CAAC,QAAQ;YAClB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,gBAAgB,EAAE,IAAI,CAAC,UAAU;gBACjC,gBAAgB,EAAE,UAAU;aAC7B;SACF,EACD,CAAC,GAAG,EAAE,EAAE;YACN,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC,CACF,CAAC;QACF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChB,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAE/E,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,IAAI,CACnG,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@markcolabs/mcp",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "private": false,
5
5
  "description": "MCP stdio↔HTTPS shim for digitalcalculator.info financial calculators. Proxies MCP JSON-RPC to the hosted server at mcp.digitalcalculator.info/mcp. Per ADR-0044a: engine source is private; this package is a thin transport adapter only.",
6
6
  "type": "module",
@@ -46,7 +46,14 @@
46
46
  "inflation",
47
47
  "savings",
48
48
  "digitalcalculator",
49
- "digitalcalculator.info"
49
+ "digitalcalculator.info",
50
+ "financial-planning",
51
+ "loan",
52
+ "retirement-planning",
53
+ "investment",
54
+ "debt",
55
+ "capital-gains",
56
+ "net-worth"
50
57
  ],
51
58
  "author": "Markcolabs LLC",
52
59
  "license": "MIT",