BoringToolsKit

36 free private calculator tools for Claude. No accounts, no data leaves your session.

사용해야 할까요

품질 및 안전성

A
설명 품질
83%
스키마 완전성
100%
이름 품질
80%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (14)

  • LOWTool 'bmr_tdee' description lacks action verbbmr_tdee에서
  • LOWTool 'mortgage_payment' description lacks action verbmortgage_payment에서
  • LOWTool 'auto_loan' description lacks action verbauto_loan에서
  • LOWTool 'compound_interest' description lacks action verbcompound_interest에서
  • LOWTool 'calorie' description lacks action verbcalorie에서
  • LOWTool 'percentage' description lacks action verbpercentage에서
  • LOWTool 'rule_of_72' description lacks action verbrule_of_72에서
  • LOWTool 'va_mortgage' description lacks action verbva_mortgage에서
  • LOWTool 'gross_rent_multiplier' description lacks action verbgross_rent_multiplier에서
  • LOWTool 'budget_50_30_20' description lacks action verbbudget_50_30_20에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~4,818토큰 (도구 정의)
~943 B일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 3.76%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "boringtoolskit": {
      "url": "https://boringtoolskit.com/mcp"
    }
  }
}

원격 엔드포인트

https://boringtoolskit.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (36)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢tip_bill_split(subtotal, tax, tipPct, people, tipOnTax, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "subtotal": {
      "type": "number",
      "description": "Pre-tax bill amount"
    },
    "tax": {
      "type": "number",
      "description": "Tax amount"
    },
    "tipPct": {
      "type": "number",
      "description": "Tip percentage (e.g. 18)"
    },
    "people": {
      "type": "number",
      "description": "Number of people sharing"
    },
    "tipOnTax": {
      "type": "boolean",
      "description": "Whether tip is calculated on subtotal plus tax"
    },
    "roundMode": {
      "type": "string",
      "enum": [
        "none",
        "up-dollar",
        "up-five"
      ],
      "description": "Rounding mode for each share"
    }
  },
  "required": [
    "subtotal",
    "tax",
    "tipPct",
    "people"
  ]
}
🟢discount_percent_off(originalPrice, discount1, discount2, coupon, taxPct)

Compute the final checkout total after stacked percentage discounts, a fixed coupon, and a tax assumption. Sequential discounts are NOT additive.

입력 스키마

{
  "type": "object",
  "properties": {
    "originalPrice": {
      "type": "number",
      "description": "Original price"
    },
    "discount1": {
      "type": "number",
      "description": "First discount percent (0-100)"
    },
    "discount2": {
      "type": "number",
      "description": "Second discount percent (0-100)"
    },
    "coupon": {
      "type": "number",
      "description": "Fixed coupon applied after all discounts"
    },
    "taxPct": {
      "type": "number",
      "description": "Tax percent"
    }
  },
  "required": [
    "originalPrice"
  ]
}
🟢bmi(weightLb, heightFt, heightIn)

Calculate body mass index and category from weight and height in US units.

입력 스키마

{
  "type": "object",
  "properties": {
    "weightLb": {
      "type": "number",
      "description": "Weight in pounds"
    },
    "heightFt": {
      "type": "number",
      "description": "Height feet"
    },
    "heightIn": {
      "type": "number",
      "description": "Additional height inches"
    }
  },
  "required": [
    "weightLb",
    "heightFt"
  ]
}
🟢bmr_tdee(sex, age, weightKg, heightCm, activity)

Estimate basal metabolic rate (Mifflin-St Jeor) and total daily energy expenditure from age, weight, height, sex, and an activity multiplier.

입력 스키마

{
  "type": "object",
  "properties": {
    "sex": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Biological sex"
    },
    "age": {
      "type": "number",
      "description": "Age in years"
    },
    "weightKg": {
      "type": "number",
      "description": "Weight in kilograms"
    },
    "heightCm": {
      "type": "number",
      "description": "Height in centimetres"
    },
    "activity": {
      "type": "number",
      "description": "Activity multiplier (e.g. 1.4)"
    }
  },
  "required": [
    "sex",
    "age",
    "weightKg",
    "heightCm",
    "activity"
  ]
}
🟢mortgage_payment(price, down, term, apr, tax, ...)

Estimate the full monthly housing payment (principal, interest, tax, insurance, PMI, HOA) and the total interest over the term. Requires a positive home price.

입력 스키마

{
  "type": "object",
  "properties": {
    "price": {
      "type": "number",
      "description": "Home price"
    },
    "down": {
      "type": "number",
      "description": "Down payment"
    },
    "term": {
      "type": "number",
      "description": "Loan term in years (default 30)"
    },
    "apr": {
      "type": "number",
      "description": "Annual interest rate percent"
    },
    "tax": {
      "type": "number",
      "description": "Annual property tax"
    },
    "insurance": {
      "type": "number",
      "description": "Annual home insurance"
    },
    "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)"
    },
    "hoa": {
      "type": "number",
      "description": "Monthly HOA fee"
    }
  },
  "required": [
    "price"
  ]
}
🟢auto_loan(price, down, trade, term, apr)

Estimate a monthly auto-loan payment from price, down payment, trade-in, term, and APR.

입력 스키마

{
  "type": "object",
  "properties": {
    "price": {
      "type": "number",
      "description": "Vehicle price"
    },
    "down": {
      "type": "number",
      "description": "Down payment"
    },
    "trade": {
      "type": "number",
      "description": "Trade-in value"
    },
    "term": {
      "type": "number",
      "description": "Loan term in months (default 60)"
    },
    "apr": {
      "type": "number",
      "description": "Annual interest rate percent"
    }
  },
  "required": [
    "price"
  ]
}
🟢compound_interest(principal, rate, years, compound, contrib, ...)

Grow a balance with compound interest and optional monthly contributions. Returns future value, total contributed, and interest earned.

입력 스키마

{
  "type": "object",
  "properties": {
    "principal": {
      "type": "number",
      "description": "Starting amount"
    },
    "rate": {
      "type": "number",
      "description": "Annual interest rate percent"
    },
    "years": {
      "type": "number",
      "description": "Term in years (default 10)"
    },
    "compound": {
      "type": "number",
      "description": "Compounds per year (default 12)"
    },
    "contrib": {
      "type": "number",
      "description": "Monthly contribution"
    },
    "timing": {
      "type": "string",
      "enum": [
        "end",
        "begin"
      ],
      "description": "When contributions are added"
    }
  },
  "required": [
    "principal"
  ]
}
🟢savings_growth(amount, rate, years, contribMonthly)

Project the future value of a lump-sum investment (optionally with monthly additions), including interest earned.

입력 스키마

{
  "type": "object",
  "properties": {
    "amount": {
      "type": "number",
      "description": "Starting amount"
    },
    "rate": {
      "type": "number",
      "description": "Annual interest rate percent"
    },
    "years": {
      "type": "number",
      "description": "Term in years"
    },
    "contribMonthly": {
      "type": "number",
      "description": "Monthly addition"
    }
  },
  "required": [
    "amount"
  ]
}
🟢simple_interest(principal, rate, years)

Compute simple interest, total value, and a comparison to annual compounding.

입력 스키마

{
  "type": "object",
  "properties": {
    "principal": {
      "type": "number",
      "description": "Principal"
    },
    "rate": {
      "type": "number",
      "description": "Annual rate percent"
    },
    "years": {
      "type": "number",
      "description": "Term in years"
    }
  },
  "required": [
    "principal",
    "rate",
    "years"
  ]
}
🟢calorie(sex, age, weightLb, heightFt, heightIn, ...)

Estimate BMR and total daily energy expenditure using Mifflin-St Jeor, from weight/height in US units.

입력 스키마

{
  "type": "object",
  "properties": {
    "sex": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Biological sex"
    },
    "age": {
      "type": "number",
      "description": "Age in years"
    },
    "weightLb": {
      "type": "number",
      "description": "Weight in pounds"
    },
    "heightFt": {
      "type": "number",
      "description": "Height feet"
    },
    "heightIn": {
      "type": "number",
      "description": "Height inches"
    },
    "activity": {
      "type": "number",
      "description": "Activity multiplier (e.g. 1.2)"
    }
  },
  "required": [
    "weightLb",
    "heightFt"
  ]
}
🟢percentage(mode, val1, val2)

Solve percentage problems: what is X% of Y, X is what % of Y, or the % change from X to Y.

입력 스키마

{
  "type": "object",
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "of",
        "iswhat",
        "change"
      ],
      "description": "Calculation mode (default of)"
    },
    "val1": {
      "type": "number",
      "description": "First value"
    },
    "val2": {
      "type": "number",
      "description": "Second value"
    }
  },
  "required": [
    "val1",
    "val2"
  ]
}
🟢square_footage(length, width, length2, width2, waste)

Compute total area (and with-waste area) from up to two rectangular spaces, plus square yards, square metres, and acres.

입력 스키마

{
  "type": "object",
  "properties": {
    "length": {
      "type": "number",
      "description": "First space length"
    },
    "width": {
      "type": "number",
      "description": "First space width"
    },
    "length2": {
      "type": "number",
      "description": "Second space length"
    },
    "width2": {
      "type": "number",
      "description": "Second space width"
    },
    "waste": {
      "type": "number",
      "description": "Waste percent"
    }
  },
  "required": [
    "length",
    "width"
  ]
}
🟢apy(rate, deposit, compound)

Compute annual percentage yield from a nominal rate and a compounding frequency, plus the one year interest and ending balance on an example deposit.

입력 스키마

{
  "type": "object",
  "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)"
    }
  },
  "required": [
    "rate",
    "deposit",
    "compound"
  ]
}
🟢win_loss_percentage(wins, losses, ties)

Compute a winning percentage from wins, losses, and ties, where ties count as half a win.

입력 스키마

{
  "type": "object",
  "properties": {
    "wins": {
      "type": "number",
      "description": "Games won"
    },
    "losses": {
      "type": "number",
      "description": "Games lost"
    },
    "ties": {
      "type": "number",
      "description": "Games tied (default 0)"
    }
  },
  "required": [
    "wins",
    "losses"
  ]
}
🟢slope(rise, run)

Compute slope from rise and run as degrees, percent grade, and the rise to run ratio. Run must be above zero.

입력 스키마

{
  "type": "object",
  "properties": {
    "rise": {
      "type": "number",
      "description": "Vertical rise"
    },
    "run": {
      "type": "number",
      "description": "Horizontal run, above zero"
    }
  },
  "required": [
    "rise",
    "run"
  ]
}
🟢rule_of_72(rate)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "rate": {
      "type": "number",
      "description": "Annual growth rate percent (0 to 30)"
    }
  },
  "required": [
    "rate"
  ]
}
🟢cagr(start, end, years)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "start": {
      "type": "number",
      "description": "Starting value, above zero"
    },
    "end": {
      "type": "number",
      "description": "Ending value, zero or more"
    },
    "years": {
      "type": "number",
      "description": "Number of years, above zero"
    }
  },
  "required": [
    "start",
    "end",
    "years"
  ]
}
🟢remainder(a, b)

Compute the remainder and floored quotient of a division. Works for decimal inputs, not just integers.

입력 스키마

{
  "type": "object",
  "properties": {
    "a": {
      "type": "number",
      "description": "Dividend"
    },
    "b": {
      "type": "number",
      "description": "Divisor, not zero"
    }
  },
  "required": [
    "a",
    "b"
  ]
}
🟢combinations(n, r)

Compute the number of distinct combinations, n choose r, using a multiplicative form that avoids factorial overflow.

입력 스키마

{
  "type": "object",
  "properties": {
    "n": {
      "type": "number",
      "description": "Total items, at least 1"
    },
    "r": {
      "type": "number",
      "description": "Items chosen, between 0 and n"
    }
  },
  "required": [
    "n",
    "r"
  ]
}
🟢margin_of_error(n, confidence)

Compute the margin of error for a survey sample at the 90, 95, or 99 percent confidence level, assuming maximum variance proportions.

입력 스키마

{
  "type": "object",
  "properties": {
    "n": {
      "type": "number",
      "description": "Sample size, above zero"
    },
    "confidence": {
      "type": "string",
      "enum": [
        "90",
        "95",
        "99"
      ],
      "description": "Confidence level percent (default 90)"
    }
  },
  "required": [
    "n"
  ]
}
🟢va_mortgage(principal, apr, term, fee)

Monthly VA loan payment including the funding fee, with no PMI. Returns the financed amount, payment, and total interest.

입력 스키마

{
  "type": "object",
  "properties": {
    "principal": {
      "type": "number",
      "description": "Loan principal"
    },
    "apr": {
      "type": "number",
      "description": "Annual interest rate percent"
    },
    "term": {
      "type": "number",
      "description": "Loan term in months"
    },
    "fee": {
      "type": "number",
      "description": "VA funding fee percent (default 0)"
    }
  },
  "required": [
    "principal",
    "apr",
    "term"
  ]
}
🟢gross_rent_multiplier(price, rent)

Gross rent multiplier for a rental property: price divided by annual gross rent. Lower means more rent per dollar of price.

입력 스키마

{
  "type": "object",
  "properties": {
    "price": {
      "type": "number",
      "description": "Property price"
    },
    "rent": {
      "type": "number",
      "description": "Monthly rent"
    }
  },
  "required": [
    "price",
    "rent"
  ]
}
🟢emergency_fund(expenses, months, saved, monthly)

Emergency fund target (expenses times coverage months), the remaining gap versus current savings, and months to close the gap at a fixed monthly contribution.

입력 스키마

{
  "type": "object",
  "properties": {
    "expenses": {
      "type": "number",
      "description": "Monthly core expenses"
    },
    "months": {
      "type": "number",
      "description": "Coverage target in months"
    },
    "saved": {
      "type": "number",
      "description": "Current savings (default 0)"
    },
    "monthly": {
      "type": "number",
      "description": "Monthly contribution (default 0)"
    }
  },
  "required": [
    "expenses",
    "months"
  ]
}
🟢dividend_reinvestment(initial, yieldPct, growth, years, contribution)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "initial": {
      "type": "number",
      "description": "Starting investment"
    },
    "yieldPct": {
      "type": "number",
      "description": "Dividend yield percent (the key yield is also accepted)"
    },
    "growth": {
      "type": "number",
      "description": "Annual price growth percent"
    },
    "years": {
      "type": "number",
      "description": "Holding period in years"
    },
    "contribution": {
      "type": "number",
      "description": "Monthly deposit (default 0)"
    }
  },
  "required": [
    "initial",
    "yieldPct",
    "growth",
    "years"
  ]
}
🟢budget_50_30_20(income)

Split monthly after-tax income by the 50/30/20 rule into needs, wants, and savings or debt paydown.

입력 스키마

{
  "type": "object",
  "properties": {
    "income": {
      "type": "number",
      "description": "Monthly after-tax income"
    }
  },
  "required": [
    "income"
  ]
}
🟢growing_degree_day(mode, tmax, tmin, base, days)

Accumulate growing, heating, or cooling degree days (Fahrenheit basis) from daily high, low, a base threshold, and a day count. Includes Celsius-basis totals.

입력 스키마

{
  "type": "object",
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "gdd",
        "hdd",
        "cdd"
      ],
      "description": "Degree day mode (default gdd)"
    },
    "tmax": {
      "type": "number",
      "description": "Daily high in Fahrenheit"
    },
    "tmin": {
      "type": "number",
      "description": "Daily low in Fahrenheit"
    },
    "base": {
      "type": "number",
      "description": "Base threshold in Fahrenheit"
    },
    "days": {
      "type": "number",
      "description": "Number of days (1 to 366)"
    }
  },
  "required": [
    "tmax",
    "tmin",
    "base",
    "days"
  ]
}
🟢insulation(r1, r2, area, cost)

U-value of an insulation upgrade and an estimated annual heating saving from conduction, using heating degree days, area, kWh conversion, and utility cost.

입력 스키마

{
  "type": "object",
  "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)"
    }
  },
  "required": [
    "r1"
  ]
}
🟢roofing(length, width, rise, waste)

Roof area from footprint and pitch, with waste allowance, roofing squares, and approximate shingle bundles (3 per square).

입력 스키마

{
  "type": "object",
  "properties": {
    "length": {
      "type": "number",
      "description": "Footprint length in feet"
    },
    "width": {
      "type": "number",
      "description": "Footprint width in feet"
    },
    "rise": {
      "type": "number",
      "description": "Pitch rise per 12 run (default 0)"
    },
    "waste": {
      "type": "number",
      "description": "Waste percent (default 0)"
    }
  },
  "required": [
    "length",
    "width"
  ]
}
🟢maintenance_calories(sex, age, weightKg, heightCm, activity)

Daily maintenance calories (TDEE) from Mifflin-St Jeor BMR and an activity level, using metric inputs.

입력 스키마

{
  "type": "object",
  "properties": {
    "sex": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Biological sex"
    },
    "age": {
      "type": "number",
      "description": "Age in years (10-90)"
    },
    "weightKg": {
      "type": "number",
      "description": "Weight in kilograms (30-350)"
    },
    "heightCm": {
      "type": "number",
      "description": "Height in centimetres (120-230)"
    },
    "activity": {
      "type": "number",
      "description": "Activity level index 0-4: 0 sedentary, 1 light, 2 moderate, 3 very active, 4 extra active"
    }
  },
  "required": [
    "sex",
    "age",
    "weightKg",
    "heightCm",
    "activity"
  ]
}
🟢protein_molecular_weight(residues, avgResidueMass)

Estimate a protein chain molecular weight in Da and kDa from residue count and average residue mass, plus peptide bond count.

입력 스키마

{
  "type": "object",
  "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)"
    }
  },
  "required": [
    "residues",
    "avgResidueMass"
  ]
}
🟢key_transposition(fromKey, toKey)

Transpose a musical key and report the number of semitone steps upward between two keys.

입력 스키마

{
  "type": "object",
  "properties": {
    "fromKey": {
      "type": "string",
      "enum": [
        "C",
        "C#",
        "D",
        "Eb",
        "E",
        "F",
        "F#",
        "G",
        "Ab",
        "A",
        "Bb",
        "B"
      ],
      "description": "Original key (default C)"
    },
    "toKey": {
      "type": "string",
      "enum": [
        "C",
        "C#",
        "D",
        "Eb",
        "E",
        "F",
        "F#",
        "G",
        "Ab",
        "A",
        "Bb",
        "B"
      ],
      "description": "Target key (default C)"
    }
  },
  "required": [
    "fromKey",
    "toKey"
  ]
}
🟢audio_time_stretch(duration, speed)

Compute the new duration of audio at a playback speed, plus the percent time change.

입력 스키마

{
  "type": "object",
  "properties": {
    "duration": {
      "type": "number",
      "description": "Original duration in seconds"
    },
    "speed": {
      "type": "number",
      "description": "Playback speed multiplier (e.g. 1.25)"
    }
  },
  "required": [
    "duration",
    "speed"
  ]
}
🟢youtube_revenue(views, rpm)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "views": {
      "type": "number",
      "description": "Monthly view count"
    },
    "rpm": {
      "type": "number",
      "description": "Revenue per mille in dollars (default 2)"
    }
  },
  "required": [
    "views"
  ]
}
🟢ceiling_tile(length, width)

Count 2x2 ft ceiling tiles needed for a rectangular room, with room area and a 5 percent cut-waste reminder.

입력 스키마

{
  "type": "object",
  "properties": {
    "length": {
      "type": "number",
      "description": "Room length in feet"
    },
    "width": {
      "type": "number",
      "description": "Room width in feet"
    }
  },
  "required": [
    "length",
    "width"
  ]
}
🟢boat_loan(price, apr, term, down, trade, ...)

Boat or RV loan payment with optional sales tax, down payment, and trade-in, including amount financed and total interest.

입력 스키마

{
  "type": "object",
  "properties": {
    "price": {
      "type": "number",
      "description": "Boat price"
    },
    "apr": {
      "type": "number",
      "description": "Annual interest rate percent"
    },
    "term": {
      "type": "number",
      "description": "Loan term in whole months (1-600)"
    },
    "down": {
      "type": "number",
      "description": "Down payment"
    },
    "trade": {
      "type": "number",
      "description": "Trade-in value"
    },
    "taxPct": {
      "type": "number",
      "description": "Sales tax percent"
    }
  },
  "required": [
    "price",
    "apr",
    "term"
  ]
}
🟢pressure(force, area)

Compute pressure in Pascals, kilopascals, and psi from a force in newtons over an area in square metres.

입력 스키마

{
  "type": "object",
  "properties": {
    "force": {
      "type": "number",
      "description": "Force in newtons"
    },
    "area": {
      "type": "number",
      "description": "Area in square metres"
    }
  },
  "required": [
    "force",
    "area"
  ]
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 36개