BoringToolsKit
by roadtogideon222-byte · remote · no sign-in to list tools · v1.0.0 · published by GitHub user roadtogideon222-byte
36 free private calculator tools for Claude. No accounts, no data leaves your session.
36 tools: 1 do something that can't be undone, 34 change things and 1 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone1Claude Code: ask: see these tools
- Changes things34Claude Code: ask: see these tools
- Only reads1Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http boringtoolskit https://boringtoolskit.com/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnmortgage_payment
The server marks "mortgage_payment" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "mortgage_payment" says "payment": a word that usually means money moves, which cannot be taken back.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
36 tools
Can't be undone 1Claude Code: ask
mortgage_paymentEstimate the full monthly housing payment (principal, interest, tax, insurance, PMI, HOA) and the total interest over the term.1 finding
Why it is in this group
- The name "mortgage_payment" says "payment": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "mortgage_payment" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "mortgage_payment" says "payment": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Estimate the full monthly housing payment (principal, interest, tax, insurance, PMI, HOA) and the total interest over the term. Requires a positive home price.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
Changes things 34Claude Code: ask
apyCompute annual percentage yield from a nominal rate and a compounding frequency, plus the one year interest and ending balance on an example deposit.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute annual percentage yield from a nominal rate and a compounding frequency, plus the one year interest and ending balance on an example deposit.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
audio_time_stretchCompute the new duration of audio at a playback speed, plus the percent time change.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute the new duration of audio at a playback speed, plus the percent time change.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
auto_loanEstimate a monthly auto-loan payment from price, down payment, trade-in, term, and APR.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Estimate a monthly auto-loan payment from price, down payment, trade-in, term, and APR.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
bmiCalculate body mass index and category from weight and height in US units.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculate body mass index and category from weight and height in US units.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
bmr_tdeeEstimate basal metabolic rate (Mifflin-St Jeor) and total daily energy expenditure from age, weight, height, sex, and an activity multiplier.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Estimate basal metabolic rate (Mifflin-St Jeor) and total daily energy expenditure from age, weight, height, sex, and an activity multiplier.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
boat_loanBoat or RV loan payment with optional sales tax, down payment, and trade-in, including amount financed and total interest.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Boat or RV loan payment with optional sales tax, down payment, and trade-in, including amount financed and total interest.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
budget_50_30_20Split monthly after-tax income by the 50/30/20 rule into needs, wants, and savings or debt paydown.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Split monthly after-tax income by the 50/30/20 rule into needs, wants, and savings or debt paydown.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
cagrCompute the compound annual growth rate connecting a starting and an ending value over a number of years, with total return percent and absolute change.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute the compound annual growth rate connecting a starting and an ending value over a number of years, with total return percent and absolute change.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
calorieEstimate BMR and total daily energy expenditure using Mifflin-St Jeor, from weight/height in US units.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Estimate BMR and total daily energy expenditure using Mifflin-St Jeor, from weight/height in US units.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
combinationsCompute the number of distinct combinations, n choose r, using a multiplicative form that avoids factorial overflow.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute the number of distinct combinations, n choose r, using a multiplicative form that avoids factorial overflow.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
compound_interestGrow a balance with compound interest and optional monthly contributions.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Grow a balance with compound interest and optional monthly contributions. Returns future value, total contributed, and interest earned.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
discount_percent_offCompute the final checkout total after stacked percentage discounts, a fixed coupon, and a tax assumption.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute the final checkout total after stacked percentage discounts, a fixed coupon, and a tax assumption. Sequential discounts are NOT additive.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
dividend_reinvestmentCompound a portfolio with a constant dividend yield and price growth, reinvesting monthly and optionally adding deposits.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compound a portfolio with a constant dividend yield and price growth, reinvesting monthly and optionally adding deposits. Returns ending value, total contributed, and dividends reinvested.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
emergency_fundEmergency fund target (expenses times coverage months), the remaining gap versus current savings, and months to close the gap at a fixed monthly contribution.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Emergency fund target (expenses times coverage months), the remaining gap versus current savings, and months to close the gap at a fixed monthly contribution.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
gross_rent_multiplierGross rent multiplier for a rental property: price divided by annual gross rent.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Gross rent multiplier for a rental property: price divided by annual gross rent. Lower means more rent per dollar of price.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
growing_degree_dayAccumulate growing, heating, or cooling degree days (Fahrenheit basis) from daily high, low, a base threshold, and a day count.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Accumulate growing, heating, or cooling degree days (Fahrenheit basis) from daily high, low, a base threshold, and a day count. Includes Celsius-basis totals.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
insulationU-value of an insulation upgrade and an estimated annual heating saving from conduction, using heating degree days, area, kWh conversion, and utility cost.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it U-value of an insulation upgrade and an estimated annual heating saving from conduction, using heating degree days, area, kWh conversion, and utility cost.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
key_transpositionTranspose a musical key and report the number of semitone steps upward between two keys.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Transpose a musical key and report the number of semitone steps upward between two keys.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
maintenance_caloriesDaily maintenance calories (TDEE) from Mifflin-St Jeor BMR and an activity level, using metric inputs.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Daily maintenance calories (TDEE) from Mifflin-St Jeor BMR and an activity level, using metric inputs.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
margin_of_errorCompute the margin of error for a survey sample at the 90, 95, or 99 percent confidence level, assuming maximum variance proportions.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute the margin of error for a survey sample at the 90, 95, or 99 percent confidence level, assuming maximum variance proportions.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
percentageSolve percentage problems: what is X% of Y, X is what % of Y, or the % change from X to Y.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Solve percentage problems: what is X% of Y, X is what % of Y, or the % change from X to Y.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
pressureCompute pressure in Pascals, kilopascals, and psi from a force in newtons over an area in square metres.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute pressure in Pascals, kilopascals, and psi from a force in newtons over an area in square metres.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
protein_molecular_weightEstimate a protein chain molecular weight in Da and kDa from residue count and average residue mass, plus peptide bond count.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Estimate a protein chain molecular weight in Da and kDa from residue count and average residue mass, plus peptide bond count.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
remainderCompute the remainder and floored quotient of a division.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute the remainder and floored quotient of a division. Works for decimal inputs, not just integers.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
roofingRoof area from footprint and pitch, with waste allowance, roofing squares, and approximate shingle bundles (3 per square).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Roof area from footprint and pitch, with waste allowance, roofing squares, and approximate shingle bundles (3 per square).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
rule_of_72Estimate the doubling time of money at a fixed rate using the rule of 72, plus the exact doubling time from the compound formula.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Estimate the doubling time of money at a fixed rate using the rule of 72, plus the exact doubling time from the compound formula. Rate must be between 0 and 30 percent.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
savings_growthProject the future value of a lump-sum investment (optionally with monthly additions), including interest earned.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Project the future value of a lump-sum investment (optionally with monthly additions), including interest earned.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
simple_interestCompute simple interest, total value, and a comparison to annual compounding.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute simple interest, total value, and a comparison to annual compounding.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
slopeCompute slope from rise and run as degrees, percent grade, and the rise to run ratio.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute slope from rise and run as degrees, percent grade, and the rise to run ratio. Run must be above zero.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
square_footageCompute total area (and with-waste area) from up to two rectangular spaces, plus square yards, square metres, and acres.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute total area (and with-waste area) from up to two rectangular spaces, plus square yards, square metres, and acres.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
tip_bill_splitSplit a bill across a group after tax, tip, and optional rounding.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Split a bill across a group after tax, tip, and optional rounding. Returns each person's share, the tip, the effective tip rate, and the collected total.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
va_mortgageMonthly VA loan payment including the funding fee, with no PMI.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Monthly VA loan payment including the funding fee, with no PMI. Returns the financed amount, payment, and total interest.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
win_loss_percentageCompute a winning percentage from wins, losses, and ties, where ties count as half a win.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute a winning percentage from wins, losses, and ties, where ties count as half a win.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
youtube_revenueEstimated YouTube Adsense revenue from monthly views and RPM, with an annual figure and a 30 percent RPM swing range.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Estimated YouTube Adsense revenue from monthly views and RPM, with an annual figure and a 30 percent RPM swing range. RPM defaults to 2 when omitted.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
Only reads 1Claude Code: allow
ceiling_tileCount 2x2 ft ceiling tiles needed for a rectangular room, with room area and a 5 percent cut-waste reminder.No findings
Why it is in this group
- The description's first verb is "count": a word for reading.
Description, as the server wrote it Count 2x2 ft ceiling tiles needed for a rectangular room, with room area and a 5 percent cut-waste reminder.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http boringtoolskit https://boringtoolskit.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__boringtoolskit__ceiling_tile"
],
"ask": [
"mcp__boringtoolskit__tip_bill_split",
"mcp__boringtoolskit__discount_percent_off",
"mcp__boringtoolskit__bmi",
"mcp__boringtoolskit__bmr_tdee",
"mcp__boringtoolskit__mortgage_payment",
"mcp__boringtoolskit__auto_loan",
"mcp__boringtoolskit__compound_interest",
"mcp__boringtoolskit__savings_growth",
"mcp__boringtoolskit__simple_interest",
"mcp__boringtoolskit__calorie",
"mcp__boringtoolskit__percentage",
"mcp__boringtoolskit__square_footage",
"mcp__boringtoolskit__apy",
"mcp__boringtoolskit__win_loss_percentage",
"mcp__boringtoolskit__slope",
"mcp__boringtoolskit__rule_of_72",
"mcp__boringtoolskit__cagr",
"mcp__boringtoolskit__remainder",
"mcp__boringtoolskit__combinations",
"mcp__boringtoolskit__margin_of_error",
"mcp__boringtoolskit__va_mortgage",
"mcp__boringtoolskit__gross_rent_multiplier",
"mcp__boringtoolskit__emergency_fund",
"mcp__boringtoolskit__dividend_reinvestment",
"mcp__boringtoolskit__budget_50_30_20",
"mcp__boringtoolskit__growing_degree_day",
"mcp__boringtoolskit__insulation",
"mcp__boringtoolskit__roofing",
"mcp__boringtoolskit__maintenance_calories",
"mcp__boringtoolskit__protein_molecular_weight",
"mcp__boringtoolskit__key_transposition",
"mcp__boringtoolskit__audio_time_stretch",
"mcp__boringtoolskit__youtube_revenue",
"mcp__boringtoolskit__boat_loan",
"mcp__boringtoolskit__pressure"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as boringtoolskit. Review it before you use it.
