SparkQuote NEC calculators
NEC 2023 electrical calculators: wire size, ampacity, voltage drop, conduit fill, box fill, load.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen voltage_drop
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"nec-calculators": {
"url": "https://sparkquote.ai/mcp"
}
}
}Puntos de conexión remotos
https://sparkquote.ai/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (10)
🟢wire_size(material, temp, amps, volts, phase, ...)
Minimum conductor size for a circuit: NEC Table 310.16 ampacity at the termination temperature rating, the 240.4(D) small-conductor limits, voltage drop over the run, and the Table 250.122 equipment grounding conductor, increased in proportion under 250.122(B) when voltage drop upsizes the conductors.
Esquema de entrada
{
"type": "object",
"properties": {
"material": {
"type": "string",
"enum": [
"cu",
"al"
],
"default": "cu",
"description": "Conductor. \"cu\" = Copper; \"al\" = Aluminum."
},
"temp": {
"type": "string",
"enum": [
"60",
"75",
"90"
],
"default": "75",
"description": "Termination rating. \"60\" = 60°C (NM-B, UF); \"75\" = 75°C (THHN in conduit); \"90\" = 90°C."
},
"amps": {
"type": "number",
"minimum": 1,
"default": 60,
"description": "Breaker / load (A)."
},
"volts": {
"type": "string",
"enum": [
"120",
"208",
"240",
"277",
"480"
],
"default": "240",
"description": "Voltage. \"120\" = 120 V; \"208\" = 208 V; \"240\" = 240 V; \"277\" = 277 V; \"480\" = 480 V."
},
"phase": {
"type": "string",
"enum": [
"1",
"3"
],
"default": "1",
"description": "Phase. \"1\" = Single-phase; \"3\" = Three-phase."
},
"feet": {
"type": "number",
"minimum": 1,
"default": 150,
"description": "One-way distance (ft)."
},
"limit": {
"type": "number",
"minimum": 0.5,
"default": 3,
"description": "Max voltage drop (%)."
}
},
"required": [
"material",
"temp",
"amps",
"volts",
"phase",
"feet",
"limit"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 2
}
},
"table": {
"type": "object",
"properties": {
"head": {
"type": "array",
"items": {
"type": "string"
}
},
"body": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"inputs": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"code": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"ok",
"summary",
"rows",
"inputs",
"code",
"url"
]
}🟢voltage_drop(material, awg, amps, volts, phase, ...)
Voltage drop for a given conductor size, current and one-way length, single- or three-phase, from NEC Chapter 9 Table 8 circular mils (VD = 2·K·I·L / CM, or √3 for three-phase).
Esquema de entrada
{
"type": "object",
"properties": {
"material": {
"type": "string",
"enum": [
"cu",
"al"
],
"default": "cu",
"description": "Conductor. \"cu\" = Copper; \"al\" = Aluminum."
},
"awg": {
"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"
],
"default": "6",
"description": "Size. \"14\" = 14 AWG; \"12\" = 12 AWG; \"10\" = 10 AWG; \"8\" = 8 AWG; \"6\" = 6 AWG; \"4\" = 4 AWG; \"3\" = 3 AWG; \"2\" = 2 AWG; \"1\" = 1 AWG; \"1/0\" = 1/0 AWG; \"2/0\" = 2/0 AWG; \"3/0\" = 3/0 AWG; \"4/0\" = 4/0 AWG; \"250\" = 250 kcmil; \"300\" = 300 kcmil; \"350\" = 350 kcmil; \"400\" = 400 kcmil; \"500\" = 500 kcmil."
},
"amps": {
"type": "number",
"minimum": 0.1,
"default": 48,
"description": "Load current (A)."
},
"volts": {
"type": "string",
"enum": [
"120",
"208",
"240",
"277",
"480"
],
"default": "240",
"description": "Voltage. \"120\" = 120 V; \"208\" = 208 V; \"240\" = 240 V; \"277\" = 277 V; \"480\" = 480 V."
},
"phase": {
"type": "string",
"enum": [
"1",
"3"
],
"default": "1",
"description": "Phase. \"1\" = Single-phase; \"3\" = Three-phase."
},
"feet": {
"type": "number",
"minimum": 1,
"default": 110,
"description": "One-way distance (ft)."
}
},
"required": [
"material",
"awg",
"amps",
"volts",
"phase",
"feet"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 2
}
},
"table": {
"type": "object",
"properties": {
"head": {
"type": "array",
"items": {
"type": "string"
}
},
"body": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"inputs": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"code": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"ok",
"summary",
"rows",
"inputs",
"code",
"url"
]
}🟢watts_to_amps(watts, volts, phase, pf)
Current drawn by a load in watts at a voltage and power factor, single- or three-phase, plus the 125% continuous-load value.
Esquema de entrada
{
"type": "object",
"properties": {
"watts": {
"type": "number",
"minimum": 1,
"default": 5000,
"description": "Power (W)."
},
"volts": {
"type": "string",
"enum": [
"120",
"208",
"240",
"277",
"480"
],
"default": "240",
"description": "Voltage. \"120\" = 120 V; \"208\" = 208 V; \"240\" = 240 V; \"277\" = 277 V; \"480\" = 480 V."
},
"phase": {
"type": "string",
"enum": [
"1",
"3"
],
"default": "1",
"description": "Phase. \"1\" = Single-phase; \"3\" = Three-phase."
},
"pf": {
"type": "number",
"minimum": 0.1,
"default": 1,
"description": "Power factor."
}
},
"required": [
"watts",
"volts",
"phase",
"pf"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 2
}
},
"table": {
"type": "object",
"properties": {
"head": {
"type": "array",
"items": {
"type": "string"
}
},
"body": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"inputs": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"code": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"ok",
"summary",
"rows",
"inputs",
"code",
"url"
]
}🟢conduit_fill(type, size, awg, count)
Percent fill and maximum number of THHN/THWN-2 conductors of one size in EMT or PVC Schedule 40, from NEC Chapter 9 Tables 1, 4 and 5.
Esquema de entrada
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"EMT",
"PVC-40"
],
"default": "EMT",
"description": "Conduit type. \"EMT\" = EMT; \"PVC-40\" = PVC Schedule 40."
},
"size": {
"type": "string",
"enum": [
"1",
"2",
"3",
"4",
"1/2",
"3/4",
"1-1/4",
"1-1/2",
"2-1/2",
"3-1/2"
],
"default": "3/4",
"description": "Trade size. \"1\" = 1\"; \"2\" = 2\"; \"3\" = 3\"; \"4\" = 4\"; \"1/2\" = 1/2\"; \"3/4\" = 3/4\"; \"1-1/4\" = 1-1/4\"; \"1-1/2\" = 1-1/2\"; \"2-1/2\" = 2-1/2\"; \"3-1/2\" = 3-1/2\"."
},
"awg": {
"type": "string",
"enum": [
"1",
"2",
"3",
"4",
"6",
"8",
"10",
"12",
"14",
"1/0",
"2/0",
"3/0",
"4/0"
],
"default": "12",
"description": "THHN/THWN-2 size. \"1\" = 1 AWG; \"2\" = 2 AWG; \"3\" = 3 AWG; \"4\" = 4 AWG; \"6\" = 6 AWG; \"8\" = 8 AWG; \"10\" = 10 AWG; \"12\" = 12 AWG; \"14\" = 14 AWG; \"1/0\" = 1/0 AWG; \"2/0\" = 2/0 AWG; \"3/0\" = 3/0 AWG; \"4/0\" = 4/0 AWG."
},
"count": {
"type": "number",
"minimum": 1,
"default": 10,
"description": "Number of conductors."
}
},
"required": [
"type",
"size",
"awg",
"count"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 2
}
},
"table": {
"type": "object",
"properties": {
"head": {
"type": "array",
"items": {
"type": "string"
}
},
"body": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"inputs": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"code": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"ok",
"summary",
"rows",
"inputs",
"code",
"url"
]
}🟢box_fill(awg, conductors, devices, clamps, grounds)
Minimum outlet box volume from NEC 314.16(B): conductor, device (2 each), clamp and grounding allowances times the Table 314.16(B) volume for the largest conductor.
Esquema de entrada
{
"type": "object",
"properties": {
"awg": {
"type": "string",
"enum": [
"6",
"8",
"10",
"12",
"14",
"16",
"18"
],
"default": "12",
"description": "Largest conductor. \"6\" = 6 AWG; \"8\" = 8 AWG; \"10\" = 10 AWG; \"12\" = 12 AWG; \"14\" = 14 AWG; \"16\" = 16 AWG; \"18\" = 18 AWG."
},
"conductors": {
"type": "number",
"minimum": 0,
"default": 5,
"description": "Insulated conductors (not counting grounds)."
},
"devices": {
"type": "number",
"minimum": 0,
"default": 1,
"description": "Devices (switches, receptacles)."
},
"clamps": {
"type": "string",
"enum": [
"0",
"1"
],
"default": "1",
"description": "Internal cable clamps. \"0\" = None; \"1\" = One or more."
},
"grounds": {
"type": "string",
"enum": [
"0",
"1"
],
"default": "1",
"description": "Equipment grounding conductors. \"0\" = None; \"1\" = One or more."
}
},
"required": [
"awg",
"conductors",
"devices",
"clamps",
"grounds"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 2
}
},
"table": {
"type": "object",
"properties": {
"head": {
"type": "array",
"items": {
"type": "string"
}
},
"body": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"inputs": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"code": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"ok",
"summary",
"rows",
"inputs",
"code",
"url"
]
}🟢load_calculator(sqft, small, laundry, range, dryer, ...)
Dwelling service load by the NEC 220.82 optional method: 3 VA/ft² lighting, small-appliance and laundry circuits, fixed appliances, demand factor, heating or cooling, and the minimum standard service size. Leave an appliance out to count it as 0 VA.
Esquema de entrada
{
"type": "object",
"properties": {
"sqft": {
"type": "number",
"minimum": 1,
"default": 2400,
"description": "Living area (ft²)."
},
"small": {
"type": "number",
"minimum": 2,
"default": 2,
"description": "Small-appliance circuits."
},
"laundry": {
"type": "string",
"enum": [
"1",
"0"
],
"default": "1",
"description": "Laundry circuit. \"1\" = Yes (1,500 VA); \"0\" = No."
},
"range": {
"type": "number",
"minimum": 0,
"default": 12000,
"description": "Range / cooktop (VA). Optional."
},
"dryer": {
"type": "number",
"minimum": 0,
"default": 5000,
"description": "Dryer (VA). Optional."
},
"heater": {
"type": "number",
"minimum": 0,
"default": 4500,
"description": "Water heater (VA). Optional."
},
"dishwasher": {
"type": "number",
"minimum": 0,
"default": 1200,
"description": "Dishwasher (VA). Optional."
},
"disposal": {
"type": "number",
"minimum": 0,
"default": 800,
"description": "Disposal (VA). Optional."
},
"ev": {
"type": "number",
"minimum": 0,
"default": 0,
"description": "EV charger (VA). Optional."
},
"other": {
"type": "number",
"minimum": 0,
"default": 0,
"description": "Other fixed appliances (VA). Optional."
},
"hvac": {
"type": "number",
"minimum": 0,
"default": 5000,
"description": "Largest of heating or cooling (VA). Optional."
}
},
"required": [
"sqft",
"small",
"laundry"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 2
}
},
"table": {
"type": "object",
"properties": {
"head": {
"type": "array",
"items": {
"type": "string"
}
},
"body": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"inputs": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"code": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"ok",
"summary",
"rows",
"inputs",
"code",
"url"
]
}🟢ohms_law(v, i, r, p)
Ohm's law and power: give exactly two of voltage, current, resistance and power; the other two are calculated.
Esquema de entrada
{
"type": "object",
"properties": {
"v": {
"type": "number",
"minimum": 0,
"default": 120,
"description": "Voltage (V). Optional."
},
"i": {
"type": "number",
"minimum": 0,
"description": "Current (A). Optional."
},
"r": {
"type": "number",
"minimum": 0,
"default": 24,
"description": "Resistance (Ω). Optional."
},
"p": {
"type": "number",
"minimum": 0,
"description": "Power (W). Optional."
}
},
"required": [],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 2
}
},
"table": {
"type": "object",
"properties": {
"head": {
"type": "array",
"items": {
"type": "string"
}
},
"body": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"inputs": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"code": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"ok",
"summary",
"rows",
"inputs",
"code",
"url"
]
}🟢panel_schedule(system, spaces, circuits)
Lays circuits out on a 120/240 V single-phase or 208Y/120 V three-phase panel and totals the load per phase with the imbalance.
Esquema de entrada
{
"type": "object",
"properties": {
"system": {
"type": "string",
"enum": [
"1",
"3"
],
"default": "1",
"description": "Panel. \"1\" = 120/240 V single-phase; \"3\" = 208Y/120 V three-phase."
},
"spaces": {
"type": "string",
"enum": [
"12",
"20",
"24",
"30",
"42"
],
"default": "30",
"description": "Spaces. \"12\" = 12; \"20\" = 20; \"24\" = 24; \"30\" = 30; \"42\" = 42."
},
"circuits": {
"type": "string",
"default": "Kitchen receptacles, 20, 1, 1500\nKitchen receptacles, 20, 1, 1500\nMicrowave, 20, 1, 1500\nDishwasher, 15, 1, 1200\nRange, 50, 2, 12000\nDryer, 30, 2, 5000\nWater heater, 30, 2, 4500\nLighting, 15, 1, 1200",
"description": "Circuits: description, breaker A, poles, VA (one per line)"
}
},
"required": [
"system",
"spaces",
"circuits"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 2
}
},
"table": {
"type": "object",
"properties": {
"head": {
"type": "array",
"items": {
"type": "string"
}
},
"body": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"inputs": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"code": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"ok",
"summary",
"rows",
"inputs",
"code",
"url"
]
}🟢bid_calculator(materials, markup, hours, rate, direct, ...)
Electrical bid price from materials, markup, labor hours and rate, job costs, overhead and a target net margin (price = break-even / (1 − margin)).
Esquema de entrada
{
"type": "object",
"properties": {
"materials": {
"type": "number",
"minimum": 0,
"default": 1850,
"description": "Material cost ($)."
},
"markup": {
"type": "number",
"minimum": 0,
"default": 0,
"description": "Material markup (%). Optional."
},
"hours": {
"type": "number",
"minimum": 0,
"default": 40,
"description": "Labor hours (h)."
},
"rate": {
"type": "number",
"minimum": 0,
"default": 55,
"description": "Burdened labor cost ($/h)."
},
"direct": {
"type": "number",
"minimum": 0,
"default": 250,
"description": "Permits and other job costs ($). Optional."
},
"overhead": {
"type": "number",
"minimum": 0,
"default": 20,
"description": "Overhead (% of direct cost) (%)."
},
"margin": {
"type": "number",
"minimum": 0,
"default": 15,
"description": "Target net margin (%)."
}
},
"required": [
"materials",
"hours",
"rate",
"overhead",
"margin"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 2
}
},
"table": {
"type": "object",
"properties": {
"head": {
"type": "array",
"items": {
"type": "string"
}
},
"body": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"inputs": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"code": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"ok",
"summary",
"rows",
"inputs",
"code",
"url"
]
}🟢nec_ampacity(material, temp, size)
Allowable ampacity of one insulated conductor from NEC Table 310.16 (not more than three current-carrying conductors in a raceway or cable, 30°C ambient), before any adjustment or correction factors and before the 240.4(D) small-conductor limits.
Esquema de entrada
{
"type": "object",
"properties": {
"material": {
"type": "string",
"enum": [
"cu",
"al"
],
"description": "\"cu\" = copper; \"al\" = aluminum."
},
"temp": {
"type": "string",
"enum": [
"60",
"75",
"90"
],
"description": "Temperature column in °C: 60 (NM-B, UF), 75 (THWN, most terminations), 90 (THHN, for derating)."
},
"size": {
"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"
],
"description": "Conductor size: AWG (\"14\" … \"4/0\") or kcmil (\"250\" … \"500\")."
}
},
"required": [
"material",
"temp",
"size"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 2
}
},
"table": {
"type": "object",
"properties": {
"head": {
"type": "array",
"items": {
"type": "string"
}
},
"body": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"inputs": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"code": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"ok",
"summary",
"rows",
"inputs",
"code",
"url"
]
}Comunidad
Evidencia