Ten free business calculation tools: decision feasibility, pricing, loans, fleet costs and more.
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.
Find units and revenue needed to cover fixed costs. Use this tested BusCalc worksheet when the task matches its inputs and scope. Returns named results, units, formula, assumptions, method version and a source-page URL. No prices or omitted costs are looked up; no private projects or purchases are accessed.
Optional expected method version; a mismatch is rejected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http calculations https://buscalc.com/api/mcp
Find units and revenue needed to cover fixed costs. Use this tested BusCalc worksheet when the task matches its inputs and scope. Returns named results, units, formula, assumptions, method version and a source-page URL. No prices or omitted costs are looked up; no private projects or purchases are accessed.
| Argument | Type | Description |
|---|---|---|
| units | object | |
| inputs* | object | |
| modelVersion | string | Optional expected method version; a mismatch is rejected. |
{
"type": "object",
"required": [
"inputs"
],
"properties": {
"units": {
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
},
"inputs": {
"type": "object",
"required": [
"fixed",
"price",
"variable"
],
"properties": {
"fixed": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Fixed cost in period. Matching invoice, quote, statement, bookkeeping record or explicit budget amount for fixed cost in period. Use the stated period and exclude amounts already counted in another field. Zero means intentionally excluded/not incurred, not unknown."
},
"price": {
"type": "number",
"maximum": 1000000000000,
"description": "Selling price per unit. Matching invoice, quote, statement, bookkeeping record or explicit budget amount for selling price per unit. Use the stated period and exclude amounts already counted in another field. Zero means intentionally excluded/not incurred, not unknown.",
"exclusiveMinimum": 0
},
"variable": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Variable cost per unit. Period variable expense ÷ matching units for a consistent product mix; excludes fixed expenses."
}
},
"additionalProperties": false
},
"modelVersion": {
"enum": [
"1.0.0"
],
"type": "string",
"description": "Optional expected method version; a mismatch is rejected."
}
},
"additionalProperties": false
}Evaluate a job, restaurant production run, delivery route, equipment purchase or staffing plan against explicit cost, capacity, earnings and timing limits. Return favorable/unfavorable feasibility, breaking points, permitted repairs and verification priorities. Zero permitted change locks an item. Uses original bounded workflow models built on established arithmetic and constraint methods; no world-first, forecast or obtainable-saving guarantee.
| Argument | Type | Description |
|---|---|---|
| units | object | |
| inputs* | any | |
| modelVersion | string |
{
"type": "object",
"required": [
"inputs"
],
"properties": {
"units": {
"type": "object",
"additionalProperties": false
},
"inputs": {
"oneOf": [
{
"type": "object",
"allOf": [
{
"if": {
"required": [
"maxExtraHours"
],
"properties": {
"maxExtraHours": {
"exclusiveMinimum": 0
}
}
},
"then": {
"required": [
"extraHourCost"
]
}
}
],
"required": [
"mode",
"price",
"margin",
"fixed",
"laborRate",
"hoursLow",
"hoursHigh",
"availableHours"
],
"properties": {
"mode": {
"type": "string",
"const": "job"
},
"fixed": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Other entered costs for this job, run or route (USD). Costs not included in the separately entered labor, normal batch cost or mileage rate. Do not count both components and their total."
},
"price": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Current proposed job price (USD). Job: total proposed price before sales tax. Restaurant: collected receipts per sold portion, before sales tax. Select the workflow first."
},
"margin": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Required margin after entered costs (%). Profit share of receipts after the costs you enter. Use 25 for 25%; less than 100%. This is not markup."
},
"hoursLow": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Low labor estimate (productive person-hours). Job: productive person-hours. Delivery: elapsed hours including waiting, loading, stops, empty and return travel."
},
"maxPrice": {
"type": "number",
"default": 0,
"maximum": 1000000000000,
"minimum": 0,
"description": "Maximum permitted job-price increase (USD). Zero locks price. Job: total USD increase. Restaurant: USD increase per sold portion. Do not enter a change you cannot obtain."
},
"hoursHigh": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "High labor estimate (productive person-hours). Use a credible upper bound for the same scope, not a probability or guaranteed completion time."
},
"laborRate": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Loaded labor cost for planned work (USD/person-hour). Job labor cost per productive person-hour, already including the employer costs you intend to cover. Do not enter the customer billing rate."
},
"maxSaving": {
"type": "number",
"default": 0,
"maximum": 1000000000000,
"minimum": 0,
"description": "Verified cost reduction available. Zero locks this cost. Job and delivery: reduction of Other entered costs, in USD. Restaurant: reduction per normal batch, in USD/batch. Do not subtract a saving already included in your base costs."
},
"extraHourCost": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Incremental cost per added productive person-hour (USD). Added-capacity expense on top of planned labor and other costs. Use zero only if it is genuinely already included; otherwise include its full incremental cost."
},
"maxExtraHours": {
"type": "number",
"default": 0,
"maximum": 1000000000000,
"minimum": 0,
"description": "Additional productive capacity actually available (person-hours). Zero locks available capacity. Extra time does not reduce the original labor requirement."
},
"availableHours": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Productive person-hours currently available. Sum the available productive time of participating people for this job. Elapsed hours and person-hours differ."
}
},
"additionalProperties": false
},
{
"type": "object",
"allOf": [
{
"if": {
"required": [
"maxExtraLabor"
],
"properties": {
"maxExtraLabor": {
"exclusiveMinimum": 0
}
}
},
"then": {
"required": [
"extraLaborRate"
]
}
},
{
"if": {
"required": [
"maxExtraEquipment"
],
"properties": {
"maxExtraEquipment": {
"exclusiveMinimum": 0
}
}
},
"then": {
"required": [
"extraEquipmentRate"
]
}
}
],
"required": [
"mode",
"price",
"margin",
"fixed",
"portions",
"yieldLow",
"yieldHigh",
"personMinutesLow",
"personMinutesHigh",
"batchCost",
"cashBudget",
"laborHours",
"equipmentMinutes",
"equipmentHours"
],
"properties": {
"mode": {
"type": "string",
"const": "restaurant"
},
"fixed": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Other entered costs for this job, run or route (USD). Costs not included in the separately entered labor, normal batch cost or mileage rate. Do not count both components and their total."
},
"price": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Collected receipts per sold portion (USD/portion). Job: total proposed price before sales tax. Restaurant: collected receipts per sold portion, before sales tax. Select the workflow first."
},
"margin": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Required margin after entered costs (%). Profit share of receipts after the costs you enter. Use 25 for 25%; less than 100%. This is not markup."
},
"maxPrice": {
"type": "number",
"default": 0,
"maximum": 1000000000000,
"minimum": 0,
"description": "Maximum permitted receipts increase (USD/portion). Zero locks price. Job: total USD increase. Restaurant: USD increase per sold portion. Do not enter a change you cannot obtain."
},
"portions": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Confirmed sellable portions required. Whole portions assumed sold at the entered receipts. This model does not assume uncertain demand will sell."
},
"yieldLow": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Low usable yield per complete batch (portions). Usable portions after your stated loss allowance, not raw ingredient weight. No further spoilage is inferred."
},
"batchCost": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Normal cost per complete batch (USD). Include normal materials, labor and operating costs once. Extra labor/equipment capacity is charged separately at the rates below."
},
"maxSaving": {
"type": "number",
"default": 0,
"maximum": 1000000000000,
"minimum": 0,
"description": "Verified cost reduction available. Zero locks this cost. Job and delivery: reduction of Other entered costs, in USD. Restaurant: reduction per normal batch, in USD/batch. Do not subtract a saving already included in your base costs."
},
"yieldHigh": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "High usable yield per complete batch (portions). Use the same recipe/batch basis as low yield. The high value must be at least the low value."
},
"cashBudget": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Maximum production cash cost (USD). Maximum entered cost for this whole production run, including extra capacity if used."
},
"laborHours": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Current productive labor capacity (person-hours). Available productive person-hours for this run; sum people who can actually participate."
},
"maxExtraLabor": {
"type": "number",
"default": 0,
"maximum": 1000000000000,
"minimum": 0,
"description": "Additional productive labor capacity available (person-hours). Zero locks labor capacity. Use an amount that can be supplied for this run."
},
"equipmentHours": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Current equipment time available (hours). Available equipment-hours on the same basis as the per-batch equipment time."
},
"extraLaborRate": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Incremental cost per added productive labor-hour (USD). Full additional cost, not a legal overtime multiplier. It is added to production cost when the capacity is used."
},
"equipmentMinutes": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Sequential equipment time per batch (minutes). One equipment-hour pool, batches processed sequentially. This is not a multi-machine production scheduler."
},
"personMinutesLow": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Low productive person-minutes per batch. Sum participating-person time; a two-person 15-minute task uses 30 person-minutes."
},
"maxExtraEquipment": {
"type": "number",
"default": 0,
"maximum": 1000000000000,
"minimum": 0,
"description": "Additional sequential equipment time available (hours). Zero locks equipment time. Any added time must fit the actual service deadline and process requirements."
},
"personMinutesHigh": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "High productive person-minutes per batch. Include the normal preparation/handling tasks covered by your batch cost."
},
"extraEquipmentRate": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Incremental cost per added equipment-hour (USD). Additional rental, operating or access cost per added hour; do not double-count an amount already in normal batch cost."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mode",
"fixed",
"hoursLow",
"hoursHigh",
"revenueLow",
"revenueHigh",
"milesLow",
"milesHigh",
"perMile",
"targetHourly",
"windowHours"
],
"properties": {
"mode": {
"type": "string",
"const": "delivery"
},
"fixed": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Other entered costs for this job, run or route (USD). Costs not included in the separately entered labor, normal batch cost or mileage rate. Do not count both components and their total."
},
"maxTime": {
"type": "number",
"default": 0,
"maximum": 1000000000000,
"minimum": 0,
"description": "Verified time reduction available on the route (hours). Zero locks route time. Use only an achievable operational change; the worksheet does not optimize stops or assume faster driving."
},
"perMile": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Vehicle cost per ALL mile (USD/mile). Your fuel, tires, maintenance and allocated vehicle costs per all mile. Exclude your own labor earnings when also using the earnings target."
},
"hoursLow": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Low all-in route time (elapsed hours). Job: productive person-hours. Delivery: elapsed hours including waiting, loading, stops, empty and return travel."
},
"milesLow": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Low ALL driven miles for route. Include loaded, empty, repositioning and return miles."
},
"hoursHigh": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "High all-in route time (elapsed hours). Use a credible upper bound for the same scope, not a probability or guaranteed completion time."
},
"maxSaving": {
"type": "number",
"default": 0,
"maximum": 1000000000000,
"minimum": 0,
"description": "Verified cost reduction available. Zero locks this cost. Job and delivery: reduction of Other entered costs, in USD. Restaurant: reduction per normal batch, in USD/batch. Do not subtract a saving already included in your base costs."
},
"milesHigh": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "High ALL driven miles for route. A credible upper bound for the same route scope."
},
"maxRevenue": {
"type": "number",
"default": 0,
"maximum": 1000000000000,
"minimum": 0,
"description": "Additional guaranteed route receipts available (USD). Zero locks receipts. This is an actual available improvement, not an assumed tip or newly offered order."
},
"revenueLow": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Low total route receipts (USD). Separate guaranteed receipts from uncertain tips or incentives. No platform pay rates are looked up."
},
"revenueHigh": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "High total route receipts (USD). A stated upper scenario, not promised work or income."
},
"windowHours": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Available elapsed time for route (hours). A hard elapsed-time limit, including waiting and return travel."
},
"targetHourly": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Required contribution per all-in hour (USD/hour). Target after entered vehicle/other costs, before income tax and omitted expenses. This is not a wage-law calculation."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mode",
"purchase",
"installation",
"cash",
"benefitLow",
"benefitHigh",
"years",
"minimumBenefit"
],
"properties": {
"cash": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Own cash currently available for purchase (USD). Available funding for the purchase; no unentered loan or grant is assumed."
},
"mode": {
"type": "string",
"const": "equipment"
},
"years": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Maximum acceptable simple payback (years). A positive horizon using equal annual benefits, without discounting, tax or residual value."
},
"maxCash": {
"type": "number",
"default": 0,
"maximum": 1000000000000,
"minimum": 0,
"description": "Additional verified OWN cash available (USD). Zero locks your funding. Additional own cash does not improve payback and is not an unmodeled loan."
},
"purchase": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Equipment purchase price (USD). Quoted acquisition price before the separately entered installation/extras."
},
"benefitLow": {
"type": "number",
"maximum": 1000000000000,
"minimum": -1000000000000,
"description": "Low annual incremental NET benefit (USD/year). Incremental receipts or savings minus incremental annual operating, labor and maintenance costs. A negative value is allowed."
},
"maxBenefit": {
"type": "number",
"default": 0,
"maximum": 1000000000000,
"minimum": 0,
"description": "Verified improvement to annual NET benefit (USD/year). Zero locks annual benefit. Use only an achievable change not already included in the annual benefit range."
},
"benefitHigh": {
"type": "number",
"maximum": 1000000000000,
"minimum": -1000000000000,
"description": "High annual incremental NET benefit (USD/year). Same annual scope as the low benefit. Do not substitute gross sales."
},
"maxDiscount": {
"type": "number",
"default": 0,
"maximum": 1000000000000,
"minimum": 0,
"description": "Verified purchase-price reduction available (USD). Zero locks purchase price. Discount cannot exceed purchase price and does not reduce installation automatically."
},
"installation": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Installation and acquisition extras (USD). One-time installation, delivery and other acquisition cash costs, counted once."
},
"minimumBenefit": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Minimum acceptable annual net benefit (USD/year). A hard minimum; zero means you require at least nonnegative annual net benefit."
}
},
"additionalProperties": false
},
{
"type": "object",
"allOf": [
{
"if": {
"required": [
"maxOvertime"
],
"properties": {
"maxOvertime": {
"exclusiveMinimum": 0
}
}
},
"then": {
"required": [
"overtimeRate"
]
}
},
{
"if": {
"required": [
"maxOutsource"
],
"properties": {
"maxOutsource": {
"exclusiveMinimum": 0
}
}
},
"then": {
"required": [
"outsourceRate"
]
}
}
],
"required": [
"mode",
"workers",
"paidHours",
"productive",
"workLow",
"workHigh",
"loadedRate",
"budget"
],
"properties": {
"mode": {
"type": "string",
"const": "staffing"
},
"budget": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Maximum staffing cost for period (USD). Includes regular staffing and any added hires, overtime or outsourcing."
},
"workLow": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Low required workload (productive person-hours). Sum task person-hours, not elapsed crew-hours."
},
"workers": {
"type": "integer",
"maximum": 10000,
"minimum": 0,
"description": "Current regular workers assigned to this period. Whole workers with the paid hours and productive share below. This aggregate model assumes interchangeable coverage."
},
"maxHires": {
"type": "integer",
"default": 0,
"maximum": 20,
"minimum": 0,
"description": "Additional whole workers actually available (0–20). Zero locks hiring. Each added worker receives the full entered regular paid hours in this period."
},
"workHigh": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "High required workload (productive person-hours). Credible upper workload for the same tasks and period."
},
"paidHours": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Paid hours per regular worker in period. Use the same week, month or other period for workload, wages, capacity and budget."
},
"loadedRate": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Loaded cost per regular PAID hour (USD/hour). Employer labor cost per paid hour, not cost per productive hour."
},
"productive": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Productive share of paid time (%). Your measured or explicitly assumed productive share. Applied to both regular and added paid overtime hours."
},
"maxOvertime": {
"type": "number",
"default": 0,
"maximum": 1000000000000,
"minimum": 0,
"description": "Additional paid overtime hours available across team. Total extra paid hours, not per-worker hours. Zero locks overtime. Availability and legal limits must be checked separately."
},
"maxOutsource": {
"type": "number",
"default": 0,
"maximum": 1000000000000,
"minimum": 0,
"description": "Outsourced productive hours available. Delivered productive person-hours, not paid employee hours. Zero locks outsourcing."
},
"overtimeRate": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Loaded cost per additional PAID hour (USD/hour). Full incremental employer cost. No statutory rate or multiplier is selected for you."
},
"outsourceRate": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Quoted cost per outsourced PRODUCTIVE hour (USD/hour). Full supplier cost per delivered productive hour, using the same task scope."
}
},
"additionalProperties": false
}
]
},
"modelVersion": {
"enum": [
"1.0.0"
],
"type": "string"
}
},
"additionalProperties": false
}Build a fixed-rate equipment loan amortization schedule. Use this tested BusCalc worksheet when the task matches its inputs and scope. Returns named results, units, formula, assumptions, method version and a source-page URL. No prices or omitted costs are looked up; no private projects or purchases are accessed.
| Argument | Type | Description |
|---|---|---|
| units | object | |
| inputs* | object | |
| modelVersion | string | Optional expected method version; a mismatch is rejected. |
{
"type": "object",
"required": [
"inputs"
],
"properties": {
"units": {
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
},
"inputs": {
"type": "object",
"required": [
"principal",
"annual",
"months"
],
"properties": {
"annual": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Nominal annual interest rate. Fixed nominal annual interest rate from quote, not fee-inclusive APR."
},
"months": {
"type": "integer",
"maximum": 600,
"minimum": 1,
"description": "Loan term. Actual time from logs/calendar/statement, or an explicitly labeled future schedule. Keep the period in loan term consistent with all matching costs/outputs."
},
"principal": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0.01,
"description": "Loan principal. Loan principal from financing quote, not automatically full equipment price."
}
},
"additionalProperties": false
},
"modelVersion": {
"enum": [
"1.0.0"
],
"type": "string",
"description": "Optional expected method version; a mismatch is rejected."
}
},
"additionalProperties": false
}Recover economic ownership and running cost at realistic utilization. Use this tested BusCalc worksheet when the task matches its inputs and scope. Returns named results, units, formula, assumptions, method version and a source-page URL. No prices or omitted costs are looked up; no private projects or purchases are accessed.
| Argument | Type | Description |
|---|---|---|
| units | object | |
| inputs* | object | |
| modelVersion | string | Optional expected method version; a mismatch is rejected. |
{
"type": "object",
"required": [
"inputs"
],
"properties": {
"units": {
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
},
"inputs": {
"type": "object",
"required": [
"purchase",
"salvage",
"life",
"fixed",
"hours",
"variable"
],
"properties": {
"life": {
"type": "number",
"maximum": 100,
"description": "Economic life. Expected economic service years, not tax depreciation life.",
"exclusiveMinimum": 0
},
"fixed": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Other annual fixed costs. Matching invoice, quote, statement, bookkeeping record or explicit budget amount for other annual fixed costs. Use the stated period and exclude amounts already counted in another field. Zero means intentionally excluded/not incurred, not unknown."
},
"hours": {
"type": "number",
"maximum": 8784,
"description": "Annual use. Use matching records or a clearly identified owner assumption for annual use, in the displayed unit and the stated row/period scope.",
"exclusiveMinimum": 0
},
"salvage": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Expected salvage value. Owner’s expected end-of-life sale receipt; scenario assumption, not appraisal."
},
"purchase": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Purchase price. Matching invoice, quote, statement, bookkeeping record or explicit budget amount for purchase price. Use the stated period and exclude amounts already counted in another field. Zero means intentionally excluded/not incurred, not unknown."
},
"variable": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Variable operating cost per hour. Usage-dependent cost total ÷ matching operating hours; exclude fixed costs and depreciation."
}
},
"additionalProperties": false
},
"modelVersion": {
"enum": [
"1.0.0"
],
"type": "string",
"description": "Optional expected method version; a mismatch is rejected."
}
},
"additionalProperties": false
}Add or subtract two measurements, or multiply one length by a count, with fractional-inch entry and decimal conversions. Use this tested BusCalc worksheet when the task matches its inputs and scope. Returns named results, units, formula, assumptions, method version and a source-page URL. No prices or omitted costs are looked up; no private projects or purchases are accessed.
| Argument | Type | Description |
|---|---|---|
| units | object | |
| inputs* | object | |
| modelVersion | string | Optional expected method version; a mismatch is rejected. |
{
"type": "object",
"required": [
"inputs"
],
"properties": {
"units": {
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
},
"inputs": {
"type": "object",
"allOf": [
{
"if": {
"required": [
"operation"
],
"properties": {
"operation": {
"const": "add"
}
}
},
"then": {
"required": [
"feetB"
]
}
},
{
"if": {
"required": [
"operation"
],
"properties": {
"operation": {
"const": "add"
}
}
},
"then": {
"required": [
"inchesB"
]
}
},
{
"if": {
"required": [
"operation"
],
"properties": {
"operation": {
"const": "subtract"
}
}
},
"then": {
"required": [
"subtractFeet"
]
}
},
{
"if": {
"required": [
"operation"
],
"properties": {
"operation": {
"const": "subtract"
}
}
},
"then": {
"required": [
"subtractInches"
]
}
},
{
"if": {
"required": [
"operation"
],
"properties": {
"operation": {
"const": "multiply"
}
}
},
"then": {
"required": [
"multiplier"
]
}
}
],
"required": [
"feetA",
"inchesA",
"operation"
],
"properties": {
"feetA": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "First measurement — whole feet. Use matching records or an explicitly identified assumption for first measurement — whole feet. Unknown is not the same as zero."
},
"feetB": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Second measurement — whole feet. Use matching records or an explicitly identified assumption for second measurement — whole feet. Unknown is not the same as zero."
},
"inchesA": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "First measurement — inches (7.5 or 7 1/2). Use matching records or an explicitly identified assumption for first measurement — inches (7.5 or 7 1/2). Unknown is not the same as zero."
},
"inchesB": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Second measurement — inches. Use matching records or an explicitly identified assumption for second measurement — inches. Unknown is not the same as zero."
},
"operation": {
"enum": [
"add",
"subtract",
"multiply"
],
"type": "string",
"default": "add",
"description": "Calculation. Use matching records or an explicitly identified assumption for calculation. Unknown is not the same as zero."
},
"multiplier": {
"type": "number",
"maximum": 1000000000000,
"description": "Number of first-length equivalents. Use matching records or an explicitly identified assumption for number of first-length equivalents. Unknown is not the same as zero.",
"exclusiveMinimum": 0
},
"subtractFeet": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Subtract — whole feet. Use matching records or an explicitly identified assumption for subtract — whole feet. Unknown is not the same as zero."
},
"subtractInches": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Subtract — inches. Use matching records or an explicitly identified assumption for subtract — inches. Unknown is not the same as zero."
}
},
"additionalProperties": false
},
"modelVersion": {
"enum": [
"1.0.0"
],
"type": "string",
"description": "Optional expected method version; a mismatch is rejected."
}
},
"additionalProperties": false
}Add your vehicle operating, ownership and driver costs, then divide by productive miles for the same period. Use this tested BusCalc worksheet when the task matches its inputs and scope. Returns named results, units, formula, assumptions, method version and a source-page URL. No prices or omitted costs are looked up; no private projects or purchases are accessed.
| Argument | Type | Description |
|---|---|---|
| units* | object | |
| inputs* | object | |
| modelVersion | string | Optional expected method version; a mismatch is rejected. |
{
"type": "object",
"required": [
"inputs",
"units"
],
"properties": {
"units": {
"type": "object",
"required": [
"distance"
],
"properties": {
"distance": {
"enum": [
"km",
"mi"
],
"type": "string",
"description": "Explicit unit for Productive / billable distance for that same period"
}
},
"additionalProperties": false
},
"inputs": {
"type": "object",
"required": [
"costs",
"distance"
],
"properties": {
"costs": {
"type": "array",
"items": {
"type": "object",
"required": [
"amount"
],
"properties": {
"amount": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Amount for this cost in the stated period. Matching invoice, quote, statement, bookkeeping record or explicit budget amount for cost amount. Use the stated period and exclude amounts already counted in another field. Zero means intentionally excluded/not incurred, not unknown."
},
"costCategory": {
"enum": [
"other",
"total",
"labor",
"materials",
"fuel",
"maintenance",
"insurance",
"rent",
"ownership",
"fees"
],
"type": "string",
"default": "other",
"description": "Cost category — optional label. This label helps identify your cost rows and appears with saved inputs. It does not select a rate, add an expense or change the arithmetic. Choose Other for any unlisted cost."
}
},
"additionalProperties": false
},
"maxItems": 20,
"minItems": 1,
"description": "Vehicle ownership operating and driver costs in period. Enter one distinct cost per row, or one known total. Do not enter both a total and its components. Choose a cost category if helpful; it does not calculate or add that cost. One row per distinct vehicle ownership operating and driver costs in period, on the stated row and period basis. Do not enter both components and their total."
},
"distance": {
"type": "number",
"maximum": 1000000000000,
"description": "Productive / billable distance for that same period. From your trip log, enter only productive or billable miles (or select kilometres). Include all trip costs above, including empty travel. This worksheet specifically measures cost per productive distance; do not mistake it for cost per all odometer miles.",
"exclusiveMinimum": 0
},
"reportingPeriod": {
"enum": [
"custom",
"week",
"month",
"year",
"trip"
],
"type": "string",
"default": "custom",
"description": "Period used for ALL costs and distance. This is a scope label only. It does not convert annual insurance to a monthly cost or change your distance. Allocate every amount to the same period before entering it."
}
},
"additionalProperties": false
},
"modelVersion": {
"enum": [
"1.0.0"
],
"type": "string",
"description": "Optional expected method version; a mismatch is rejected."
}
},
"additionalProperties": false
}Convert cost and desired gross margin into price without confusing markup. Use this tested BusCalc worksheet when the task matches its inputs and scope. Returns named results, units, formula, assumptions, method version and a source-page URL. No prices or omitted costs are looked up; no private projects or purchases are accessed.
| Argument | Type | Description |
|---|---|---|
| units | object | |
| inputs* | object | |
| modelVersion | string | Optional expected method version; a mismatch is rejected. |
{
"type": "object",
"required": [
"inputs"
],
"properties": {
"units": {
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
},
"inputs": {
"type": "object",
"required": [
"cost",
"margin"
],
"properties": {
"cost": {
"type": "number",
"maximum": 1000000000000,
"description": "Unit cost. Matching invoice, quote, statement, bookkeeping record or explicit budget amount for unit cost. Use the stated period and exclude amounts already counted in another field. Zero means intentionally excluded/not incurred, not unknown.",
"exclusiveMinimum": 0
},
"margin": {
"type": "number",
"maximum": 99.99,
"minimum": 0,
"description": "Desired gross margin. Desired gross profit ÷ SELLING PRICE ×100, not markup on cost."
}
},
"additionalProperties": false
},
"modelVersion": {
"enum": [
"1.0.0"
],
"type": "string",
"description": "Optional expected method version; a mismatch is rejected."
}
},
"additionalProperties": false
}Find the ingredient cost of a batch and each sellable portion from package prices and quantities used. Use this tested BusCalc worksheet when the task matches its inputs and scope. Returns named results, units, formula, assumptions, method version and a source-page URL. No prices or omitted costs are looked up; no private projects or purchases are accessed.
| Argument | Type | Description |
|---|---|---|
| units | object | |
| inputs* | object | |
| modelVersion | string | Optional expected method version; a mismatch is rejected. |
{
"type": "object",
"required": [
"inputs"
],
"properties": {
"units": {
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
},
"inputs": {
"type": "object",
"allOf": [
{
"if": {
"required": [
"recipeEntry"
],
"properties": {
"recipeEntry": {
"const": "ingredients"
}
}
},
"then": {
"required": [
"ingredients"
]
}
},
{
"if": {
"required": [
"recipeEntry"
],
"properties": {
"recipeEntry": {
"const": "total"
}
}
},
"then": {
"required": [
"batchCost"
]
}
}
],
"required": [
"portions",
"recipeEntry"
],
"properties": {
"portions": {
"type": "integer",
"maximum": 1000000,
"minimum": 1,
"description": "Sellable portions from batch. Invoices, recipe quantity and measured batch yield. Owner records or explicit assumption; no account connection or maintained rate tables required."
},
"batchCost": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Known ingredient cost for this complete batch. Invoices, recipe quantity and measured batch yield. Owner records or explicit assumption; no account connection or maintained rate tables required."
},
"ingredients": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"packCost",
"packQty",
"usedQty"
],
"properties": {
"label": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Ingredient name. Invoices, recipe quantity and measured batch yield. Owner records or explicit assumption; no account connection or maintained rate tables required."
},
"packQty": {
"type": "number",
"maximum": 1000000000000,
"description": "Quantity in package. Invoices, recipe quantity and measured batch yield. Owner records or explicit assumption; no account connection or maintained rate tables required.",
"exclusiveMinimum": 0
},
"usedQty": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Quantity taken for this batch. Invoices, recipe quantity and measured batch yield. Owner records or explicit assumption; no account connection or maintained rate tables required."
},
"packCost": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Price paid for package. Invoices, recipe quantity and measured batch yield. Owner records or explicit assumption; no account connection or maintained rate tables required."
}
},
"additionalProperties": false
},
"maxItems": 20,
"minItems": 1,
"description": "Ingredients taken from purchased packs. Invoices, recipe quantity and measured batch yield. Owner records or explicit assumption; no account connection or maintained rate tables required."
},
"recipeEntry": {
"enum": [
"ingredients",
"total"
],
"type": "string",
"default": "ingredients",
"description": "Which recipe cost information do you have?. Choose the information you actually have. Only the selected method is required."
}
},
"additionalProperties": false
},
"modelVersion": {
"enum": [
"1.0.0"
],
"type": "string",
"description": "Optional expected method version; a mismatch is rejected."
}
},
"additionalProperties": false
}Recover annual overhead and owner compensation across billable hours. Use this tested BusCalc worksheet when the task matches its inputs and scope. Returns named results, units, formula, assumptions, method version and a source-page URL. No prices or omitted costs are looked up; no private projects or purchases are accessed.
| Argument | Type | Description |
|---|---|---|
| units | object | |
| inputs* | object | |
| modelVersion | string | Optional expected method version; a mismatch is rejected. |
{
"type": "object",
"required": [
"inputs"
],
"properties": {
"units": {
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
},
"inputs": {
"type": "object",
"required": [
"overhead",
"compensation",
"profit",
"hours"
],
"properties": {
"hours": {
"type": "number",
"maximum": 8784,
"description": "Annual billable hours. Calendar working weeks × productive hours/week × explicit billable share.",
"exclusiveMinimum": 0
},
"profit": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Annual additional profit target. Explicit owner-supplied assumption for annual additional profit target. Label it as a scenario and compare alternatives; do not present it as a forecast."
},
"overhead": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Annual overhead. Use matching records or a clearly identified owner assumption for annual overhead, in the displayed unit and the stated row/period scope."
},
"compensation": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Annual owner compensation target. Owner-chosen annual pre-tax compensation target, separate from additional business profit."
}
},
"additionalProperties": false
},
"modelVersion": {
"enum": [
"1.0.0"
],
"type": "string",
"description": "Optional expected method version; a mismatch is rejected."
}
},
"additionalProperties": false
}Find time between two clock readings, including an explicit end-day offset and optional excluded minutes. Use this tested BusCalc worksheet when the task matches its inputs and scope. Returns named results, units, formula, assumptions, method version and a source-page URL. No prices or omitted costs are looked up; no private projects or purchases are accessed.
| Argument | Type | Description |
|---|---|---|
| units | object | |
| inputs* | object | |
| modelVersion | string | Optional expected method version; a mismatch is rejected. |
{
"type": "object",
"required": [
"inputs"
],
"properties": {
"units": {
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
},
"inputs": {
"type": "object",
"required": [
"start",
"end",
"endDays",
"excluded"
],
"properties": {
"end": {
"type": "string",
"maxLength": 5,
"minLength": 1,
"description": "End time (24-hour HH:MM). Enter a 24-hour clock time as HH:MM, for example 08:30, 13:15 or 23:45. Midnight is 00:00."
},
"start": {
"type": "string",
"maxLength": 5,
"minLength": 1,
"description": "Start time (24-hour HH:MM). Enter a 24-hour clock time as HH:MM, for example 08:30, 13:15 or 23:45. Midnight is 00:00."
},
"endDays": {
"type": "integer",
"maximum": 36500,
"minimum": 0,
"description": "End time is this many calendar days after start. Use matching records or an explicitly identified assumption for end time is this many calendar days after start. Unknown is not the same as zero."
},
"excluded": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Minutes to exclude from the duration. Use matching records or an explicitly identified assumption for minutes to exclude from the duration. Unknown is not the same as zero."
}
},
"additionalProperties": false
},
"modelVersion": {
"enum": [
"1.0.0"
],
"type": "string",
"description": "Optional expected method version; a mismatch is rejected."
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 3, 2026.