@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 +126 -126
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/package.json +3 -3
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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": "
|
|
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
|
}
|