36 free private calculator tools for Claude. No accounts, no data leaves your session.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh 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.
Nominal interest rate percent
Example deposit amount
Compounding periods per year (e.g. 12 for monthly)
Compute annual percentage yield from a nominal rate and a compounding frequency, plus the one year interest and ending balance on an example deposit.
| Argument | Type | Description |
|---|---|---|
| rate* | number | Nominal interest rate percent |
| deposit* | number | Example deposit amount |
| compound* | number | Compounding periods per year (e.g. 12 for monthly) |
{
"type": "object",
"required": [
"rate",
"deposit",
"compound"
],
"properties": {
"rate": {
"type": "number",
"description": "Nominal interest rate percent"
},
"deposit": {
"type": "number",
"description": "Example deposit amount"
},
"compound": {
"type": "number",
"description": "Compounding periods per year (e.g. 12 for monthly)"
}
}
}Compute the new duration of audio at a playback speed, plus the percent time change.
| Argument | Type | Description |
|---|---|---|
| speed* | number | Playback speed multiplier (e.g. 1.25) |
| duration* | number | Original duration in seconds |
{
"type": "object",
"required": [
"duration",
"speed"
],
"properties": {
"speed": {
"type": "number",
"description": "Playback speed multiplier (e.g. 1.25)"
},
"duration": {
"type": "number",
"description": "Original duration in seconds"
}
}
}Estimate a monthly auto-loan payment from price, down payment, trade-in, term, and APR.
| Argument | Type | Description |
|---|---|---|
| apr | number | Annual interest rate percent |
| down | number | Down payment |
| term | number | Loan term in months (default 60) |
| price* | number | Vehicle price |
| trade | number | Trade-in value |
{
"type": "object",
"required": [
"price"
],
"properties": {
"apr": {
"type": "number",
"description": "Annual interest rate percent"
},
"down": {
"type": "number",
"description": "Down payment"
},
"term": {
"type": "number",
"description": "Loan term in months (default 60)"
},
"price": {
"type": "number",
"description": "Vehicle price"
},
"trade": {
"type": "number",
"description": "Trade-in value"
}
}
}Calculate body mass index and category from weight and height in US units.
| Argument | Type | Description |
|---|---|---|
| heightFt* | number | Height feet |
| heightIn | number | Additional height inches |
| weightLb* | number | Weight in pounds |
{
"type": "object",
"required": [
"weightLb",
"heightFt"
],
"properties": {
"heightFt": {
"type": "number",
"description": "Height feet"
},
"heightIn": {
"type": "number",
"description": "Additional height inches"
},
"weightLb": {
"type": "number",
"description": "Weight in pounds"
}
}
}Estimate basal metabolic rate (Mifflin-St Jeor) and total daily energy expenditure from age, weight, height, sex, and an activity multiplier.
| Argument | Type | Description |
|---|---|---|
| age* | number | Age in years |
| sex* | string | Biological sex |
| activity* | number | Activity multiplier (e.g. 1.4) |
| heightCm* | number | Height in centimetres |
| weightKg* | number | Weight in kilograms |
{
"type": "object",
"required": [
"sex",
"age",
"weightKg",
"heightCm",
"activity"
],
"properties": {
"age": {
"type": "number",
"description": "Age in years"
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Biological sex"
},
"activity": {
"type": "number",
"description": "Activity multiplier (e.g. 1.4)"
},
"heightCm": {
"type": "number",
"description": "Height in centimetres"
},
"weightKg": {
"type": "number",
"description": "Weight in kilograms"
}
}
}Boat or RV loan payment with optional sales tax, down payment, and trade-in, including amount financed and total interest.
| Argument | Type | Description |
|---|---|---|
| apr* | number | Annual interest rate percent |
| down | number | Down payment |
| term* | number | Loan term in whole months (1-600) |
| price* | number | Boat price |
| trade | number | Trade-in value |
| taxPct | number | Sales tax percent |
{
"type": "object",
"required": [
"price",
"apr",
"term"
],
"properties": {
"apr": {
"type": "number",
"description": "Annual interest rate percent"
},
"down": {
"type": "number",
"description": "Down payment"
},
"term": {
"type": "number",
"description": "Loan term in whole months (1-600)"
},
"price": {
"type": "number",
"description": "Boat price"
},
"trade": {
"type": "number",
"description": "Trade-in value"
},
"taxPct": {
"type": "number",
"description": "Sales tax percent"
}
}
}Split monthly after-tax income by the 50/30/20 rule into needs, wants, and savings or debt paydown.
| Argument | Type | Description |
|---|---|---|
| income* | number | Monthly after-tax income |
{
"type": "object",
"required": [
"income"
],
"properties": {
"income": {
"type": "number",
"description": "Monthly after-tax income"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| end* | number | Ending value, zero or more |
| start* | number | Starting value, above zero |
| years* | number | Number of years, above zero |
{
"type": "object",
"required": [
"start",
"end",
"years"
],
"properties": {
"end": {
"type": "number",
"description": "Ending value, zero or more"
},
"start": {
"type": "number",
"description": "Starting value, above zero"
},
"years": {
"type": "number",
"description": "Number of years, above zero"
}
}
}Estimate BMR and total daily energy expenditure using Mifflin-St Jeor, from weight/height in US units.
| Argument | Type | Description |
|---|---|---|
| age | number | Age in years |
| sex | string | Biological sex |
| activity | number | Activity multiplier (e.g. 1.2) |
| heightFt* | number | Height feet |
| heightIn | number | Height inches |
| weightLb* | number | Weight in pounds |
{
"type": "object",
"required": [
"weightLb",
"heightFt"
],
"properties": {
"age": {
"type": "number",
"description": "Age in years"
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Biological sex"
},
"activity": {
"type": "number",
"description": "Activity multiplier (e.g. 1.2)"
},
"heightFt": {
"type": "number",
"description": "Height feet"
},
"heightIn": {
"type": "number",
"description": "Height inches"
},
"weightLb": {
"type": "number",
"description": "Weight in pounds"
}
}
}Count 2x2 ft ceiling tiles needed for a rectangular room, with room area and a 5 percent cut-waste reminder.
| Argument | Type | Description |
|---|---|---|
| width* | number | Room width in feet |
| length* | number | Room length in feet |
{
"type": "object",
"required": [
"length",
"width"
],
"properties": {
"width": {
"type": "number",
"description": "Room width in feet"
},
"length": {
"type": "number",
"description": "Room length in feet"
}
}
}Compute the number of distinct combinations, n choose r, using a multiplicative form that avoids factorial overflow.
| Argument | Type | Description |
|---|---|---|
| n* | number | Total items, at least 1 |
| r* | number | Items chosen, between 0 and n |
{
"type": "object",
"required": [
"n",
"r"
],
"properties": {
"n": {
"type": "number",
"description": "Total items, at least 1"
},
"r": {
"type": "number",
"description": "Items chosen, between 0 and n"
}
}
}Grow a balance with compound interest and optional monthly contributions. Returns future value, total contributed, and interest earned.
| Argument | Type | Description |
|---|---|---|
| rate | number | Annual interest rate percent |
| years | number | Term in years (default 10) |
| timing | string | When contributions are added |
| contrib | number | Monthly contribution |
| compound | number | Compounds per year (default 12) |
| principal* | number | Starting amount |
{
"type": "object",
"required": [
"principal"
],
"properties": {
"rate": {
"type": "number",
"description": "Annual interest rate percent"
},
"years": {
"type": "number",
"description": "Term in years (default 10)"
},
"timing": {
"enum": [
"end",
"begin"
],
"type": "string",
"description": "When contributions are added"
},
"contrib": {
"type": "number",
"description": "Monthly contribution"
},
"compound": {
"type": "number",
"description": "Compounds per year (default 12)"
},
"principal": {
"type": "number",
"description": "Starting amount"
}
}
}Compute the final checkout total after stacked percentage discounts, a fixed coupon, and a tax assumption. Sequential discounts are NOT additive.
| Argument | Type | Description |
|---|---|---|
| coupon | number | Fixed coupon applied after all discounts |
| taxPct | number | Tax percent |
| discount1 | number | First discount percent (0-100) |
| discount2 | number | Second discount percent (0-100) |
| originalPrice* | number | Original price |
{
"type": "object",
"required": [
"originalPrice"
],
"properties": {
"coupon": {
"type": "number",
"description": "Fixed coupon applied after all discounts"
},
"taxPct": {
"type": "number",
"description": "Tax percent"
},
"discount1": {
"type": "number",
"description": "First discount percent (0-100)"
},
"discount2": {
"type": "number",
"description": "Second discount percent (0-100)"
},
"originalPrice": {
"type": "number",
"description": "Original price"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| years* | number | Holding period in years |
| growth* | number | Annual price growth percent |
| initial* | number | Starting investment |
| yieldPct* | number | Dividend yield percent (the key yield is also accepted) |
| contribution | number | Monthly deposit (default 0) |
{
"type": "object",
"required": [
"initial",
"yieldPct",
"growth",
"years"
],
"properties": {
"years": {
"type": "number",
"description": "Holding period in years"
},
"growth": {
"type": "number",
"description": "Annual price growth percent"
},
"initial": {
"type": "number",
"description": "Starting investment"
},
"yieldPct": {
"type": "number",
"description": "Dividend yield percent (the key yield is also accepted)"
},
"contribution": {
"type": "number",
"description": "Monthly deposit (default 0)"
}
}
}Emergency fund target (expenses times coverage months), the remaining gap versus current savings, and months to close the gap at a fixed monthly contribution.
| Argument | Type | Description |
|---|---|---|
| saved | number | Current savings (default 0) |
| months* | number | Coverage target in months |
| monthly | number | Monthly contribution (default 0) |
| expenses* | number | Monthly core expenses |
{
"type": "object",
"required": [
"expenses",
"months"
],
"properties": {
"saved": {
"type": "number",
"description": "Current savings (default 0)"
},
"months": {
"type": "number",
"description": "Coverage target in months"
},
"monthly": {
"type": "number",
"description": "Monthly contribution (default 0)"
},
"expenses": {
"type": "number",
"description": "Monthly core expenses"
}
}
}Gross rent multiplier for a rental property: price divided by annual gross rent. Lower means more rent per dollar of price.
| Argument | Type | Description |
|---|---|---|
| rent* | number | Monthly rent |
| price* | number | Property price |
{
"type": "object",
"required": [
"price",
"rent"
],
"properties": {
"rent": {
"type": "number",
"description": "Monthly rent"
},
"price": {
"type": "number",
"description": "Property price"
}
}
}Accumulate growing, heating, or cooling degree days (Fahrenheit basis) from daily high, low, a base threshold, and a day count. Includes Celsius-basis totals.
| Argument | Type | Description |
|---|---|---|
| base* | number | Base threshold in Fahrenheit |
| days* | number | Number of days (1 to 366) |
| mode | string | Degree day mode (default gdd) |
| tmax* | number | Daily high in Fahrenheit |
| tmin* | number | Daily low in Fahrenheit |
{
"type": "object",
"required": [
"tmax",
"tmin",
"base",
"days"
],
"properties": {
"base": {
"type": "number",
"description": "Base threshold in Fahrenheit"
},
"days": {
"type": "number",
"description": "Number of days (1 to 366)"
},
"mode": {
"enum": [
"gdd",
"hdd",
"cdd"
],
"type": "string",
"description": "Degree day mode (default gdd)"
},
"tmax": {
"type": "number",
"description": "Daily high in Fahrenheit"
},
"tmin": {
"type": "number",
"description": "Daily low in Fahrenheit"
}
}
}U-value of an insulation upgrade and an estimated annual heating saving from conduction, using heating degree days, area, kWh conversion, and utility cost.
| Argument | Type | Description |
|---|---|---|
| r1* | number | Current R-value |
| r2 | number | Upgraded R-value (defaults to current) |
| area | number | Area in square feet |
| cost | number | Utility cost in dollars per kWh (0 disables the dollar estimate) |
{
"type": "object",
"required": [
"r1"
],
"properties": {
"r1": {
"type": "number",
"description": "Current R-value"
},
"r2": {
"type": "number",
"description": "Upgraded R-value (defaults to current)"
},
"area": {
"type": "number",
"description": "Area in square feet"
},
"cost": {
"type": "number",
"description": "Utility cost in dollars per kWh (0 disables the dollar estimate)"
}
}
}Transpose a musical key and report the number of semitone steps upward between two keys.
| Argument | Type | Description |
|---|---|---|
| toKey* | string | Target key (default C) |
| fromKey* | string | Original key (default C) |
{
"type": "object",
"required": [
"fromKey",
"toKey"
],
"properties": {
"toKey": {
"enum": [
"C",
"C#",
"D",
"Eb",
"E",
"F",
"F#",
"G",
"Ab",
"A",
"Bb",
"B"
],
"type": "string",
"description": "Target key (default C)"
},
"fromKey": {
"enum": [
"C",
"C#",
"D",
"Eb",
"E",
"F",
"F#",
"G",
"Ab",
"A",
"Bb",
"B"
],
"type": "string",
"description": "Original key (default C)"
}
}
}Daily maintenance calories (TDEE) from Mifflin-St Jeor BMR and an activity level, using metric inputs.
| Argument | Type | Description |
|---|---|---|
| age* | number | Age in years (10-90) |
| sex* | string | Biological sex |
| activity* | number | Activity level index 0-4: 0 sedentary, 1 light, 2 moderate, 3 very active, 4 extra active |
| heightCm* | number | Height in centimetres (120-230) |
| weightKg* | number | Weight in kilograms (30-350) |
{
"type": "object",
"required": [
"sex",
"age",
"weightKg",
"heightCm",
"activity"
],
"properties": {
"age": {
"type": "number",
"description": "Age in years (10-90)"
},
"sex": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Biological sex"
},
"activity": {
"type": "number",
"description": "Activity level index 0-4: 0 sedentary, 1 light, 2 moderate, 3 very active, 4 extra active"
},
"heightCm": {
"type": "number",
"description": "Height in centimetres (120-230)"
},
"weightKg": {
"type": "number",
"description": "Weight in kilograms (30-350)"
}
}
}Compute the margin of error for a survey sample at the 90, 95, or 99 percent confidence level, assuming maximum variance proportions.
| Argument | Type | Description |
|---|---|---|
| n* | number | Sample size, above zero |
| confidence | string | Confidence level percent (default 90) |
{
"type": "object",
"required": [
"n"
],
"properties": {
"n": {
"type": "number",
"description": "Sample size, above zero"
},
"confidence": {
"enum": [
"90",
"95",
"99"
],
"type": "string",
"description": "Confidence level percent (default 90)"
}
}
}Estimate the full monthly housing payment (principal, interest, tax, insurance, PMI, HOA) and the total interest over the term. Requires a positive home price.
| Argument | Type | Description |
|---|---|---|
| apr | number | Annual interest rate percent |
| hoa | number | Monthly HOA fee |
| pmi | number | Annual PMI rate percent (monthly cost = loan x rate / 12, so 0.5 on a $300,000 loan is $125/month) |
| tax | number | Annual property tax |
| down | number | Down payment |
| term | number | Loan term in years (default 30) |
| price* | number | Home price |
| insurance | number | Annual home insurance |
{
"type": "object",
"required": [
"price"
],
"properties": {
"apr": {
"type": "number",
"description": "Annual interest rate percent"
},
"hoa": {
"type": "number",
"description": "Monthly HOA fee"
},
"pmi": {
"type": "number",
"description": "Annual PMI rate percent (monthly cost = loan x rate / 12, so 0.5 on a $300,000 loan is $125/month)"
},
"tax": {
"type": "number",
"description": "Annual property tax"
},
"down": {
"type": "number",
"description": "Down payment"
},
"term": {
"type": "number",
"description": "Loan term in years (default 30)"
},
"price": {
"type": "number",
"description": "Home price"
},
"insurance": {
"type": "number",
"description": "Annual home insurance"
}
}
}Solve percentage problems: what is X% of Y, X is what % of Y, or the % change from X to Y.
| Argument | Type | Description |
|---|---|---|
| mode | string | Calculation mode (default of) |
| val1* | number | First value |
| val2* | number | Second value |
{
"type": "object",
"required": [
"val1",
"val2"
],
"properties": {
"mode": {
"enum": [
"of",
"iswhat",
"change"
],
"type": "string",
"description": "Calculation mode (default of)"
},
"val1": {
"type": "number",
"description": "First value"
},
"val2": {
"type": "number",
"description": "Second value"
}
}
}Compute pressure in Pascals, kilopascals, and psi from a force in newtons over an area in square metres.
| Argument | Type | Description |
|---|---|---|
| area* | number | Area in square metres |
| force* | number | Force in newtons |
{
"type": "object",
"required": [
"force",
"area"
],
"properties": {
"area": {
"type": "number",
"description": "Area in square metres"
},
"force": {
"type": "number",
"description": "Force in newtons"
}
}
}Estimate a protein chain molecular weight in Da and kDa from residue count and average residue mass, plus peptide bond count.
| Argument | Type | Description |
|---|---|---|
| residues* | number | Number of amino acid residues (1-100000) |
| avgResidueMass* | number | Average mass per residue in Da (e.g. 110) |
{
"type": "object",
"required": [
"residues",
"avgResidueMass"
],
"properties": {
"residues": {
"type": "number",
"description": "Number of amino acid residues (1-100000)"
},
"avgResidueMass": {
"type": "number",
"description": "Average mass per residue in Da (e.g. 110)"
}
}
}Compute the remainder and floored quotient of a division. Works for decimal inputs, not just integers.
| Argument | Type | Description |
|---|---|---|
| a* | number | Dividend |
| b* | number | Divisor, not zero |
{
"type": "object",
"required": [
"a",
"b"
],
"properties": {
"a": {
"type": "number",
"description": "Dividend"
},
"b": {
"type": "number",
"description": "Divisor, not zero"
}
}
}Roof area from footprint and pitch, with waste allowance, roofing squares, and approximate shingle bundles (3 per square).
| Argument | Type | Description |
|---|---|---|
| rise | number | Pitch rise per 12 run (default 0) |
| waste | number | Waste percent (default 0) |
| width* | number | Footprint width in feet |
| length* | number | Footprint length in feet |
{
"type": "object",
"required": [
"length",
"width"
],
"properties": {
"rise": {
"type": "number",
"description": "Pitch rise per 12 run (default 0)"
},
"waste": {
"type": "number",
"description": "Waste percent (default 0)"
},
"width": {
"type": "number",
"description": "Footprint width in feet"
},
"length": {
"type": "number",
"description": "Footprint length in feet"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| rate* | number | Annual growth rate percent (0 to 30) |
{
"type": "object",
"required": [
"rate"
],
"properties": {
"rate": {
"type": "number",
"description": "Annual growth rate percent (0 to 30)"
}
}
}Project the future value of a lump-sum investment (optionally with monthly additions), including interest earned.
| Argument | Type | Description |
|---|---|---|
| rate | number | Annual interest rate percent |
| years | number | Term in years |
| amount* | number | Starting amount |
| contribMonthly | number | Monthly addition |
{
"type": "object",
"required": [
"amount"
],
"properties": {
"rate": {
"type": "number",
"description": "Annual interest rate percent"
},
"years": {
"type": "number",
"description": "Term in years"
},
"amount": {
"type": "number",
"description": "Starting amount"
},
"contribMonthly": {
"type": "number",
"description": "Monthly addition"
}
}
}Compute simple interest, total value, and a comparison to annual compounding.
| Argument | Type | Description |
|---|---|---|
| rate* | number | Annual rate percent |
| years* | number | Term in years |
| principal* | number | Principal |
{
"type": "object",
"required": [
"principal",
"rate",
"years"
],
"properties": {
"rate": {
"type": "number",
"description": "Annual rate percent"
},
"years": {
"type": "number",
"description": "Term in years"
},
"principal": {
"type": "number",
"description": "Principal"
}
}
}Compute slope from rise and run as degrees, percent grade, and the rise to run ratio. Run must be above zero.
| Argument | Type | Description |
|---|---|---|
| run* | number | Horizontal run, above zero |
| rise* | number | Vertical rise |
{
"type": "object",
"required": [
"rise",
"run"
],
"properties": {
"run": {
"type": "number",
"description": "Horizontal run, above zero"
},
"rise": {
"type": "number",
"description": "Vertical rise"
}
}
}Compute total area (and with-waste area) from up to two rectangular spaces, plus square yards, square metres, and acres.
| Argument | Type | Description |
|---|---|---|
| waste | number | Waste percent |
| width* | number | First space width |
| length* | number | First space length |
| width2 | number | Second space width |
| length2 | number | Second space length |
{
"type": "object",
"required": [
"length",
"width"
],
"properties": {
"waste": {
"type": "number",
"description": "Waste percent"
},
"width": {
"type": "number",
"description": "First space width"
},
"length": {
"type": "number",
"description": "First space length"
},
"width2": {
"type": "number",
"description": "Second space width"
},
"length2": {
"type": "number",
"description": "Second space length"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| tax* | number | Tax amount |
| people* | number | Number of people sharing |
| tipPct* | number | Tip percentage (e.g. 18) |
| subtotal* | number | Pre-tax bill amount |
| tipOnTax | boolean | Whether tip is calculated on subtotal plus tax |
| roundMode | string | Rounding mode for each share |
{
"type": "object",
"required": [
"subtotal",
"tax",
"tipPct",
"people"
],
"properties": {
"tax": {
"type": "number",
"description": "Tax amount"
},
"people": {
"type": "number",
"description": "Number of people sharing"
},
"tipPct": {
"type": "number",
"description": "Tip percentage (e.g. 18)"
},
"subtotal": {
"type": "number",
"description": "Pre-tax bill amount"
},
"tipOnTax": {
"type": "boolean",
"description": "Whether tip is calculated on subtotal plus tax"
},
"roundMode": {
"enum": [
"none",
"up-dollar",
"up-five"
],
"type": "string",
"description": "Rounding mode for each share"
}
}
}Monthly VA loan payment including the funding fee, with no PMI. Returns the financed amount, payment, and total interest.
| Argument | Type | Description |
|---|---|---|
| apr* | number | Annual interest rate percent |
| fee | number | VA funding fee percent (default 0) |
| term* | number | Loan term in months |
| principal* | number | Loan principal |
{
"type": "object",
"required": [
"principal",
"apr",
"term"
],
"properties": {
"apr": {
"type": "number",
"description": "Annual interest rate percent"
},
"fee": {
"type": "number",
"description": "VA funding fee percent (default 0)"
},
"term": {
"type": "number",
"description": "Loan term in months"
},
"principal": {
"type": "number",
"description": "Loan principal"
}
}
}Compute a winning percentage from wins, losses, and ties, where ties count as half a win.
| Argument | Type | Description |
|---|---|---|
| ties | number | Games tied (default 0) |
| wins* | number | Games won |
| losses* | number | Games lost |
{
"type": "object",
"required": [
"wins",
"losses"
],
"properties": {
"ties": {
"type": "number",
"description": "Games tied (default 0)"
},
"wins": {
"type": "number",
"description": "Games won"
},
"losses": {
"type": "number",
"description": "Games lost"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| rpm | number | Revenue per mille in dollars (default 2) |
| views* | number | Monthly view count |
{
"type": "object",
"required": [
"views"
],
"properties": {
"rpm": {
"type": "number",
"description": "Revenue per mille in dollars (default 2)"
},
"views": {
"type": "number",
"description": "Monthly view count"
}
}
}