>
About

MCP Changelog & Version History

What changed on mcp.digitalcalculator.info/mcp, release by release. Through the whole 0.x era, anonymous-tier responses stayed byte-for-byte stable and every anonymous-surface change was purely additive. Contract 1.0.0 is the one deliberate exception: a pre-listing surface consolidation made while the 0.x rules still permitted it — with every retired tool kept working indefinitely through its REST alias. For the rules that govern how we change things from 1.0.0 forward, see the Versioning & Deprecation Contract.

Current version

The MCP endpoint tracks three independent version numbers, each covering a different surface:

  • Contract version — returned as serverInfo.version in the initialize handshake at https://mcp.digitalcalculator.info/mcp. This is the canonical version of the tool contract (tool names, input/output shapes, envelope). Point any MCP client at the endpoint and read the field — it can never disagree with what the server is running.
  • npm shim version (@markcolabs/mcp, currently 0.4.3) — versions the optional stdio transport adapter, not the contract. A shim patch does not imply a contract change.
  • Per-tool engine version (engineVersion, returned in every response) — versions the math behind a specific result; moves when a calculator’s formula is refined, independently of the contract.

These are deliberately separate axes (see the Versioning & Deprecation Contract); a change to one does not imply a change to the others.

Reading the live version

We deliberately do not print the current contract version as a static number on this page — a hardcoded number can drift out of sync with the running server. The authoritative value is always the serverInfo.version field of the initialize handshake response. Read it from the endpoint and you can never be wrong.

Release history

Each release below carries a Compatibility line. Across the entire 0.x history the answer is the same: anonymous-tier parity maintained byte-for-byte, no breaking change. Contract 1.0.0 is the single deliberate exception — the surface consolidation the 0.x version range existed to permit, executed before any directory listing froze the schemas, with the REST compatibility layer keeping every retired name working.

Release history for the Digital Calculator MCP server and the @markcolabs/mcp shim
Release Date What changed Compatibility
v0.1.0 2026-05-09 First public shim release. 5 tools. Initial release — baseline.
v0.2.0 2026-05-22 Hosted Streamable-HTTP cutover; 2 tool renames; engine-version policy reset to 1.0.0. Anonymous-tier parity maintained byte-for-byte; no breaking change.
v0.2.1 2026-05-27 Packaging/licensing polish (patch). Anonymous-tier parity maintained byte-for-byte; no breaking change.
v0.3.0 2026-05-27 Retirement cluster added (IRA, Roth conversion, RMD, HSA) → 9 tools. Anonymous-tier parity maintained byte-for-byte; no breaking change.
v0.4.3 2026-06-12 stdio↔HTTPS transport-adapter architecture; MCP Registry submission metadata; 13 tools at that release. Anonymous-tier parity maintained byte-for-byte; no breaking change.
S150 2026-06 / 07 Bearer-tier authentication foundation + backward-compatibility regression gate (16-call golden baseline + schema-snapshot CI check). Anonymous-tier parity maintained byte-for-byte; no breaking change.
S151 2026-06 / 07 Published the formal MCP Tool Versioning & Deprecation Contract (notice windows: 90 days anonymous / 180 days Bearer). Anonymous-tier parity maintained byte-for-byte; no breaking change.
v0.8.x 2026-07-06 Added generate_report (tool 14): branded PDF report generation for Bearer-tier sessions. Bearer-tier only — anonymous responses untouched; no breaking change.
v0.9.x 2026-07-07 Added money_flow_map (tool 15): conversational budget → computed summary + interactive Sankey-map deep link, Bearer-tier at launch. Bearer-tier only — anonymous responses untouched; no breaking change.
v0.10.x 2026-07-11 Contract-quality wave: round-to-cents on all 13 calculator outputs plus truthful-caveat additions (RMD joint-life, 401(k) catch-up, HSA excess-contribution, IRA deductibility, and more). Additive fields only; anonymous == authenticated byte-parity preserved; no breaking change.
v0.11.x 2026-07-17 money_flow_map promoted to the anonymous tier: it now appears in the anonymous tools/list (14 tools) and the methodology manifest, callable without an API key under standard anonymous rate limits. Additive to the anonymous surface (a new tool appears; every existing tool’s response is unchanged). MINOR bump; golden baseline + schema snapshot regenerated with the release.
1.0.0 2026-08-07 Contract 1.0.0 — surface consolidation. The anonymous surface becomes 9 tools: four new verb-first scenario tools (plan_retirement_income, evaluate_roth_conversion, check_contribution_eligibility, project_growth) absorb eight granular tools; the four highest-traffic calculators and money_flow_map are kept. Adds the provenance envelope fields (rule_year, sources[]), three statutory reference-data resources (dc://irs/limits/2026, dc://irs/uniform-lifetime, dc://ssa/bend-points/2026), the prompts capability (3 prompts), a shared canonical vocabulary across every schema, and protocol revision 2026-07-28 support (server/discover, session-header-free operation, response cacheability advertisements). The -poc suffix retires. The one deliberate breaking release, made under 0.x rules before any directory listing froze the surface. REST compatibility guarantee: every pre-1.0 alias at api.digitalcalculator.info/v1/tools/{alias}/calculate keeps working indefinitely with its original request/response shapes — see the alias table. A 32-case replay battery verified numeric parity between the absorbed tools and their composite successors. Rolling out: 1.0.0 is validated on our staging pipeline; the hosted production endpoint serves it after the next production deploy — read serverInfo.version from the endpoint for the authoritative answer.

Why the contract and shim versions differ

You’ll notice the shim version (@markcolabs/mcp 0.4.3) and the release milestones (S150, S151) don’t line up one-to-one. That is expected: the shim versions the stdio adapter, while the server-side foundation and contract work advance on their own cadence. The only version that governs the shape of your tool results is the serverInfo.version contract version from the handshake.

What a release can — and can’t — do to you

Under our contract, additive changes (new tools, new optional inputs, new output fields) ship freely as MINOR bumps and a compliant client keeps working through them unchanged. Engine-math refinements that keep the same output shape are PATCH bumps — the per-tool engineVersion in every response tells you when the math moved. The only kind of change that can break existing code — removing or renaming a tool, removing an input, renaming or retyping an output field — is a MAJOR bump, and from 1.0.0 forward it triggers the full deprecation process: at least 90 days notice for anonymous callers, 180 days for Bearer customers, with both shapes working during the coexistence window. Contract 1.0.0 itself was the 0.x-era consolidation those rules now protect against ever needing again — and even it removed nothing from REST.

How we keep releases from breaking you

This is enforced in CI, not just promised in prose. Every build runs a JSON schema snapshot of every tool’s input and output, plus a 16-call golden baseline captured with no Authorization header. If a release would change the shape of an anonymous response without an intentional, reviewed version bump, the deploy fails before it reaches you. See Anonymous-Parity Guarantee for the details.

FAQ

What version is the server running right now?

Read the serverInfo.version field from the initialize handshake at https://mcp.digitalcalculator.info/mcp. That is the canonical, always-current answer. We intentionally do not print it as a static number here so it can never go stale.

Does a new release require me to update my client?

No. Every release in the history above preserved anonymous-tier responses byte-for-byte. New tools and optional inputs are additive — existing clients ignore what they don’t call. You only need to act if we announce a MAJOR bump, which comes with 90–180 days of advance notice.

Why is the npm shim on 0.4.3 while you reference S150/S151 milestones?

The shim (@markcolabs/mcp) versions the optional stdio transport adapter. Sprint milestones like S150 and S151 cover server-side and contract work that doesn’t change the shim. They are separate axes on purpose — see Current version.

Where do I get notified about upcoming breaking changes?

The Deprecation Policy is the source of truth today: MAJOR bumps publish a dated notice, a note in the tool’s MCP description, and an X-Deprecation response header; Bearer customers also get a direct email. A subscribable feed is planned but not yet live.

See Also

This changelog is the customer-facing summary of releases. The authoritative contract version is always the serverInfo.version field of the live initialize handshake; the governing rules are in the Versioning & Deprecation Contract and ADR-0053.