Your AI can answer mortgage questions — but only with the right tools
You ask Claude: "Should I refinance my mortgage?"
Claude gives you a thoughtful answer. It explains rate spreads, break-even periods, closing costs. It sounds authoritative. But then you notice: the math doesn't add up. The monthly savings it quoted are off by $180. The break-even timeline is wrong by two years.
This isn't Claude being lazy. It's a fundamental limitation of language models doing arithmetic. LLMs predict the next token — they don't execute deterministic algorithms. When you need 6.5% APR × $420,000 × 360 months, you need actual code to run. Not a prediction.
This is the problem MCP (Model Context Protocol) solves.
The problem: LLMs hallucinate numbers
I've been working with AI assistants for financial and fitness calculations for a while, and the pattern is consistent:
- Qualitative analysis: excellent
- Precise arithmetic: unreliable
Ask Claude to explain the difference between compound and simple interest? Brilliant answer. Ask it to calculate exactly how much $10,000 grows at 7% annually for 23 years with $300/month contributions? You'll get a plausible-looking number that may be wrong by thousands of dollars.
This matters when people are making real decisions:
- "Can I afford this house?"
- "How many calories should I eat to lose 1lb/week?"
- "What's my actual take-home after California state taxes?"
Wrong answers in these contexts aren't just annoying — they're harmful.
The solution: @thicket-team/mcp-calculators
I built and published an MCP server that exposes calculator tools directly to AI assistants. When you have it installed, Claude doesn't predict your TDEE — it calculates it using the Mifflin-St Jeor formula. It doesn't estimate your mortgage payment — it computes it to the cent.
npx @modelcontextprotocol/install @thicket-team/mcp-calculators
Or if you prefer to add it manually to Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on Mac, %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"thicket-calculators": {
"command": "npx",
"args": ["@thicket-team/mcp-calculators"]
}
}
}
For Claude Code users:
claude mcp add thicket-calculators -- npx @thicket-team/mcp-calculators
For Cursor users, add the same JSON block to your MCP settings.
Verification: After restarting Claude, type "What tools do you have available?" — you should see the calculator tools listed.
Tool inventory: 8 core MCP tools + 25+ linked calculators
The MCP package exposes 8 tools that run calculations locally on your machine (no data is sent anywhere):
| Tool | What it calculates | Full calculator |
|---|---|---|
calculate_tdee |
Total Daily Energy Expenditure (Mifflin-St Jeor equation, all activity levels) | fit.thicket.sh/tdee |
calculate_bmi |
Body Mass Index with WHO classification (Underweight/Normal/Overweight/Obese) | fit.thicket.sh/bmi |
calculate_mortgage |
Monthly payment + total interest over loan life | money.thicket.sh/mortgage |
calculate_compound_interest |
Future value with monthly contributions over any period | money.thicket.sh/compound-interest |
calculate_take_home_pay |
Net pay after federal tax + all 50 state taxes + FICA | pay.thicket.sh/take-home |
calculate_percentage |
Three modes: X% of Y, % change between two values, X is what % of Y | thicket.sh |
calculate_loan_payment |
Monthly payment + full amortization schedule (first 12 months) | money.thicket.sh/loan |
generate_password |
Cryptographically secure passwords (any length, configurable character sets) | thicket.sh |
Each tool response includes the precise result plus a link to the full interactive calculator on the relevant Thicket site — so if you want to run multiple scenarios, adjust assumptions, or share results, you can jump straight to the tool.
Beyond these 8 MCP tools, the Thicket suite has 25+ additional calculators available on the web:
Fitness (fit.thicket.sh): BMR, body fat %, macros, ideal weight, lean body mass, one-rep max, heart rate zones, calories burned, water intake, protein targets, pace calculator, and more.
Finance (money.thicket.sh): Mortgage affordability, auto loans, student loans, home equity, debt consolidation, loan payoff, refinance break-even.
Paycheck (pay.thicket.sh): Hourly to salary, overtime pay, bonus calculator, freelance rate, raise impact, tip calculator, cost-of-living comparison.
Real use case: TDEE + mortgage + take-home pay in one conversation
Here's a scenario that shows why this matters. I had a conversation with Claude that went like this:
Me: I'm 32 years old, male, 185 lbs, 5'11", moderately active. What's my TDEE? And I'm looking at a $485,000 home with 10% down at 6.875% for 30 years. What's the monthly payment? And I make $105,000/year in Texas — what's my take-home?
Without MCP, Claude would estimate. With the MCP tools installed, it called all three tools sequentially and returned:
- TDEE: 2,847 calories/day (maintenance), 2,347 cal/day for 1 lb/week loss
- Mortgage payment: $2,866/month (P&I only), total interest over 30 years: $593,760
- Take-home pay (Texas): ~$6,780/month net (Texas has no state income tax)
Then I asked the natural follow-up: "Can I afford that house on my income?"
Claude had the actual numbers in context. It calculated my debt-to-income ratio, noted that $2,866 represents 42% of my gross monthly income (above the standard 28% front-end ratio recommendation), and suggested I look at homes in the $380-420k range instead — and offered to recalculate immediately.
This is the difference between an AI that explains financial concepts and one that actually helps you make a decision.
Under the hood: how it works
The package is a standard MCP server using stdio transport:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
Parameters are validated with Zod schemas — so if you pass a string where a number is expected, you get a clean error instead of garbage output. All calculations run in Node.js on your local machine. Nothing is logged or transmitted.
The server is also Smithery-compatible, meaning you can discover and install it via the Smithery MCP registry.
Why this approach beats alternatives
A few patterns I've seen for this problem:
1. Ask the AI to write code and run it — Works in Claude's code execution environment, but not available in all contexts. Also slower (model has to write + execute code each time).
2. Custom system prompts with formulas — The model still does the arithmetic. Reduces but doesn't eliminate hallucination.
3. MCP tools (this approach) — Guaranteed correct output. Parameters are validated. Results are deterministic. Works in any MCP-compatible client.
The tradeoff: you need to install the MCP server. One command.
Getting started
# Install
npx @modelcontextprotocol/install @thicket-team/mcp-calculators
# Test it (in Claude Desktop or Claude Code after restart)
# "Calculate my TDEE: 28yo female, 140 lbs, 5'6", lightly active"
# "Mortgage payment for $350,000 at 7.1% for 30 years with 5% down"
# "Take-home pay on $78,000 in New York"
The package is on npm at @thicket-team/mcp-calculators and the source is open on GitHub.
Full interactive calculators at:
- fit.thicket.sh — TDEE, BMI, macros, and 17 more fitness calculators
- money.thicket.sh — Mortgage, loans, compound interest, and 8 more finance calculators
- pay.thicket.sh — Take-home pay, salary tools, and 7 more paycheck calculators
Raj Patel is a software engineer who writes about developer tools, AI integrations, and building things that actually work.
Top comments (0)