Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

calc.engineer

REMOTE · CALC.ENGINEER · SCANNED AUG 3

88 free engineering calculators: RF link budgets, LoRa/Meshtastic, PCB, solar, homelab. Keyless.

Available components

+3 this week 56 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security46
Transport & Reachability100
Schema Quality & AI Usability42
  • 0% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Fail
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 20141 tokens (~221/item across 91 items; 89 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · calc.engineer

# add to Claude Code
claude mcp add --transport http engineer-calc-calc https://calc.engineer/mcp
# ~/.codex/config.toml
[mcp_servers.engineer-calc-calc]
url = "https://calc.engineer/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "engineer-calc-calc": {
      "type": "remote",
      "url": "https://calc.engineer/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add engineer-calc-calc --url https://calc.engineer/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  engineer-calc-calc:
    url: "https://calc.engineer/mcp"
// mcp.json
{
  "mcpServers": {
    "engineer-calc-calc": {
      "type": "http",
      "url": "https://calc.engineer/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 −1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 52

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://calc.engineer/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=calc.engineer CN=WE1,O=Google Trust Services,C=US 27 Jul 2026 25 Oct 2026 ECDSA 256 ECDSA-SHA256 6c8de0c4441fafea135ce83d632ff978
SANs: calc.engineer, api.calc.engineer, *.api.calc.engineer
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b
DNSSEC insecure

Validation of calc.engineer. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
engineer. present 14215 8 Verified
calc.engineer. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://calc.engineer/mcp Verified 200
http (plaintext) http://calc.engineer/mcp Served over HTTP 200
MCP tools — 89 exposed · ~20,020 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
network_bandwidth ~281

Plan and validate network link capacity for homelab workloads. Determine whether a 1G, 2.5G, 10G, or faster link can handle your concurrent streams (VMs, backups, media, iSCSI). Calculates effective bandwidth after TCP/IP overhead, total required bandwidth, utilization percentage, and remaining headroom. Flags saturation at 80% utilization and identifies whether the bottleneck is network or storage. Provides a 1TB transfer time reference and recommends the next link speed upgrade if your current link is saturated. Useful for planning NIC upgrades, switch purchases, and storage network design.

NameTypeReqDescription
concurrent_streamsintegerNumber of concurrent data streams / transfers
link_speed_gbpsnumberyesNetwork link speed in gigabits per second (e.g. 1, 2.5, 5, 10, 25, 40, 100)
protocol_overhead_pctnumberTCP/IP protocol overhead as a percentage (typically 3-5% for TCP, ~1% for UDP)
storage_throughput_mbpsnumberMaximum storage read/write throughput in megabits per second. If provided, checks whether storage is the bottleneck
stream_bandwidth_mbpsnumberBandwidth required per stream in megabits per second
NameTypeReqDescription
bottleneckstringyesIdentified bottleneck: 'storage', 'network', or 'none'
effective_bandwidth_mbpsnumberyesUsable bandwidth after protocol overhead in Mbps
headroom_mbpsnumberyesRemaining bandwidth after all streams (negative means oversubscribed)
recommended_link_speed_gbpsnumber|nullyesSuggested next link speed upgrade if saturated, null if current link is sufficient
required_bandwidth_mbpsnumberyesTotal bandwidth required by all streams in Mbps
saturatedbooleanyesTrue if utilization exceeds 80% — link is effectively saturated
time_to_transfer_1tb_hoursnumberyesTime to transfer 1 TB over the effective bandwidth, in hours
utilization_pctnumberyesPercentage of effective bandwidth used by all streams

No examples provided.

noise_figure_cascade ~118

Calculate the cascaded noise figure of a multi-stage receiver chain using the Friis formula. Each stage has a noise figure and gain in dB. The first stage dominates overall system noise, which is why low-noise amplifiers (LNAs) are placed at the front of the chain. Returns total cascaded noise figure, total gain, and equivalent noise temperature. Feeds into link_budget for complete receive-chain sensitivity analysis.

NameTypeReqDescription
stagesarrayyesOrdered array of receiver chain stages, each with nf_db and gain_db
NameTypeReqDescription
noise_temp_knumberyesEquivalent noise temperature in kelvin (T0 = 290 K)
total_gain_dbnumberyesTotal gain of the chain in dB
total_nf_dbnumberyesTotal cascaded noise figure in dB

No examples provided.

ohms_law ~209

Solves Ohm's Law and the power equation given any two of four electrical quantities: voltage (V), current (I), resistance (R), and power (P). Uses V=IR, P=VI, P=I^2R, and P=V^2/R to derive the missing two values. Fundamental for every circuit design task: sizing resistors, estimating current draw, checking power dissipation, and verifying component ratings. Chain into led_resistor for LED circuits or voltage_divider for bias networks.

NameTypeReqDescription
current_anumberCurrent in amps (A). Provide exactly 2 of the 4 parameters.
power_wnumberPower in watts (W). Provide exactly 2 of the 4 parameters.
resistance_ohmnumberResistance in ohms. Provide exactly 2 of the 4 parameters.
voltage_vnumberVoltage in volts (V). Provide exactly 2 of the 4 parameters.
NameTypeReqDescription
current_anumberyesCurrent in amps (A).
power_wnumberyesPower in watts (W).
resistance_ohmnumberyesResistance in ohms.
voltage_vnumberyesVoltage in volts (V).

No examples provided.

op_amp_gain ~338

Calculate voltage gain and output for operational amplifier circuits in inverting, non-inverting, and differential configurations. For inverting: Av = -Rf/Ri with input impedance equal to Ri. For non-inverting: Av = 1 + Rf/Rg with very high input impedance. For differential: Av = Rf/Ri applied to (V1 - V2). Reports gain in linear and dB, output voltage when input is provided, input impedance, and phase inversion status. Ideal op-amp assumptions (infinite open-loop gain, zero input bias current). Chain from ohms_law for power budgeting or resistor_color_code for component selection.

NameTypeReqDescription
rf_ohmnumberyesFeedback resistor Rf in ohms. Sets gain magnitude in all topologies.
ri_ohmnumberyesInput/gain resistor in ohms. For inverting: input resistor Ri. For non-inverting: ground resistor Rg. For differential: input resistor on both channels.
topologystringyesOp-amp circuit topology. 'inverting' uses Rf/Ri feedback with input to inverting terminal. 'non_inverting' applies input to non-inverting terminal with Rf/Rg feedback. 'differential' amplifies the vo…
vin2_vnumberSecond input voltage in volts (differential topology only). This is V2 (inverting input).
vin_vnumberInput voltage in volts (optional). When provided, computes actual output voltage. For differential topology, this is V1 (non-inverting input).
NameTypeReqDescription
gainnumberyesVoltage gain (Av). Negative for inverting topology.
gain_absnumberyesAbsolute value of voltage gain.
gain_dbnumberyesGain in decibels: 20 * log10(|Av|).
input_impedance_ohmnumberyesInput impedance in ohms. Inverting: Ri. Non-inverting: very high (returned as 1e12). Differential: Ri.
phase_inversionbooleanyesTrue if the output is phase-inverted relative to the input.
rf_ohmnumberyesFeedback resistor value used in ohms.
ri_ohmnumberyesInput/gain resistor value used in ohms.
topologystringyesOp-amp topology used.
vout_vnumber|nullyesOutput voltage in volts (null if no input voltage provided).

No examples provided.

p_value ~222

Calculate the p-value for a z-score or t-statistic. Supports one-tailed (left or right) and two-tailed hypothesis tests using either the standard normal distribution or the Student's t-distribution when degrees of freedom are specified. Returns significance flags at the 0.01, 0.05, and 0.10 alpha levels. Essential for interpreting results from t-tests, z-tests, ANOVA post-hoc comparisons, and regression coefficients. Uses the Abramowitz & Stegun normal CDF approximation and regularized incomplete beta function for the t-distribution.

NameTypeReqDescription
degrees_of_freedomintegerDegrees of freedom for the t-distribution. Omit to use the standard normal (z) distribution.
test_statisticnumberyesThe z-score or t-statistic from your hypothesis test. Positive values indicate the observed value is above the null hypothesis mean.
test_typestringTail type: one_tail_left (p from left), one_tail_right (p from right), or two_tail (both tails combined).
NameTypeReqDescription
p_valuenumberyesThe computed p-value representing the probability of observing a result at least as extreme as the test statistic under the null hypothesis.
significant_at_01booleanyesWhether the result is statistically significant at the 0.01 (1%) level.
significant_at_05booleanyesWhether the result is statistically significant at the 0.05 (5%) level.
significant_at_10booleanyesWhether the result is statistically significant at the 0.10 (10%) level.
test_typestringyesThe tail type used for this calculation.

No examples provided.

pcb_layout ~372

Turn a SPICE netlist into a fab-ready 2-layer PCB: assigns real footprints (0805, TO-92, DO-35, DIP-8, headers, LED, radial-cap), auto-places components (connectivity-aware; or use your own placement), routes a 2-layer maze router with vias, and VERIFIES the result with DRC (clearance/crossing checks) and ERC (union-find copper connectivity proven against the netlist). Returns the board, routing stats + honest unrouted-net list, DRC violations, ERC net status, a 'manufacturable' flag (true only when DRC+ERC clean and everything routed), SVG layers (top/bottom copper, silkscreen, drill, assembly), and optional Gerber RS-274X + Excellon drill files. Same netlist you simulate with spice_simulate — design, verify, and lay out an entire board through the tool layer. Supply a 'placement' array for production-quality boards; the auto-router is a first-pass best-of-N-seeds.

NameTypeReqDescription
boardobjectOptional board size in mm; auto-sized if omitted
clearance_mmnumberMinimum copper clearance in mm
gerberbooleanAlso return Gerber RS-274X + Excellon drill files
gnd_pourbooleanTreat GND as a bottom-layer pour (unions all GND pads for ERC)
netliststringyesSPICE netlist (same format as spice_simulate). Components + nets are extracted; .model/.tran/etc. ignored.
placementarrayOptional manual placement; omit for connectivity-aware auto-placement (best of N seeds).
trace_width_mmnumberRouting trace width in mm
NameTypeReqDescription
board
components
drc
erc
gerber
layers_svg
manufacturablebooleanyes
nets
routing
warningsarrayyes

No examples provided.

pcb_thermal ~210

Estimate PCB component temperatures by solving a thermal resistance network (thermal↔electrical analogy) with the built-in MNA solver. Each component gets a junction node (package θjb from a typical-datasheet table), a local board node coupled to its neighbours through in-plane FR4/copper conduction, and convection to ambient. Computes per-component junction and case temperatures, board extremes, and flags max-junction violations. Runs instantly in-worker; mesh-level CFD via container backend is planned.

NameTypeReqDescription
airflow_velocity_msnumberAirflow velocity in m/s (0 = natural convection)
ambient_temp_cnumberAmbient temperature in Celsius
board_length_mnumberyesBoard length in metres
board_thickness_mnumberBoard thickness in metres (default 1.6mm FR4)
board_width_mnumberyesBoard width in metres
componentsarrayyesComponents on the board
mesh_densitystringMesh density
NameTypeReqDescription
avg_board_temp_cnumberyesAverage board temperature (°C)
component_tempsarrayyesPer-component thermal results
max_board_temp_cnumberyesMaximum board surface temperature (°C)
mesh_cellsnumberyesMesh cell count
runtime_msnumberyesSimulation time in ms
total_heat_wnumberyesTotal heat dissipation (W)
violationsnumberyesNumber of components exceeding thermal limits
warningsarrayyesSolver warnings

No examples provided.

pcb_via_current ~407

Calculate PCB via current-carrying capacity using the IPC-2221 standard. A plated via is a hollow copper cylinder whose cross-sectional area is the annular ring of plating: A = pi * (D - t) * t, where D is the drill diameter and t is plating thickness. The IPC-2221 empirical formula I = k * dT^0.44 * A^0.725 (k=0.048) then gives the maximum current for a given temperature rise. Also computes via barrel resistance from copper resistivity (1.724e-6 ohm-cm) and barrel length (board thickness). When a target current is specified, returns how many parallel vias are needed. Essential for power planes, high-current paths, and thermal via arrays. Chain with trace_width to verify both trace and via can handle the same current.

NameTypeReqDescription
board_thickness_mmnumberTotal PCB board thickness in millimeters. Standard 2-layer is 1.6 mm. Common values: 0.8, 1.0, 1.6, 2.0, 2.4.
drill_diameter_mmnumberVia drill hole diameter in millimeters. Common values: 0.2 (microvia), 0.3 (standard), 0.4, 0.6, 0.8, 1.0.
plating_thickness_umnumberCopper plating thickness on the via barrel wall in micrometers. Standard is 25 um (IPC Class 2). Heavy plating is 50 um (IPC Class 3).
target_current_anumberOptional target current in amperes. When provided, calculates how many parallel vias are needed to carry this current safely.
temp_rise_cnumberAllowable temperature rise above ambient in degrees Celsius. IPC-2221 standard uses 10, 20, or 30 C.
NameTypeReqDescription
cross_section_mil2numberyesCopper cross-sectional area of the via barrel annulus in square mils.
cross_section_mm2numberyesCopper cross-sectional area of the via barrel annulus in square millimeters.
max_current_anumberyesMaximum current capacity of a single via at the specified temperature rise, in amperes.
power_dissipation_mwnumberyesPower dissipated in the via at maximum rated current in milliwatts.
resistance_mohmnumberyesDC resistance of the via barrel in milliohms, calculated from copper resistivity and barrel length.
vias_needednumber|nullyesNumber of parallel vias needed for the target current. Null if no target_current_a was provided.
voltage_drop_mvnumberyesVoltage drop across the via at maximum rated current in millivolts.

No examples provided.

percentage_calc ~126

Calculate what percentage one number is of another. Given a value and a total, returns the percentage, decimal form, and simplified fraction. For example, 3 out of 4 yields 75%, 0.75, and '3/4'. Commonly used for test scores, survey results, financial ratios, completion rates, and unit conversions. Chain with percentage_increase to compare successive measurements or use with test_grade for academic scoring.

NameTypeReqDescription
totalnumberyesThe whole or denominator value (must not be zero)
valuenumberyesThe part or numerator value
NameTypeReqDescription
decimalnumberyesThe decimal form (e.g. 0.75)
fraction_simplifiedstringyesSimplified fraction as a string (e.g. '3/4')
percentagenumberyesThe percentage value (e.g. 75 for 75%)

No examples provided.

percentage_increase ~118

Calculate the percentage change between an old value and a new value. Determines whether the change is an increase or decrease, the absolute change, and the percentage change. Essential for financial analysis (stock price changes, revenue growth), scientific measurements (before/ after experiments), performance benchmarks, and population statistics. A positive percentage indicates growth; negative indicates decline. Division by zero (old_value = 0) is handled gracefully.

NameTypeReqDescription
new_valuenumberyesThe new or ending value
old_valuenumberyesThe original or starting value
NameTypeReqDescription
absolute_changenumberyesAbsolute value of the change
changenumberyesThe signed difference (new_value - old_value)
is_increasebooleanyesTrue if new_value > old_value, false otherwise
percentage_changenumberyesPercentage change from old to new value

No examples provided.

power_cost ~228

Calculate total power consumption, electricity cost, and circuit requirements for a homelab. Enter each device's wattage to get daily/monthly/yearly kWh and cost at your local electricity rate. Accounts for cooling overhead via PUE (Power Usage Effectiveness). Shows amperage draw at 120V and 240V and warns if you exceed the NEC 80% continuous load limit on a 15A breaker. Essential for budgeting homelab operating expenses and ensuring your electrical panel can handle the load. Chain output total_watts into cooling_btu for heat load sizing.

NameTypeReqDescription
devicesarrayyesList of devices with their wattage
hours_per_daynumberHours per day the devices are running
kwh_rate_centsnumberElectricity cost in cents per kilowatt-hour
puenumberPower Usage Effectiveness — ratio of total facility power to IT equipment power. 1.0 means no cooling overhead, 1.2 is typical for a home server closet, 1.5+ for poorly ventilated spaces
NameTypeReqDescription
amps_at_120vnumberyesCurrent draw at 120V (typical North American outlet)
amps_at_240vnumberyesCurrent draw at 240V (typical European / high-power outlet)
breaker_15a_pctnumberyesPercentage of a 15A / 120V circuit used. NEC requires continuous loads stay under 80% (12A)
daily_kwhnumberyesDaily energy consumption in kilowatt-hours
monthly_cost_usdnumberyesEstimated monthly electricity cost in USD
monthly_kwhnumberyesMonthly energy consumption in kilowatt-hours (30.44 day average)
total_wattsnumberyesSum of all device wattages before PUE adjustment
total_with_pue_wattsnumberyesTotal power draw including cooling overhead (watts * PUE)
yearly_cost_usdnumberyesEstimated yearly electricity cost in USD
yearly_kwhnumberyesYearly energy consumption in kilowatt-hours (365.25 day average)

No examples provided.

power_supply_decoupling ~363

Select bypass and bulk decoupling capacitors for IC power supply pins. Computes the target PDN (Power Distribution Network) impedance from supply current, voltage, and allowable ripple using Z_target = V_ripple / I_total. Recommends a ceramic bypass capacitor (high-frequency decoupling, placed closest to IC pins) and a bulk capacitor (low-frequency decoupling, near the regulator). Calculates the ceramic cap's self-resonant frequency assuming typical lead inductance, and checks whether ESR-induced ripple stays within limits. Essential for digital, analog, and mixed-signal PCB design. Chain with lc_resonance to verify the decoupling capacitor's resonant behavior, or with trace_width to size the power trace.

NameTypeReqDescription
esr_mohmnumberEquivalent series resistance (ESR) of the ceramic bypass capacitor in milliohms. Typical MLCC: 5-20 mohm.
max_ripple_mvnumberMaximum allowable supply ripple in millivolts (mV). Typical: 50 mV for digital, 10 mV for analog/RF.
num_icsintegerNumber of identical ICs sharing this supply rail. Scales the total current demand.
supply_current_manumberyesIC supply current draw in milliamps (mA). Use the maximum or typical from the datasheet.
supply_voltage_vnumberyesSupply voltage in volts (V). Common values: 1.8, 2.5, 3.3, 5.0, 12.0.
switching_freq_mhznumberPrimary switching or clock frequency of the IC in MHz. Determines the target impedance frequency range.
NameTypeReqDescription
bulk_cap_ufnumberyesRecommended bulk capacitor value in microfarads (uF). Placed near the voltage regulator for low-frequency decoupling.
bulk_cap_valuestringyesNearest standard bulk capacitor value with unit (e.g. '10 uF', '47 uF').
bypass_adequatebooleanyesWhether the ESR-induced ripple is within the specified max_ripple_mv limit.
ceramic_cap_ufnumberyesRecommended ceramic bypass capacitor value in microfarads (uF). Placed closest to IC pins.
ceramic_cap_valuestringyesNearest standard E12 capacitor value with unit (e.g. '100 nF', '1 uF').
ripple_at_esr_mvnumberyesEstimated ripple voltage due to ESR at the switching frequency: V = I_peak * ESR.
self_resonant_freq_mhznumberyesSelf-resonant frequency of the recommended ceramic capacitor assuming 0.5 nH lead inductance. Above this frequency, the capacitor becomes inductive.
target_impedance_ohmnumberyesTarget supply impedance at the switching frequency: Z_target = V_ripple / I_total. The decoupling network must keep PDN impedance below this value.
total_current_manumberyesTotal supply current for all ICs on this rail.

No examples provided.

pythagorean_theorem ~174

Solve for any side of a right triangle using the Pythagorean theorem (a² + b² = c²). Provide any two of the three sides (a, b, c) and the missing side is computed. Also returns the triangle area (0.5 * a * b), perimeter, and confirms it is a right triangle. Side c is always the hypotenuse. Fundamental to surveying, construction (squaring corners), navigation (distance calculations), physics (vector decomposition), and 3D graphics. Chain with slope_calc for coordinate geometry or square_root for simplified radical answers.

NameTypeReqDescription
anumberLength of side a (leg)
bnumberLength of side b (leg)
cnumberLength of side c (hypotenuse)
NameTypeReqDescription
anumberyesLength of side a
areanumberyesArea of the right triangle (0.5 * a * b)
bnumberyesLength of side b
cnumberyesLength of side c (hypotenuse)
is_right_trianglebooleanyesAlways true when computed from two sides
perimeternumberyesPerimeter of the triangle (a + b + c)

No examples provided.

rack_capacity ~154

Quick rack space and weight sizing calculator for homelab and small data center racks. Enter your devices with their height in rack units, weight, and wattage to get total utilization, remaining free space, weight totals in lbs and kg, and recommended PDU count based on the NEC 80% continuous load rule (1920W per 20A/120V PDU). Estimates cable management overhead at 2U per 10U of installed gear. Outputs total_watts that chains into power_cost and cooling_btu for full infrastructure planning.

NameTypeReqDescription
devicesarrayyesList of devices to place in the rack
rack_unitsintegerTotal rack height in rack units (standard is 42U)
NameTypeReqDescription
effective_free_unumberyesFree rack units after subtracting cable management overhead
free_unumberyesRemaining empty rack units
overhead_unumberyesEstimated cable management overhead in rack units (2U per 10U of gear)
recommended_pdu_countnumberyesRecommended number of PDUs (each PDU = 80% of 20A/120V = 1920W)
total_wattsnumberyesTotal power draw of all devices in watts
total_weight_kgnumberyesTotal weight of all devices in kilograms
total_weight_lbsnumberyesTotal weight of all devices in pounds
used_unumberyesTotal rack units consumed by devices
utilization_pctnumberyesPercentage of rack space used by devices

No examples provided.

raid_iops ~287

Estimate RAID array IOPS performance and latency for ZFS and traditional RAID configurations. Calculates maximum read IOPS, write IOPS (accounting for write penalty/amplification per RAID level), blended IOPS for a configurable read/write workload mix, and rough per-disk latency. Supports stripe, mirror, raidz1, raidz2, and raidz3. Use with HDD IOPS (~150), SATA SSD (~50000), or NVMe SSD (~100000) to compare RAID topologies and plan storage performance for databases, VMs, media servers, and general homelab NAS workloads. Chains from zfs_capacity.data_disks for integrated capacity+performance planning.

NameTypeReqDescription
disk_countintegeryesTotal number of physical disks in the array
disk_iopsnumberIOPS per individual disk. Typical values: HDD ~150, SATA SSD ~50000, NVMe SSD ~100000
raid_typestringRAID level: stripe (no redundancy, write penalty 1), mirror (write penalty 2), raidz1 (write penalty 2), raidz2 (write penalty 3), raidz3 (write penalty 4)
read_pctnumberPercentage of workload that is reads (0-100). Typical: 70 for mixed, 90 for read-heavy, 30 for write-heavy
NameTypeReqDescription
blended_iopsnumberyesEffective IOPS for the given read/write mix: (read_pct * read_iops + write_pct * write_iops) / 100
estimated_latency_msnumberyesRough per-disk latency estimate in milliseconds: 1000 / (blended_iops / disk_count)
read_iopsnumberyesMaximum read IOPS: disk_count * disk_iops
write_iopsnumberyesMaximum write IOPS: disk_count * disk_iops / write_penalty
write_penaltynumberyesWrite amplification factor for the chosen RAID level

No examples provided.

rc_filter ~207

Computes the cutoff frequency, time constant, impedance, and phase shift of a first-order RC filter. Supports both lowpass and highpass topologies. The cutoff frequency is f = 1/(2*pi*R*C) where the signal is attenuated by 3 dB. The time constant tau = R*C governs transient response — the capacitor reaches 63.2% of its final value after one tau. Use for anti-aliasing before ADCs, DC blocking, noise filtering, and signal conditioning. Chain from voltage_divider to design filtered bias networks.

NameTypeReqDescription
capacitance_fnumberyesCapacitance in farads (C). The capacitive element of the RC filter.
filter_typestringFilter topology: 'lowpass' (R then C to ground) or 'highpass' (C then R to ground).
resistance_ohmnumberyesResistance in ohms (R). The resistive element of the RC filter.
NameTypeReqDescription
cutoff_freq_hznumberyesCutoff frequency (-3 dB point) in hertz.
cutoff_freq_khznumberyesCutoff frequency in kilohertz for convenience.
impedance_at_cutoff_ohmnumberyesTotal impedance magnitude at the cutoff frequency in ohms. Equals R * sqrt(2) for a first-order RC filter.
phase_at_cutoff_degnumberyesPhase shift at the cutoff frequency in degrees. -45 for lowpass, +45 for highpass.
time_constant_msnumberyesRC time constant in milliseconds.
time_constant_snumberyesRC time constant (tau) in seconds.

No examples provided.

resistor_color_code ~168

Decodes 4-band or 5-band resistor color codes into resistance value, tolerance, and min/max range. Accepts an ordered array of color names (left-to-right as printed on the resistor body). Supports standard EIA color codes including gold and silver multiplier/tolerance bands. Outputs the nominal resistance in ohms, a human-readable formatted value (e.g. '4.7kΩ'), tolerance percentage, and the min/max resistance range. Chain into ohms_law or led_resistor for circuit analysis.

NameTypeReqDescription
bandsarrayyesArray of 4 or 5 color band names from left to right. 4-band: [digit1, digit2, multiplier, tolerance]. 5-band: [digit1, digit2, digit3, multiplier, tolerance].
NameTypeReqDescription
band_countnumberyesNumber of bands (4 or 5).
max_ohmnumberyesMaximum resistance within tolerance.
min_ohmnumberyesMinimum resistance within tolerance.
resistance_formattedstringyesHuman-readable resistance string, e.g. '4.7kΩ'.
resistance_ohmnumberyesResistance value in ohms.
tolerance_pctnumberyesTolerance in percent.

No examples provided.

salary_to_hourly ~197

Converts compensation between annual salary, monthly pay, weekly pay, and hourly wage. Accepts any of the four pay periods as input and derives all others. Uses configurable hours per week (default 40) and weeks per year (default 52). Daily rate assumes an 8-hour workday; monthly is annual divided by 12. Useful for comparing job offers quoted in different pay periods, freelance rate-setting, and budgeting. Chain from sales_tax to see how many hours a purchase costs.

NameTypeReqDescription
amountnumberyesThe salary or wage amount to convert.
from_typestringThe pay period of the input amount. Defaults to 'annual'.
hours_per_weeknumberHours worked per week. Defaults to 40 for a standard full-time schedule.
weeks_per_yearnumberWorking weeks per year. Defaults to 52. Use 50 to account for 2 weeks unpaid vacation.
NameTypeReqDescription
annualnumberyesAnnual salary.
biweeklynumberyesBiweekly (every two weeks) earnings.
dailynumberyesDaily earnings assuming an 8-hour workday.
hourlynumberyesHourly wage.
monthlynumberyesMonthly earnings (annual / 12).
weeklynumberyesWeekly earnings.

No examples provided.

sales_tax ~172

Calculates total cost including sales tax for a purchase. Given a unit price, tax rate percentage, and optional quantity, computes the subtotal (price times quantity), the tax amount rounded to two decimal places, and the final total. Useful for estimating purchase costs across US states and municipalities with different tax rates, comparing pre-tax and post-tax prices, and budgeting. Chain into salary_to_hourly to see how many work-hours a purchase represents.

NameTypeReqDescription
pricenumberyesUnit price of the item in dollars (or any currency). Must be positive.
quantityintegerNumber of items to purchase. Defaults to 1.
tax_rate_pctnumberSales tax rate as a percentage (e.g. 8.875 for 8.875%). Defaults to 0 — enter your local rate.
NameTypeReqDescription
effective_rate_pctnumberyesThe tax rate applied, echoed back for confirmation.
subtotalnumberyesPrice times quantity before tax.
tax_amountnumberyesTotal tax amount, rounded to two decimal places.
totalnumberyesSubtotal plus tax amount.

No examples provided.

scientific_notation ~116

Convert any number to scientific notation and engineering notation. Returns the coefficient, exponent, a formatted string with Unicode superscripts (e.g. '3.14 × 10²'), and engineering notation where the exponent is a multiple of 3. Useful for expressing very large or very small values compactly, common in physics, electronics (picofarads, gigahertz), and astronomy. Accepts output from sig_figs and log_calc for precision-aware formatting.

NameTypeReqDescription
valuenumberyesThe number to convert to scientific notation
NameTypeReqDescription
coefficientnumberyesThe coefficient (mantissa) between 1 and 10
engineering_notationstringyesEngineering notation with exponent divisible by 3
exponentnumberyesThe power-of-10 exponent
notation_stringstringyesFormatted scientific notation with Unicode superscripts (e.g. '3.14 × 10²')

No examples provided.

sig_figs ~148

Count significant figures in a number and optionally round to N significant figures. Accepts the number as a string to preserve trailing zeros (e.g. '1.200' has 4 sig figs). Applies standard sig fig rules: leading zeros do not count, trailing zeros after a decimal point count, trailing zeros before a decimal point are treated as significant. Also returns the number in scientific notation. Essential for laboratory measurements, error analysis, and maintaining proper precision in chained calculations.

NameTypeReqDescription
number_strstringyesThe number as a string to preserve trailing zeros (e.g. '1.200')
round_to_nintegerOptionally round the number to this many significant figures
NameTypeReqDescription
rounded_to_nstring|nullyesThe number rounded to N significant figures (null if N not provided)
scientific_notationstringyesThe number expressed in scientific notation
sig_figs_countnumberyesNumber of significant figures in the input

No examples provided.

slope_calc ~173

Calculate the slope, y-intercept, line equation, angle, and distance between two points in a 2D Cartesian plane. Given coordinates (x1, y1) and (x2, y2), computes slope (rise/run), y-intercept, the equation in slope-intercept form (y = mx + b), angle in degrees relative to the x-axis, and Euclidean distance. Handles vertical and horizontal lines as special cases. Useful for surveying, civil engineering grade calculations, linear regression visualization, and physics kinematics problems.

NameTypeReqDescription
x1numberyesX-coordinate of the first point
x2numberyesX-coordinate of the second point
y1numberyesY-coordinate of the first point
y2numberyesY-coordinate of the second point
NameTypeReqDescription
angle_degreesnumberyesAngle of the line relative to the positive x-axis in degrees
distancenumberyesEuclidean distance between the two points
equationstringyesLine equation in slope-intercept form or 'x = c' for vertical
is_horizontalbooleanyesTrue if the line is horizontal (slope = 0)
is_verticalbooleanyesTrue if the line is vertical (undefined slope)
slopenumber|nullyesSlope of the line (null for vertical lines)
y_interceptnumber|nullyesY-intercept of the line (null for vertical lines)

No examples provided.

snr_margin ~218

Computes LoRa link SNR margin by comparing received power against the noise floor and the spreading-factor-dependent demodulation threshold from the Semtech SX1276 datasheet. Calculates receiver noise floor from thermal noise (-174 dBm/Hz), channel bandwidth, and receiver noise figure. Returns margin in dB and a boolean link-OK indicator. Use to validate whether a LoRa or Meshtastic link will reliably decode packets. Accepts rx_power from link_budget tool output for end-to-end chain analysis.

NameTypeReqDescription
bw_khznumberLoRa channel bandwidth in kHz. Affects noise floor.
noise_figure_dbnumberReceiver noise figure in dB. Typical LoRa radio NF is 6 dB (SX1276).
rx_power_dbmnumberyesReceived signal power in dBm (e.g., -110). Typically from a link budget calculation or field measurement.
sfintegerLoRa spreading factor (7-12). Higher SF tolerates lower SNR.
NameTypeReqDescription
link_okbooleanyesTrue if margin_db > 0 (signal exceeds demodulation threshold).
margin_dbnumberyesSNR margin above demodulation threshold in dB. Positive = link OK, negative = link failure.
noise_floor_dbmnumberyesReceiver noise floor in dBm, computed from bandwidth and noise figure.
required_snr_dbnumberyesMinimum SNR required for successful LoRa demodulation at the given SF.

No examples provided.

solar_load_audit ~161

Calculates total daily energy consumption from an appliance list — the critical first step before sizing solar panels or batteries. Enter each appliance with its wattage, hours of daily use, and quantity. Outputs total daily kWh (with configurable safety margin for surge and inrush current), peak simultaneous wattage, and recommended inverter VA rating per NEC 125% continuous load rule. Feeds directly into solar_sizing (daily_kwh) and battery_autonomy (daily_kwh). Essential for residential, RV, cabin, and off-grid system design.

NameTypeReqDescription
appliancesarrayyesList of appliances with wattage, hours per day, and quantity
safety_margin_pctnumberSafety margin percentage to account for surge/inrush current, default 20%
NameTypeReqDescription
appliance_countintegeryesTotal number of appliance entries
largest_load_wattsnumberyesWattage of the single largest appliance (W)
peak_wattsnumberyesPeak simultaneous wattage if all appliances run at once (W)
recommended_inverter_vanumberyesRecommended inverter size in VA (peak watts * 1.25 per NEC)
total_daily_kwhnumberyesTotal daily energy consumption in kilowatt-hours (kWh)
total_daily_whnumberyesTotal daily energy consumption in watt-hours (Wh)
with_margin_kwhnumberyesDaily kWh including safety margin

No examples provided.

solar_roi ~336

Calculates solar system return on investment, payback period, and levelized cost of energy (LCOE). Models year-by-year savings accounting for panel degradation, utility rate inflation, federal Investment Tax Credit (ITC), state rebates, and annual maintenance. Outputs net cost after incentives, payback year, total lifetime savings, ROI percentage, and LCOE in cents/kWh. Essential for residential and commercial solar financial analysis, installer proposals, and comparing solar vs. grid economics over a 25-year system lifetime.

NameTypeReqDescription
annual_degradation_pctnumberAnnual panel degradation rate, default 0.5% per year
annual_maintenance_usdnumberAnnual maintenance cost in USD, default $100
annual_production_kwhnumberyesEstimated annual energy production in kWh (from PVWatts or system_size_kw * peak_sun_hours * 365 * 0.80)
annual_rate_increase_pctnumberAnnual utility rate increase percentage, default 3%
electricity_rate_centsnumberCurrent electricity rate in cents per kWh, default 15
federal_itc_pctnumberFederal Investment Tax Credit percentage, default 30% (US ITC)
state_rebate_usdnumberState or local rebate amount in USD, default 0
system_cost_usdnumberyesTotal installed system cost in USD
system_lifetime_yearsintegerSystem lifetime in years, default 25
system_size_kwnumberyesSystem size in kilowatts (kW)
NameTypeReqDescription
lcoe_cents_per_kwhnumberyesLevelized cost of energy in cents per kWh
lifetime_production_kwhnumberyesTotal energy produced over system lifetime (kWh)
net_cost_usdnumberyesNet system cost after federal ITC and state rebates (USD)
payback_yearsnumberyesNumber of years to recoup net cost from savings
roi_pctnumberyesReturn on investment percentage over system lifetime
total_savings_usdnumberyesTotal cumulative savings over system lifetime (USD)
year_1_savings_usdnumberyesFirst year net savings (USD)
year_25_savings_usdnumberyesFinal year net savings (USD), or last year if lifetime < 25

No examples provided.

solar_sizing ~282

Sizes an off-grid solar power system by calculating the number of panels and battery bank capacity required for a given daily energy consumption. Accounts for system losses (inverter, wiring, charge controller), battery depth-of-discharge, and autonomy days for cloudy weather. Outputs panel count, total panel wattage, battery capacity in kWh and Ah, and minimum charge controller amperage (with 25% safety margin per NEC 690.8). Supports 12V, 24V, and 48V system architectures. Use for cabin, RV, telecom tower, and remote IoT deployments.

NameTypeReqDescription
battery_autonomy_daysnumberNumber of days the battery bank should sustain load without solar input
daily_kwhnumberyesDaily energy consumption in kilowatt-hours (kWh)
dodnumberBattery depth of discharge (0-1), default 0.8 for LiFePO4
panel_wattsnumberRated wattage per solar panel (W)
peak_sun_hoursnumberAverage peak sun hours per day for your location (hours)
system_efficiencynumberOverall system efficiency (0-1), accounts for inverter, wiring, and controller losses
system_voltagenumberBattery bank system voltage: 12, 24, or 48 V
NameTypeReqDescription
battery_ahnumberyesRequired battery bank capacity in amp-hours at system voltage
battery_kwhnumberyesRequired battery bank capacity in kWh (before DoD)
charge_controller_ampsnumberyesMinimum charge controller current rating in amps (with 25% margin)
daily_solar_kwhnumberyesDaily solar energy needed after accounting for system losses (kWh)
panels_neededintegeryesNumber of solar panels required (rounded up)
total_panel_wattsnumberyesTotal installed panel wattage (W)

No examples provided.

spice_simulate ~462

Run a SPICE circuit simulation directly in the worker. Accepts a standard SPICE netlist and performs operating-point (.op), DC sweep (.dc), AC frequency sweep (.ac), or transient (.tran) analysis using a built-in modified-nodal-analysis engine with Newton-Raphson nonlinear solving. Supports R, L, C, V, I sources (DC/AC/SIN/PULSE), diodes, BJTs (Ebers-Moll), MOSFETs (Shichman-Hodges level 1), controlled sources (E/G), .param expressions, .subckt/X hierarchical subcircuits, .measure and .four (Fourier/THD), and a built-in parts library (reference 2n3904/2n2222/1n4148/1n5819/2n7000/tl072/lm358/led_red etc. by name and the model is auto-injected), up to 150 components. Returns voltage vectors for all circuit nodes (magnitude + phase for AC). Use spice_template to generate netlists from parameterized templates.

NameTypeReqDescription
analysisstringOverride analysis type (auto-detected from netlist if omitted)
certifybooleanIf true, attach an a-posteriori existence certificate for the DC operating point (Newton–Kantorovich: proves a true solution exists within a computed radius, or refuses). Adds ~one extra back-solve.
netliststringyesSPICE netlist (ngspice-compatible). Must include at least one analysis command (.ac, .dc, .tran, .op) and end with .end
optionsobjectAdditional ngspice .options (e.g. { reltol: 0.001 })
output_nodestringNode whose voltage is certified over the tolerance box (required with tolerances).
temperature_cnumberSimulation temperature in Celsius
tolerancesobjectComponent-tolerance box, e.g. {"R1":0.05,"V1":0.02} (fractional). With output_node, returns a certified min/max interval for that node over all component variations. R/V/I elements only.
NameTypeReqDescription
analysis_typestringyesAnalysis type that was performed
certificatePresent when certify=true: {certified, rho, eta, h, ...} existence certificate for the DC operating point
component_countnumberyesNumber of components in the netlist
fourierPresent when the netlist has .four cards: Fourier harmonics + THD per node
measuresPresent when the netlist has .measure cards: {name: value}
nodesarrayyesList of circuit node names
runtime_msnumberyesSimulation wall-clock time in milliseconds
tolerance_certificatePresent when tolerances+output_node given: {certified, interval, nominal, ...} certified output range over the component-tolerance box
vectorsobjectyesNamed voltage/current vectors keyed by node name
warningsarrayyesAny ngspice warnings generated during simulation

No examples provided.

spice_template ~144

Generate a complete SPICE netlist from a parameterized template. Supports common circuit topologies: low-pass RC filter, voltage divider, common emitter amplifier. Returns a ready-to-simulate netlist string that can be passed directly to spice_simulate. Use this when an agent needs to construct a circuit from high-level parameters without writing raw SPICE syntax. Feeds into spice_simulate for AC/DC/transient analysis.

NameTypeReqDescription
analysisstringSPICE analysis type to include in netlist
paramsobjectyesTemplate-specific parameters (e.g. r_ohms, c_farads, v_source)
templatestringyesCircuit template name
NameTypeReqDescription
analysis_typestringyesAnalysis type included in the netlist
component_countnumberyesNumber of components in the generated circuit
netliststringyesComplete SPICE netlist ready for simulation
template_namestringyesTemplate used

No examples provided.

square_footage ~133

Calculates area and perimeter for common shapes — rectangle, circle, or triangle — in both imperial and metric units. Returns area in square feet, square meters, and acres, plus perimeter in feet and meters. For rectangles: area = length * width, perimeter = 2*(length + width). For circles: area = pi * r^2, perimeter = 2 * pi * r. For triangles: area = 0.5 * base * height, perimeter approximated as base + height + sqrt(base^2 + height^2). Useful for real estate, flooring, landscaping, and construction estimates.

Input schema present but exposes no named parameters.

NameTypeReqDescription
area_acresnumberyesArea in acres (sqft / 43560).
area_sqftnumberyesArea in square feet.
area_sqmnumberyesArea in square meters (sqft * 0.092903).
perimeter_ftnumberyesPerimeter in feet.
perimeter_mnumberyesPerimeter in meters.

No examples provided.

square_root ~124

Compute the square root of a non-negative number. Returns the decimal result, whether the input is a perfect square, and a simplified radical form (e.g. '√12' simplifies to '2√3'). For integer inputs, factors are extracted from under the radical sign. Useful for geometry (diagonal/hypotenuse calculations), statistics (standard deviation from variance), signal processing (RMS values), and general algebra. Chain with pythagorean_theorem for triangle side calculations.

NameTypeReqDescription
valuenumberyesThe non-negative number to compute the square root of
NameTypeReqDescription
is_perfect_squarebooleanyesTrue if the input is a perfect square integer
resultnumberyesThe square root of the input value
simplified_radicalstringyesSimplified radical form (e.g. '2√3' for √12)

No examples provided.

string_sizing ~317

Calculates optimal solar panel string and MPPT configuration based on panel electrical specs, inverter/charge-controller MPPT limits, and site temperature extremes. Applies temperature coefficients to determine Voc at minimum temperature (cold) and Vmp at maximum temperature (hot), then computes the safe range of panels per string, maximum parallel strings, and total array wattage. Prevents over-voltage damage in winter and under-voltage MPPT dropout in summer. Essential for NEC 690.7 compliant residential and commercial solar design.

NameTypeReqDescription
mppt_imaxnumberyesMaximum MPPT input current in amps
mppt_vmaxnumberyesMaximum MPPT input voltage in volts
mppt_vminnumberyesMinimum MPPT start/operating voltage in volts
panel_impnumberyesPanel maximum power current (Imp) at STC in amps
panel_iscnumberyesPanel short circuit current (Isc) at STC in amps
panel_vmpnumberyesPanel maximum power voltage (Vmp) at STC in volts
panel_vocnumberyesPanel open circuit voltage (Voc) at STC in volts
temp_coeff_voc_pct_per_cnumberVoc temperature coefficient in %/C (negative for silicon), default -0.30
temp_max_cnumberMaximum expected cell temperature in Celsius, default 60
temp_min_cnumberMinimum expected site temperature in Celsius, default -10
NameTypeReqDescription
array_wattsnumberyesTotal array power at maximum power point (W)
isc_totalnumberyesTotal short circuit current from all parallel strings (A)
max_panels_per_stringintegeryesMaximum panels per string (limited by Voc at cold temp)
max_parallel_stringsintegeryesMaximum parallel strings (limited by MPPT Imax)
min_panels_per_stringintegeryesMinimum panels per string (to meet MPPT Vmin at hot temp)
recommended_panels_per_stringintegeryesRecommended panels per string (uses max for best output)
total_panelsintegeryesTotal panels in the array (strings * panels per string)
vmp_hot_per_stringnumberyesString Vmp at maximum temperature (V)
voc_cold_per_stringnumberyesString Voc at minimum temperature (V)

No examples provided.

subnet_calculator ~154

Calculate IPv4 subnet details from CIDR notation. Parses a CIDR block (e.g. 192.168.1.0/24) and returns the network address, broadcast address, subnet mask, wildcard mask, first and last usable host addresses, total and usable host counts, prefix length, and classful IP class (A/B/C/D/E). Essential for homelab network planning, VLAN segmentation, firewall rule design, and understanding address space allocation. Handles special cases for /31 point-to-point links (RFC 3021) and /32 host routes.

NameTypeReqDescription
cidrstringyesIPv4 address in CIDR notation, e.g. 192.168.1.0/24
NameTypeReqDescription
broadcast_addressstringyesBroadcast address of the subnet
first_usablestringyesFirst usable host address in the subnet
ip_classstringyesClassful IP address class: A, B, C, D (multicast), or E (reserved)
last_usablestringyesLast usable host address in the subnet
network_addressstringyesNetwork address of the subnet
prefix_lengthnumberyesCIDR prefix length, e.g. 24
subnet_maskstringyesSubnet mask in dotted decimal notation, e.g. 255.255.255.0
total_hostsnumberyesTotal number of addresses in the subnet including network and broadcast
usable_hostsnumberyesNumber of usable host addresses (excluding network and broadcast)
wildcard_maskstringyesWildcard (inverse) mask, e.g. 0.0.0.255

No examples provided.

tcp_throughput ~200

Calculate maximum TCP throughput using the Bandwidth-Delay Product (BDP) formula. Given link bandwidth and round-trip latency, computes the BDP (maximum in-flight data), achievable throughput with a given TCP window size, link utilization percentage, and recommended window size for full utilization. Critical for diagnosing slow transfers over high-latency links (WAN, VPN, satellite), tuning TCP buffers, and understanding why a 1Gbps link may only deliver 25Mbps with default 64KB windows. Applies to iperf testing, WAN optimization, and network capacity planning.

NameTypeReqDescription
bandwidth_mbpsnumberyesAvailable link bandwidth in megabits per second
mss_bytesnumberMaximum Segment Size in bytes (typically 1460 for Ethernet)
rtt_msnumberyesRound-trip time (latency) in milliseconds
window_size_kbnumberTCP receive window size in kilobytes
NameTypeReqDescription
bdp_bytesnumberyesBandwidth-Delay Product in bytes: maximum data in flight
bdp_kbnumberyesBandwidth-Delay Product in kilobytes
max_throughput_mbpsnumberyesMaximum achievable TCP throughput in megabits per second given the window size
recommended_window_kbnumberyesMinimum window size in kilobytes needed to fully utilize the link
utilization_pctnumberyesPercentage of available bandwidth that can actually be used
window_sufficientbooleanyesWhether the current window size is large enough to fill the pipe

No examples provided.

test_grade ~229

Calculates a test or exam grade from the number of correct answers and total questions. Returns the percentage score, letter grade, points missed, and GPA points. Supports US grading (A/B/C/D/F with 4.0 GPA scale), UK grading (First/2:1/2:2/Third/Fail), and percentage-only mode. US thresholds: A>=90, B>=80, C>=70, D>=60, F<60. UK thresholds: First>=70, 2:1>=60, 2:2>=50, Third>=40, Fail<40. Useful for students checking scores and teachers computing class statistics.

NameTypeReqDescription
correctintegeryesNumber of questions answered correctly. Must be a non-negative integer.
grading_scalestringGrading scale to use. 'us' for A-F letter grades, 'uk' for First/2:1/2:2/Third/Fail, 'percentage_only' for just the percentage.
totalintegeryesTotal number of questions on the test. Must be a positive integer.
NameTypeReqDescription
gpa_pointsnumber|nullyesGPA points on a 4.0 scale (US only). A=4.0, B=3.0, C=2.0, D=1.0, F=0. Null for UK and percentage_only.
letter_gradestring|nullyesLetter grade based on the selected grading scale. Null if percentage_only.
percentagenumberyesScore as a percentage (0-100).
points_missednumberyesNumber of questions answered incorrectly (total - correct).

No examples provided.

thermal_enclosure ~255

Estimate steady-state thermal behaviour of a rectangular enclosure (server rack, electronics housing, equipment cabinet) using a lumped-parameter energy balance with natural-convection and radiation correlations, or forced-flow air energy balance. Accepts enclosure dimensions, heat source positions and wattages, and airflow configuration. Returns temperature extremes, estimated hotspot location, airflow velocity summary, and overall thermal resistance. Runs instantly in-worker; a full CFD container backend is planned for mesh-level detail.

NameTypeReqDescription
ambient_temp_cnumberAmbient air temperature in Celsius
flow_typestringyesAirflow type
heat_sourcesarrayyesHeat sources inside the enclosure
height_mnumberyesEnclosure height (Z) in metres
inlet_positionstringInlet location
inlet_velocity_msnumberInlet air velocity in m/s (required for forced flow)
length_mnumberyesEnclosure length (X) in metres
mesh_densitystringMesh density — coarse (~50K cells), medium (~200K), fine (~500K)
outlet_positionstringOutlet location
width_mnumberyesEnclosure width (Y) in metres
NameTypeReqDescription
avg_temp_cnumberyesVolume-averaged temperature (°C)
avg_velocity_msnumberyesAverage airflow velocity (m/s)
hotspot_locationobjectyesLocation of the temperature maximum
iterationsnumberyesNumber of solver iterations to convergence
max_temp_cnumberyesMaximum temperature in the enclosure (°C)
max_velocity_msnumberyesPeak airflow velocity (m/s)
mesh_cellsnumberyesNumber of mesh cells used
min_temp_cnumberyesMinimum temperature (°C)
runtime_msnumberyesSimulation wall-clock time in milliseconds
solverstringyesOpenFOAM solver used
thermal_resistance_cwnumberyesOverall thermal resistance (°C/W)
total_heat_wnumberyesTotal heat load (W)
warningsarrayyesAny solver warnings

No examples provided.

timer_555 ~332

Calculates timing parameters for the ubiquitous NE555 / LM555 timer IC in astable (free-running oscillator) and monostable (one-shot pulse) modes. In astable mode, computes frequency, period, duty cycle, and HIGH/LOW durations from R1, R2, and C using f = 1.44 / ((R1 + 2·R2) · C). In monostable mode, computes pulse width from R and C using t = 1.1 · R · C. Standard 555 astable duty cycle is always >50%; for 50% duty cycle use a diode across R2. Useful for generating clock signals, PWM, delays, and debounce circuits. Chain from ohms_law for power calculations or resistor_color_code for component selection.

NameTypeReqDescription
c_faradnumberyesTiming capacitor in farads. Typical values range from 1 pF to 1000 µF. Use scientific notation, e.g. 1e-6 for 1 µF.
modestringyesOperating mode. 'astable' produces a continuous square wave. 'monostable' produces a single timed pulse.
r1_ohmnumberyesResistance R1 in ohms. In astable mode this is the charge-path resistor between Vcc and the discharge pin. In monostable mode this is the timing resistor.
r2_ohmnumberResistance R2 in ohms (astable mode only). Charge/discharge resistor between the discharge and threshold pins. Required for astable mode.
NameTypeReqDescription
c_displaystringyesHuman-readable capacitor value string (e.g. '100 nF', '4.7 µF').
c_faradnumberyesCapacitor value used in farads.
duty_cycle_pctnumber|nullyesDuty cycle as a percentage (astable only, null for monostable). Always > 50% for standard 555.
frequency_hznumber|nullyesOutput frequency in Hz (astable only, null for monostable).
modestringyesOperating mode used for calculation.
period_snumber|nullyesTotal period in seconds (astable only, null for monostable).
r1_ohmnumberyesR1 value used in ohms.
r2_ohmnumber|nullyesR2 value used in ohms (null for monostable).
time_high_snumberyesOutput HIGH duration in seconds. In astable this is the charge time; in monostable this is the pulse width.
time_low_snumber|nullyesOutput LOW duration in seconds (astable only, null for monostable).

No examples provided.

timestamp_converter ~167

Convert between Unix timestamps and human-readable date/time formats. Accepts Unix epoch (in seconds or milliseconds), ISO 8601 strings, or 'now' for the current time. Returns both Unix seconds and milliseconds, ISO 8601 UTC string, date and time components, day of the week, relative time description ('2 hours ago'), and past/future indicator. Auto-detects whether a numeric input is seconds or milliseconds based on magnitude. Essential for debugging logs, API timestamps, cron scheduling, and time zone conversions.

NameTypeReqDescription
valuestringyesA timestamp to convert. Accepts Unix epoch (seconds or milliseconds), ISO 8601 string (e.g. '2024-01-15T10:30:00Z'), or 'now' for the current time.
NameTypeReqDescription
day_of_weekstringyesDay of the week (e.g. 'Monday').
is_pastbooleanyesTrue if the timestamp is in the past.
iso_8601stringyesISO 8601 formatted string in UTC (e.g. '2024-01-15T10:30:00.000Z').
iso_datestringyesDate portion only (YYYY-MM-DD).
iso_timestringyesTime portion only (HH:MM:SS).
relativestringyesHuman-readable relative time (e.g. '2 hours ago', 'in 3 days').
unix_millisecondsnumberyesUnix timestamp in milliseconds since epoch.
unix_secondsnumberyesUnix timestamp in seconds since epoch (Jan 1 1970 00:00:00 UTC).

No examples provided.

tip_calculator ~180

Calculate tip and split a restaurant bill among multiple people. Given a bill amount, tip percentage, and number of diners, returns the tip amount, total with tip, per-person share, and effective tip percentage. Supports rounding up to the nearest whole number for convenience. Defaults to 18% tip for 1 person. Currency-agnostic — works with any monetary unit.

NameTypeReqDescription
bill_amountnumberyesTotal bill amount before tip (any currency).
round_upbooleanRound the total up to the nearest whole number. Defaults to false.
splitintegerNumber of people splitting the bill. Defaults to 1 (no split).
tip_pctnumberTip percentage. Common values: 15 (standard), 18 (good), 20 (great), 25 (excellent). Defaults to 18%.
NameTypeReqDescription
effective_tip_pctnumberyesActual tip percentage after rounding (if round_up is true, may differ from input).
per_person_tipnumberyesEach person's share of the tip.
per_person_totalnumberyesEach person's total including their share of the bill and tip.
tip_amountnumberyesTip amount.
totalnumberyesBill plus tip.

No examples provided.