Ship the numeric layer for AI money conversations
A free hosted Model Context Protocol (MCP) server with 9 tools — 4 scenario tools, 4 single-quantity calculators, and an interactive money-flow map — live at https://mcp.digitalcalculator.info/mcp (Streamable HTTP, POST, no auth). Deterministic engines, statutory data kept current, and provenance on every number. Connect from claude.ai or Claude Desktop in under a minute via Custom Connectors. No signup, no API key.
What this is
The Model Context Protocol (MCP) is an open standard that lets AI tools call structured backends. Language models are excellent at understanding a money question and terrible at being a calculator or a statute tracker — arithmetic drifts, and last year's IRS rules linger in the weights. Our hosted MCP server is the missing numeric layer: it exposes deterministic financial engines as MCP tools so an agent can answer "what's my monthly mortgage payment on $400k at 6.5%" or "when do my RMDs start?" with math-checked answers backed by IRS 2026 limits, SSA bend points, and the current SECURE 2.0 rules — not LLM-recalled arithmetic.
Every response carries a YMYL disclaimer, a methodology link, the statutory rule_year the computation used, and sources[] — the reference-data resources the numbers came from. The provenance block is what a compliance reviewer audits; it is the reason an advisor can put these numbers in front of a client.
The same question, twice
Ask a capable assistant, with no tools connected: “I was born in 1968 and have $500,000 in a traditional 401(k). When do my required minimum distributions start?”
Answering from training data (no tools)
A commonly reproduced answer: “RMDs begin at age 73, so you would take your first RMD in 2041.” That is the rule for people born 1951–1959 — and it is wrong for anyone born in 1960 or later. SECURE 2.0 §107 moved the required-beginning age for that cohort to 75, which for a 1968 birth year means the first RMD year is 2043, not 2041. The stakes are real: an RMD taken on the wrong schedule risks the SECURE 2.0 §302 excise tax of 25% of the shortfall. Try it against your own assistant — it takes about 30 seconds.
Now the same question through this server — one plan_retirement_income call with include: ["rmd"], birth_year: 1968, balance: 500000. The result below is the live engine output, verbatim:
{
"result": {
"rule_year": 2026,
"birth_year": 1968,
"age_in_rule_year": 58,
"modules": {
"rmd": {
"applies": false,
"rmd_start_age": 75,
"first_rmd_year": 2043,
"note": "No RMD is required for rule year 2026: you are 58 and your SECURE 2.0 required-beginning age is 75 (born 1968). Your first RMD year is 2043. Source: SECURE 2.0 Act §107."
}
}
},
"methodology": { "url": "https://www.digitalcalculator.info/401k-retirement-calculator/methodology/", "version": "2026-05-27" },
"rule_year": 2026,
"sources": ["dc://irs/uniform-lifetime", "dc://methodologies/manifest"],
"engineVersion": "1.0.0"
}The connected assistant answers 75, first RMD year 2043 — and can cite where the number came from: the computation states its rule_year, and sources[] names the exact reference table used (dc://irs/uniform-lifetime — readable by the agent via resources/read). The birth-cohort rule is data the server maintains, not something the model has to remember. That difference — a verifiable provenance trail versus a confident recollection — is the whole product.
Available tools (9)
Four verb-first scenario tools answer decision-shaped questions in one linked call, four domain-first single-quantity calculators answer the highest-volume direct questions, and money_flow_map turns a described budget into an interactive map:
- Plan retirement income — 401(k) accumulation, Social Security estimate, and the SECURE 2.0 RMD picture for one person in one mutually-consistent call; module selection via
include[].plan_retirement_income - Evaluate Roth conversion — Federal tax impact of a single conversion using 2026 brackets: incremental tax, marginal vs effective rate, five-year-rule flag, break-even framing.
evaluate_roth_conversion - Check contribution eligibility — 401(k), Traditional IRA, Roth IRA, or HSA limit for 2026 with catch-up tiers and phase-outs applied; one
kindenum.check_contribution_eligibility - Project growth — Nominal and inflation-adjusted growth of a balance with contributions at any compounding frequency.
project_growth - Mortgage payment — Monthly P&I, total interest, total paid for a fixed-rate mortgage.
mortgage_monthly_payment - Loan payment — Monthly payment and total interest for any fixed-rate amortizing loan.
loan_monthly_payment - Paycheck net pay — IRS 2026 federal Percentage Method + FICA + state-aware tax estimate.
paycheck_net_pay - Emergency fund — Personalized emergency-fund target and savings timeline by household situation.
emergency_fund_recommendation - Money-flow map — Interactive money-flow (Sankey) budget map of where each dollar of income goes.
money_flow_map
Plus five dc:// resources — the statutory tables the engines compute from (dc://irs/limits/2026, dc://irs/uniform-lifetime, dc://ssa/bend-points/2026), the canonical YMYL disclaimer, and a methodology-URL manifest — and three server prompts (retirement-readiness-review, conversion-window-analysis, withholding-checkup). See the API Reference for all of it. Every tool retired in the 1.0 consolidation remains callable indefinitely through its REST alias.
How to connect
Claude Custom Connectors (recommended)
In claude.ai or Claude Desktop: Settings → Connectors → "Add custom connector", then paste https://mcp.digitalcalculator.info/mcp. No authentication required — tools appear in your next conversation. Full steps →
MCP Inspector
For debugging: npx @modelcontextprotocol/inspector, choose the Streamable HTTP transport, and connect to https://mcp.digitalcalculator.info/mcp. Browser UI for every tool. Full steps →
npm shim (stdio-only clients)
If your MCP client only speaks stdio, npx @markcolabs/mcp runs a thin local shim that forwards stdio JSON-RPC to the hosted HTTPS endpoint. Full steps →
Raw HTTP / REST
No MCP client? POST JSON-RPC directly to https://mcp.digitalcalculator.info/mcp from any HTTP client. A REST companion API at https://api.digitalcalculator.info/v1/tools/{alias}/calculate runs the same engines without the JSON-RPC wrapper. Full steps →
A request, end-to-end
Mortgage payment on $300,000 at 6.5% for 30 years, as an MCP tools/call:
curl -X POST https://mcp.digitalcalculator.info/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"mortgage_monthly_payment","arguments":{"principal":300000,"annualRatePercent":6.5,"termYears":30}}}'Returns a JSON-RPC envelope whose result.content[0].text is the structured tool result every tool uses:
{
"result": { "monthlyPayment": 1896.20, "totalInterest": 382633.47, "totalPaid": 682633.47 },
"disclaimer": "Estimates only — for educational purposes...",
"methodology": { "url": "https://www.digitalcalculator.info/mortgage-calculator/methodology/", "version": "2026-05-09" },
"rule_year": 2026,
"sources": ["dc://methodologies/manifest"],
"calculatedAt": "2026-08-07T18:42:11.123Z",
"engineVersion": "1.0.0"
}The same envelope — result, disclaimer, methodology, rule_year, sources[], timestamp, engine version — comes back from every tool. See the API Reference for per-tool schemas, output shapes, and error codes.
Why use it
- Deterministic engines — The same inputs produce the same cents, every time, from the same engines that power the calculators at digitalcalculator.info. Parity-tested via Vitest; anonymous responses are locked by a golden baseline in CI.
- Statutory data kept current — IRS limits, federal brackets, SSA bend points, and the Uniform Lifetime Table are maintained as versioned data with published-source citations — and served to agents directly as readable resources, not just baked into tool math.
- Provenance on every number — Every response carries the canonical YMYL disclaimer, a methodology link, the
rule_yearused, and thesources[]it drew on. Agents can quote results with a full audit trail. - Free tier — No sign-up, no API key: 500 calls per UTC day per IP (30 per 5-minute window), under a 100-requests/minute endpoint throttle shared by everyone. Higher per-key allowances are on the rate card.
- Open License — MIT-licensed npm package (the
LICENSEships in the npm package). Embed in commercial agents, internal tools, or AI products without restriction. The hosted endpoint is additionally governed by separate hosted-API terms (LICENSE-API.md— rate limits, acceptable use, no-warranty). Self-hosting the source is unaffected.
Next steps
- Quickstart — Connect + first call in under 5 minutes
- API Reference — Full schemas, output shapes, error codes for all 9 tools
- Versioning & Deprecation Contract — Semver rules, 90/180-day notice windows, anonymous-parity guarantee
- Changelog — Release history including the contract 1.0.0 surface consolidation
- Status — Published operational snapshot: endpoint operational, 9 tools live, anonymous-parity green
- Pricing — Anonymous free tier plus Developer, Business, and Enterprise API plans
- API key onboarding — How to request a key and integrate, end to end
- FAQ — Accuracy, YMYL posture, rate limits, support, change policy
- npm package — stdio shim, CHANGELOG, version history
- Contact & support — Questions, feedback, integration help
Support
Found a bug, need help integrating, or want to show off what you built? Email admin@markcolabs.com.