{"name":"intry","title":"Intry field calculators","version":"1.0.0","description":"Free, code-accurate field calculators for HVAC technicians and electricians, exposed as callable tools. Every result returns a verdict, a structured readout, and the cited NEC 2023 section or manufacturer pressure-temperature data it was computed from. No login, no API key.","homepage":"https://www.intrysys.com","documentation":"https://www.intrysys.com/tools","contact":"danial@nicetrylabs.com","mcp":{"endpoint":"https://www.intrysys.com/api/mcp","transport":"streamable-http","protocol":"mcp","protocolVersion":"2025-06-18","auth":"none"},"accuracy":"Electrical values reference NEC 2023 with specific citations; refrigerant values come from published pressure-temperature tables. Every published number is golden-verified in CI and gated on every deploy.","tools":[{"name":"voltage_drop","title":"Voltage Drop Calculator","description":"Compute voltage drop for a copper or aluminum branch/feeder run using the NEC K-factor method (VD = 2·K·I·L / CM, K=12.9 Cu / 21.2 Al), and the minimum wire size to stay inside 3%. Returns a verdict (within 3% / over guideline / excessive) and the governing NEC citation.","inputSchema":{"type":"object","properties":{"wireSize":{"type":"string","enum":["14","12","10","8","6","4","3","2","1","1/0","2/0","3/0","4/0","250","300","350","400","500","600","700","750","800","900","1000","1250","1500","1750","2000"],"description":"Conductor size, AWG or kcmil (e.g. '12', '1/0', '250')."},"amps":{"type":"number","description":"Load current in amps."},"length":{"type":"number","description":"One-way run length in feet."},"voltage":{"type":"number","description":"System voltage (default 240)."},"phase":{"type":"string","enum":["single","three"],"description":"single or three phase (default single)."},"material":{"type":"string","enum":["cu","al"],"description":"cu = copper, al = aluminum (default cu)."}},"required":["wireSize","amps","length"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"wire_size","title":"Wire Size Calculator","description":"Size a conductor for a load per NEC 310.16 with temperature correction (310.15(B)(1)), conduit-fill bundling (310.15(C)(1)), the 110.14(C) terminal cap, the 240.4(D) small-conductor limit, and the matching EGC (250.122). Copper or aluminum. Returns wire size, breaker, ground, and a verdict.","inputSchema":{"type":"object","properties":{"amps":{"type":"number","description":"Load current in amps."},"continuous":{"type":"boolean","description":"Continuous load (3h+)? Applies the 125% factor. Default false."},"voltage":{"type":"number","description":"System voltage (default 240)."},"phase":{"type":"string","enum":["single","three"],"description":"Default single."},"material":{"type":"string","enum":["cu","al"],"description":"Default cu."},"insulation":{"type":"string","description":"Insulation type (THHN, THWN-2, XHHW-2, TW, THW, ...). Default THHN."},"ambientTemp":{"type":"number","description":"Ambient temperature in °F (default 86)."},"conductorsInConduit":{"type":"string","description":"Current-carrying conductors in the raceway (default '3')."},"distance":{"type":"number","description":"One-way run length in feet (informational; default 0)."}},"required":["amps"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"ev_charger","title":"EV Charger Circuit Calculator","description":"Size a Level 2 EV charger circuit per NEC Article 625: conductor and breaker at 125% continuous, EGC, GFCI requirement, receptacle vs hardwire, and a rule-of-thumb panel-capacity check. Returns wire/breaker/ground, charge speed, and a verdict on whether the panel likely has room.","inputSchema":{"type":"object","properties":{"amps":{"type":"number","description":"Charger output current in amps (e.g. 48)."},"voltage":{"type":"number","description":"Circuit voltage (default 240)."},"distance":{"type":"number","description":"One-way run length in feet (default 50)."},"material":{"type":"string","enum":["cu","al"],"description":"Default cu."},"mainBreakerAmps":{"type":"number","description":"Existing main breaker / service size (default 200)."},"existingLoadPercent":{"type":"number","description":"Rough existing panel load as % of main (default 50)."},"batteryKwh":{"type":"number","description":"EV battery size in kWh, for charge-speed estimate (default 75)."},"plug":{"type":"string","enum":["NEMA 14-50","hardwired"],"description":"Connection type (default hardwired)."}},"required":["amps"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"conduit_fill","title":"Conduit Fill Calculator","description":"Check conduit fill compliance per NEC Chapter 9 (53% one wire, 31% two, 40% three or more; 60% for a nipple ≤24\"). Supports EMT, IMC, RMC, PVC40, PVC80, ENT and mixed conductor lists. Returns fill %, the limit, remaining capacity, jam risk, and the next size up if over.","inputSchema":{"type":"object","properties":{"conduitType":{"type":"string","enum":["EMT","IMC","RMC","PVC40","PVC80","ENT"],"description":"EMT, IMC, RMC, PVC40, PVC80, or ENT."},"conduitSize":{"type":"string","enum":["1/2","3/4","1","1-1/4","1-1/2","2","2-1/2","3","3-1/2","4"],"description":"Trade size, e.g. '3/4'."},"nipple":{"type":"boolean","description":"Is this a nipple ≤24\" (60% fill, no derate)? Default false."},"conductors":{"type":"array","description":"Conductors in the raceway.","items":{"type":"object","properties":{"size":{"type":"string","description":"Wire size, e.g. '12'."},"insulation":{"type":"string","description":"Insulation type (THHN, THWN-2, XHHW, TW, THW, ...). Default THHN."},"qty":{"type":"number","description":"Count of this conductor."}},"required":["size","qty"]}}},"required":["conduitType","conduitSize","conductors"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"box_fill","title":"Box Fill Calculator","description":"Compute junction/device box fill per NEC 314.16: conductor volume allowances, the device yoke (2×), clamps (1×), grounds (1×), and support fittings. Returns total volume used vs the box volume, pass/fail, and a suggested box if over.","inputSchema":{"type":"object","properties":{"boxType":{"type":"string","description":"Standard box type key (e.g. '4x1-1/2 square'), or omit and pass customVolume."},"customVolume":{"type":"number","description":"Box volume in cubic inches (overrides boxType)."},"conductors":{"type":"array","description":"Insulated conductors entering the box.","items":{"type":"object","properties":{"size":{"type":"string"},"count":{"type":"number"}},"required":["size","count"]}},"deviceYokes":{"type":"number","description":"Number of devices (switch/receptacle yokes). Default 0."},"largestDeviceConductor":{"type":"string","description":"Largest conductor on a device. Default largest present."},"internalClamps":{"type":"boolean","description":"Internal cable clamps present? Default false."},"largestClampConductor":{"type":"string","description":"Largest conductor for the clamp allowance."},"egcCount":{"type":"number","description":"Number of equipment grounds. Default 0."},"largestEgc":{"type":"string","description":"Largest EGC size."},"terminalBlocks":{"type":"number","description":"Number of internal terminal blocks. Default 0."},"luminaireStud":{"type":"boolean","description":"Fixture stud present? Default false."},"hickey":{"type":"boolean","description":"Hickey present? Default false."}},"required":["conductors"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"superheat_subcooling","title":"Superheat & Subcooling Calculator","description":"Diagnose refrigerant charge from gauge readings: superheat = suction line temp minus saturation temp at suction pressure; subcooling = saturation temp at liquid pressure minus liquid line temp. PT interpolation for R-410A, R-454B, R-32, R-22, R-134a and more. Returns superheat/subcooling °F, a four-quadrant diagnosis, the charging action, and a verdict with a confidence level (never a confident call on off-chart pressures or near-zero superheat).","inputSchema":{"type":"object","properties":{"refrigerant":{"type":"string","enum":["R-410A","R-407C","R-134a","R-404A","R-454B","R-32","R-22","R-448A","R-449A","R-290"],"description":"Refrigerant, e.g. 'R-410A' or 'R-454B'."},"suctionPressure":{"type":"number","description":"Suction (low-side) gauge pressure, psig."},"suctionTemp":{"type":"number","description":"Suction line temperature, °F."},"liquidPressure":{"type":"number","description":"Liquid (high-side) gauge pressure, psig."},"liquidTemp":{"type":"number","description":"Liquid line temperature, °F."},"meteringDevice":{"type":"string","enum":["txv","fixed"],"description":"txv or fixed orifice (default txv)."}},"required":["refrigerant","suctionPressure","suctionTemp","liquidPressure","liquidTemp"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"mca_mocp","title":"MCA & MOCP Breaker Calculator","description":"From an HVAC nameplate MCA and MOCP (or from compressor RLA + fan FLA in RLA mode), return the minimum wire size (NEC 310.16, copper and aluminum), the breaker (largest standard 240.6(A) rating not exceeding MOCP per 440.22), the ground (250.122), and voltage drop. Surfaces warnings rather than throwing.","inputSchema":{"type":"object","properties":{"mode":{"type":"string","enum":["nameplate","rla"],"description":"nameplate (enter MCA/MOCP) or rla (enter loads). Default nameplate."},"mca":{"type":"number","description":"Minimum circuit ampacity from the nameplate (nameplate mode)."},"mocp":{"type":"number","description":"Maximum overcurrent protection from the nameplate."},"loads":{"type":"array","items":{"type":"number"},"description":"Compressor RLA + fan FLA amps (rla mode); the largest gets the 125% factor."},"voltage":{"type":"number","description":"Circuit voltage (default 240)."},"phase":{"type":"string","enum":["single","three"],"description":"Default single."},"distance":{"type":"number","description":"One-way run feet for a VD check; 0 skips it (default 0)."},"material":{"type":"string","enum":["cu","al"],"description":"Default cu."},"tempRating":{"type":"number","enum":[60,75],"description":"Termination temperature rating (default 75)."}},"required":[],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"line_set","title":"A2L Line Set Calculator","description":"Size the liquid and suction line set for R-454B, R-32, or R-410A by tonnage and length, and return a REUSE / FLUSH & REUSE / REPLACE verdict for an existing R-410A (or R-22) set, with the per-foot charge adjustment. Key facts encoded: R-410A and R-454B both use POE oil so no mineral-oil flush (that is R-22 only); R-454B runs within ~5% of R-410A pressures.","inputSchema":{"type":"object","properties":{"newRefrigerantId":{"type":"string","enum":["r-454b","r-32","r-410a"],"description":"New refrigerant."},"previousRefrigerantId":{"type":"string","enum":["r-410a","r-22","r-454b","r-32","none"],"description":"Existing set's refrigerant (default none)."},"tons":{"type":"number","description":"System tonnage (e.g. 3)."},"totalLengthFt":{"type":"number","description":"Total line-set length in feet."},"elbows":{"type":"number","description":"Number of elbows (default 0)."},"verticalRiseFt":{"type":"number","description":"Vertical rise in feet (default 0)."},"existingLiquid":{"type":"string","description":"Existing liquid line OD, e.g. '3/8' (default n/a)."},"existingSuction":{"type":"string","description":"Existing suction line OD, e.g. '7/8' (default n/a)."},"damaged":{"type":"boolean","description":"Is the existing set damaged/kinked? Default false."}},"required":["newRefrigerantId","tons","totalLengthFt"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"load_can_panel_handle","title":"Existing-Load Panel Check (NEC 220.87)","description":"Answer 'can my existing panel handle a new load (EV charger, heat pump, ...)?' using the NEC 220.87 existing-dwelling method: 125% of the measured 12-month peak demand plus the new load, compared to the service rating. Returns pass/fail, the total, and the remaining margin.","inputSchema":{"type":"object","properties":{"serviceAmps":{"type":"number","description":"Service / main breaker rating (e.g. 200)."},"voltage":{"type":"number","description":"Service voltage (default 240)."},"demandSource":{"type":"string","enum":["utility","recording"],"description":"Source of the peak-demand figure (default utility)."},"demandValue":{"type":"number","description":"Existing peak demand value."},"demandUnit":{"type":"string","enum":["kw","a"],"description":"Unit of demandValue (default a)."},"newLoadValue":{"type":"number","description":"New load to add."},"newLoadUnit":{"type":"string","enum":["va","a"],"description":"Unit of newLoadValue (default a)."}},"required":["serviceAmps","demandValue","newLoadValue"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"conduit_offset","title":"Conduit Offset Bend Calculator","description":"Marks and shrink for an EMT offset bend: distance between bends = offset depth × multiplier (1/sin θ: 10°=6, 22.5°=2.6, 30°=2, 45°=1.4, 60°=1.2), plus the run shrink. Supports 1/2\", 3/4\", 1\", 1-1/4\" hand benders.","inputSchema":{"type":"object","properties":{"offsetDepth":{"type":"number","description":"Offset depth (obstruction height) in inches."},"angle":{"type":"number","description":"Bend angle in degrees (10, 22.5, 30, 45, or 60)."},"conduitSize":{"type":"string","enum":["1/2\"","3/4\"","1\"","1-1/4\""],"description":"EMT trade size (default 3/4\")."}},"required":["offsetDepth","angle"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}}]}