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 件