@markcolabs/mcp 0.4.1 → 0.4.2

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,126 +1,126 @@
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.
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.2** — 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.2):
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.1 — stdio↔HTTPS shim.
3
+ * @markcolabs/mcp v0.4.2 — 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.1 — stdio↔HTTPS shim.
3
+ * @markcolabs/mcp v0.4.2 — 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,7 +16,7 @@ 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";
19
+ const PACKAGE_VERSION = "0.4.2";
20
20
  const REQUEST_TIMEOUT_MS = 30_000;
21
21
  function post(body) {
22
22
  return new Promise((resolve, reject) => {
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@markcolabs/mcp",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
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",
7
7
  "main": "./dist/index.js",
8
8
  "types": "./dist/index.d.ts",
9
9
  "bin": {
10
- "digitalcalculator-mcp": "./dist/index.js"
10
+ "digitalcalculator-mcp": "dist/index.js"
11
11
  },
12
12
  "scripts": {
13
13
  "build": "tsc",
@@ -63,7 +63,7 @@
63
63
  },
64
64
  "repository": {
65
65
  "type": "git",
66
- "url": "https://github.com/mark57-ux/digitalcalculator.git",
66
+ "url": "git+https://github.com/mark57-ux/digitalcalculator.git",
67
67
  "directory": "packages/mcp"
68
68
  }
69
69
  }