MCP Server Quickstart
Get the Digital Calculator MCP server running in your AI tool in under 5 minutes. Pick the option that matches your setup.
What you'll get
5 calculator tools usable directly from Claude Desktop, MCP Inspector, agentic CLIs, or any HTTP client. Free, MIT-licensed npm package (see LICENSE); hosted endpoint additionally governed by LICENSE-API.md (rate limits + acceptable use). No signup, no API key.
Option 1 — Claude Desktop (recommended)
Time: ~3 minutes.
Step 1: Install the package globally
npm install -g @markcolabs/mcpOr use npx @markcolabs/mcp if you prefer not to install globally — adjust the args in step 2 accordingly.
Step 2: Wire it into Claude Desktop's config
Open claude_desktop_config.json:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add this entry to mcpServers:
{
"mcpServers": {
"digitalcalculator": {
"command": "node",
"args": ["/absolute/path/to/global/node_modules/@markcolabs/mcp/dist/index.js"]
}
}
}To find the absolute path: npm root -g returns your global node_modules directory. Append /@markcolabs/mcp/dist/index.js.
Step 3: Restart Claude Desktop
Quit and relaunch. In a new conversation, type "what MCP tools do you have access to?" — Claude should list the 5 dc.calculator.* tools.
Step 4: Try it
Ask Claude something like:
Example prompt
What's the monthly payment on a $400,000 mortgage at 6.5% over 30 years?
Claude will invoke dc.calculator.mortgage.monthlyPayment and return a structured answer with the math + the YMYL disclaimer.
Option 2 — MCP Inspector (for debugging)
Time: ~1 minute.
The official MCP Inspector is a browser-based debugging UI for MCP servers.
npx @modelcontextprotocol/inspector node $(npm root -g)/@markcolabs/mcp/dist/index.jsThis opens Inspector in your browser. You'll see:
- All 5 tools listed in the Tools tab
- 1 resource (
dc://disclaimers/ymyl) in the Resources tab - The MCP protocol handshake logged in the bottom panel
Click any tool, fill the input form, and hit "Call Tool" to invoke it. Useful for verifying tool schemas before integrating in your own client.
Option 3 — Agentic CLIs / custom clients
Any client that speaks MCP stdio works. Spawn node /path/to/@markcolabs/mcp/dist/index.js and pipe JSON-RPC over stdin/stdout per the MCP spec.
If you're using a framework like LangChain's MCP adapter, OpenAI Agents SDK, or similar, pass the same command + args you'd use for Claude Desktop.
Option 4 — HTTP REST endpoint (no MCP client needed)
Time: ~30 seconds, just curl.
The companion REST API at https://mcp.digitalcalculator.info/mcp exposes the same tool semantics over plain HTTP POST. Use this when you don't have an MCP client (server-side scripts, CI checks, JavaScript fetch from a backend, etc.).
curl -X POST https://mcp.digitalcalculator.info/mcp \
-H 'Content-Type: application/json' \
-d '{
"tool": "dc.calculator.mortgage.monthlyPayment",
"input": {
"principal": 400000,
"annualRatePercent": 6.5,
"termYears": 30
}
}'Response (HTTP 200):
{
"result": {
"monthlyPayment": 2528.27,
"totalInterest": 510178.83,
"totalPaid": 910178.83
},
"disclaimer": "Estimates only — for educational purposes...",
"methodology": {
"url": "https://www.digitalcalculator.info/mortgage-calculator/",
"version": "2026-05-09"
},
"calculatedAt": "2026-05-23T18:42:11.123Z",
"engineVersion": "1.0.0"
}Note
This endpoint is NOT the MCP wire protocol — it's a REST API. Pointing MCP Inspector at the URL will fail handshake (see the FAQ). For true MCP, use the npm package over stdio (options 1–3 above).
Examples for each tool
Mortgage payment
curl -X POST https://mcp.digitalcalculator.info/mcp \
-H 'Content-Type: application/json' \
-d '{"tool":"dc.calculator.mortgage.monthlyPayment","input":{"principal":300000,"annualRatePercent":6.5,"termYears":30}}'Compound interest with monthly contributions
curl -X POST https://mcp.digitalcalculator.info/mcp \
-H 'Content-Type: application/json' \
-d '{"tool":"dc.calculator.compoundInterest.futureValue","input":{"principal":10000,"annualRatePercent":7,"years":30,"compoundingFrequency":"monthly","monthlyContribution":500}}'401(k) projection through retirement
curl -X POST https://mcp.digitalcalculator.info/mcp \
-H 'Content-Type: application/json' \
-d '{"tool":"dc.calculator.retirement401k.projection","input":{"currentBalance":25000,"annualSalary":80000,"contributionPercent":6,"employerMatchPercent":50,"employerMatchLimitPercent":6,"annualSalaryGrowthPercent":3,"annualReturnPercent":7,"currentAge":35,"retirementAge":65}}'Social Security estimate
curl -X POST https://mcp.digitalcalculator.info/mcp \
-H 'Content-Type: application/json' \
-d '{"tool":"dc.calculator.socialSecurity.estimatedBenefit","input":{"birthYear":1965,"currentEarnings":80000,"claimAge":67}}'Paycheck net pay
The dependents field is optional as of v0.2.1 (default 0; the field currently has no effect on the calculation — reserved for a future engine version). The example below omits it:
curl -X POST https://mcp.digitalcalculator.info/mcp \
-H 'Content-Type: application/json' \
-d '{"tool":"dc.calculator.paycheck.netPay","input":{"grossAnnualSalary":80000,"payFrequency":"biweekly","federalFilingStatus":"single","state":"CA","preTaxDeductionsAnnual":4800,"postTaxDeductionsAnnual":0}}'For full input schemas, output payload shapes, and per-tool detail, see the API Reference.
Common errors
Unknown tool: <name>
You're calling a tool name that doesn't exist. Note that v0.2.0 renamed two tools:
dc.calculator.401k.projection→dc.calculator.retirement401k.projectiondc.calculator.socialSecurity.estimate→dc.calculator.socialSecurity.estimatedBenefit
If you integrated against v0.1.0 (now deprecated on npm), upgrade to @markcolabs/mcp@latest and update tool names. The CHANGELOG has full migration notes.
INPUT_VALIDATION with field: "<name>"
Input failed Zod schema validation. The message field is human-readable ("Number must be greater than or equal to 0") and the field identifies which input. Check the API Reference for valid ranges.
BUSINESS_RULE error
Inputs are individually valid but the combination doesn't produce a meaningful result (e.g., 401(k) retirementAge not greater than currentAge). Fix the cross-field issue.
RATE_LIMIT (HTTP 429)
The HTTP endpoint is throttled to 100 requests/minute globally. Back off and retry — retriable: true in the error envelope. The npm stdio path runs locally and isn't rate-limited.
Next steps
- API Reference — full schemas + output shapes for each tool
- FAQ — accuracy, YMYL posture, support, change policy
- npm package — source + CHANGELOG
- GitHub repo — open issues, contribute
Building something interesting with the MCP server? We'd love to hear about it — open an issue and tag it mcp-showcase.