Skip to main content
Glama
YUZU-Hub

wiring-diagram-mcp

by YUZU-Hub

VoltPlan Wiring Diagrams · MCP Server

I refit my boat with Claude as the electrician. Here's the MCP that made it possible.

An MCP server that gives Claude (or any MCP-compatible AI) domain expertise in 12V / 24V / 48V electrical systems — sizing the bank, picking the wire gauge, recommending the fuse, and generating a complete wiring diagram. For boats, campers, vans, and off-grid builds.

License: MIT npm MCP Hosted

{ "mcpServers": { "wiring-diagram": { "url": "https://mcp.voltplan.app/mcp" } } }

Drop that into your claude_desktop_config.json, restart Claude, ask: "Plan a 400 Ah lithium house bank for a 30 ft sailboat with 2 days of autonomy." Done.


Why this exists

Built while refitting Largo, a 1996 Maxum, in Roermond. The math kept getting in the way of the work — sizing the bank, then the gauge, then the fuse, then redoing all of it after one load changed. So I gave Claude the math. Now it sizes the bank, picks the gauge, and generates the diagram. I'd rather just do the cabling.

The calculations are the same ones any cruiser or vanlifer ends up doing on graph paper at 11pm. This server makes them a one-sentence prompt.

Related MCP server: fronius-mcp

What it does

Nine tools, all callable by name from any MCP client:

Tool

What it does

calculate_power_budget

Daily energy draw from a list of loads (Wh, Ah, peak power)

calculate_battery_bank

Bank size for given consumption + autonomy + DoD

calculate_battery_config

Series/parallel arrangement to hit a target voltage and capacity

calculate_solar_size

Panel wattage to recharge daily, accounting for sun hours and losses

calculate_wire_gauge

AWG / mm² for current and run length, with fuse recommendation

calculate_inverter_size

Inverter wattage for AC loads, with surge headroom and DC current draw

calculate_charging_time

Time from X% to Y% SoC, with bulk and absorption phases

generate_wiring_diagram

Complete schematic as SVG or PNG, auto-fused and protected

list_component_types

Component reference and example configs for diagram building

Demo

Three real prompts, three real outputs.

1. Size a sailboat house bank

"Plan a 400 Ah lithium house bank for a 30 ft sailboat. Loads: 12V fridge 24/7 (60W), LED nav and cabin lights (25W, 4h/day), USB chargers (30W, 2h/day), occasional inverter for a laptop (90W, 3h/day). 2 days of autonomy without solar, LiFePO4 with 80% DoD."

Claude calls calculate_power_budget then calculate_battery_bank:

Total daily energy: 1,870 Wh/day  (155.8 Ah/day at 12V)
Peak load:           205 W        (17.1 A)

Required capacity (2 days × 80% DoD):  4,675 Wh / 389.6 Ah
Recommended bank: 4 × 100 Ah / 12.8 V LiFePO4 in parallel (4P)
Total / usable:   400 Ah / 5,120 Wh   →   4,096 Wh usable
                  ≈ 2.2 days of autonomy

2. Pick a gauge for an inverter run

"What gauge wire for a 50A inverter run, 3 meters one-way, 12V, marine environment, max 3% drop?"

Claude calls calculate_wire_gauge:

Recommended cable:    16 mm² (6 AWG)   — rated 65 A
Voltage drop:         0.34 V (2.80%)   ✓ within target
Total resistance:     6.7 mΩ
Power lost as heat:   16.8 W
Fuse:                 70 A ANL bolt-down, within 18 cm of battery+

Status: OK — wire size meets all requirements.

(Ampacity alone would allow 10 mm² / 8 AWG, but voltage drop drives the choice up at this length.)

3. Generate a full schematic

"Generate a wiring diagram for: 2 × 100W solar → MPPT → 200 Ah LiFePO4 → BMV-712 monitor → main 12V bus → fridge, lights, USB."

Claude calls generate_wiring_diagram and returns an SVG: batteries with terminals, MPPT charger, auto-generated shunt, main switch, low-voltage cutoff, and fused load lines in red/black with computed gauges.

See examples/ for five fully-worked scenarios — sailboat refit, Sprinter van, off-grid cabin, day sailer, live-aboard — each with the prompt, the expected tool calls, and the resulting numbers.

5-minute setup

Claude Desktop (hosted — easiest)

Edit claude_desktop_config.json (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "wiring-diagram": {
      "url": "https://mcp.voltplan.app/mcp"
    }
  }
}

Restart Claude. The hammer icon in the chat input means tools are active.

Claude Desktop (local via npx)

{
  "mcpServers": {
    "wiring-diagram": {
      "command": "npx",
      "args": ["wiring-diagram-mcp"]
    }
  }
}

Claude Code

# hosted
claude mcp add wiring-diagram --transport http https://mcp.voltplan.app/mcp

# local
claude mcp add wiring-diagram -- npx wiring-diagram-mcp

Cursor

Edit ~/.cursor/mcp.json (or .cursor/mcp.json per-project):

{
  "mcpServers": {
    "wiring-diagram": {
      "url": "https://mcp.voltplan.app/mcp"
    }
  }
}

Cline (VS Code)

Open the Cline panel → MCP Servers → Edit MCP Settings, then:

{
  "mcpServers": {
    "wiring-diagram": {
      "url": "https://mcp.voltplan.app/mcp"
    }
  }
}

Self-hosted HTTP server

npm install
npm run build
npm run start:http   # listens on http://localhost:3001/mcp

Env var

Default

Purpose

VOLTPLAN_API_URL

https://voltplan.app

VoltPlan instance for diagram rendering

PORT

3001

HTTP server port

Docker

docker build -t wiring-diagram-mcp .
docker run -p 3001:3001 wiring-diagram-mcp

Architecture

Architecture

Calculations run locally inside the MCP server (deterministic, no network). Diagram rendering hits the VoltPlan API and returns an SVG or PNG that the AI client embeds in the chat.

Examples

Worked scenarios in examples/:

Roadmap

  • AC-side calculations: shore power inlet, breaker panel sizing, isolation transformer

  • More battery chemistries: AGM/Gel sizing curves, lead-carbon

  • Multi-bank topologies: starter + house with combiner / DC-DC charger

  • Wire run optimization: shared trunks, terminal block placement

About

Built by Stefan Lange-Hegermann (yuzuhub.com). Powered by VoltPlan.

Issues, ideas, and pull requests welcome on GitHub.

License

MIT — see LICENSE.

Available Tools

9 tools
calculate_battery_bankBattery Bank Sizing CalculatorAInspect

Calculate the recommended battery bank size based on daily energy consumption. Accounts for days of autonomy (how many days without charging) and depth of discharge. Returns required capacity, number of batteries, and wiring configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
dailyConsumptionWhYesDaily energy consumption in watt-hours (from calculate_power_budget)
daysOfAutonomyNoDays the system should run without any charging (default: 2)
depthOfDischargePercentNoUsable percentage of battery capacity. LiFePO4: 80-90%, AGM: 50%, Gel: 50% (default: 80)
systemVoltageYesTarget system voltage in volts (e.g. 12, 24, 48)
singleBatteryAhYesCapacity of a single battery in amp-hours (e.g. 100, 200)
singleBatteryVoltageYesVoltage of a single battery (e.g. 12.8 for LiFePO4, 12 for lead-acid)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description carries full burden. It correctly indicates the tool is a calculator returning results, but does not mention if it has side effects, authentication needs, or any assumptions about input ranges. The output format is briefly described but lacks detail on data types or structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no wasted words. First sentence states purpose and output, second adds key factors, third lists return items. Front-loaded with main action, every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters and no output schema, description explains inputs and outputs adequately. It references a dependency on another tool (calculate_power_budget) and covers key assumptions. However, it could be more complete by specifying units for output or constraints on wiring configuration format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. Description adds context by summarizing how parameters (daysOfAutonomy, depthOfDischargePercent) are used together, but does not add new meaning beyond what schema already provides for each parameter individually.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states specific verb 'calculate' with resource 'battery bank size' and mentions inputs and outputs. It clearly distinguishes from sibling tools like calculate_power_budget or calculate_solar_size by focusing on battery bank sizing alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage after calculate_power_budget by referencing 'daily energy consumption (from calculate_power_budget)', but does not explicitly state when to use this vs other battery-related tools like calculate_battery_config. No exclusion or alternative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_battery_configBattery Configuration CalculatorAInspect

Determine how to arrange batteries in series and/or parallel to achieve a target voltage and capacity. Returns the number of batteries needed, the wiring configuration (e.g. 2S3P), and step-by-step wiring instructions.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetVoltageYesDesired system voltage (e.g. 12, 24, 48)
targetCapacityAhYesDesired total capacity in amp-hours
singleBatteryVoltageYesNominal voltage of one battery (e.g. 12.8 for LiFePO4, 12 for lead-acid, 3.2 for LiFePO4 cells)
singleBatteryAhYesCapacity of one battery in amp-hours

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It lists outputs but does not disclose behavior for edge cases (e.g., unachievable voltage combinations) or error handling. A minimal acceptable score given the calculator nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently conveys purpose and outputs. No redundant words; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately covers return values. It mentions number of batteries, wiring configuration with an example (2S3P), and instructions. Could specify format but sufficient for a simple calculator.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description adds no additional meaning to the parameters. It does not elaborate on how parameters are used or provide examples beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'determine' and explicitly names the resource (battery arrangement) and outputs (number of batteries, wiring config, instructions). This clearly distinguishes it from sibling tools like calculate_charging_time or calculate_inverter_size.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as calculate_battery_bank or generate_wiring_diagram. It does not mention any prerequisites, limitations, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_charging_timeCharging Time CalculatorAInspect

Estimate how long it takes to charge a battery bank from a given state of charge to a target level. Accounts for the bulk charging phase (constant current, up to ~80% SoC) and the slower absorption phase (tapering current, 80-100% SoC). Works for any charging source: solar, shore power, alternator.

ParametersJSON Schema
NameRequiredDescriptionDefault
batteryCapacityAhYesTotal battery bank capacity in amp-hours
batteryVoltageYesBattery bank voltage (e.g. 12, 24, 48)
currentStateOfChargePercentYesCurrent state of charge in percent (e.g. 20 for 20%)
targetStateOfChargePercentNoTarget state of charge in percent (default: 100)
chargePowerWattsYesCharger output power in watts
chargeCurrentAmpsNoMaximum charge current in amps (if limited by the charger or battery BMS). If omitted, calculated from power and voltage.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains the two charging phases (bulk and absorption) and that it works across charging sources. This provides useful context beyond the input schema, though it could mention assumptions like ideal battery behavior or temperature effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, front-loaded with the main purpose, and every sentence adds necessary information. There is no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the lack of an output schema, the description adequately explains the tool's behavior and inputs. It covers the key phases and source flexibility. It could be more complete by specifying output format (e.g., returns hours) or mentioning limitations, but it is sufficient for a calculator tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameter descriptions, so baseline is 3. The description adds value by explaining the charging phases, which gives context to the parameters (e.g., why targetSoC above 80% behaves differently). This goes beyond the schema's simple descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool estimates charging time for a battery bank from a given state of charge to a target level. It uses a specific verb ('Estimate') and resource ('charging time'), and distinguishes itself from sibling calculators (e.g., calculate_battery_bank, calculate_solar_size) which focus on other aspects of system design.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states it works for any charging source (solar, shore power, alternator), providing clear context for when to use. However, it does not mention when not to use it or suggest alternative tools, though none of the siblings appear to duplicate this functionality.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_inverter_sizeInverter Sizing CalculatorAInspect

Calculate the recommended inverter size for running AC loads from a DC battery system. Accounts for continuous power, startup surge power (motors typically surge 2-3x), and includes a 25% headroom for the continuous rating. Returns the recommended inverter wattage and the DC current draw at system voltage.

ParametersJSON Schema
NameRequiredDescriptionDefault
systemVoltageYesDC system voltage (e.g. 12, 24, 48)
loadsYesList of AC loads that will run through the inverter

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; the description adequately discloses key behaviors (surge handling, 25% headroom, computed outputs) for a non-destructive calculator.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with no wasted words; front-loaded with core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers inputs, calculation assumptions, and outputs; missing edge case handling but sufficient for a simple calculator tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so description adds limited value beyond schema; it explains how parameters are used in calculation but no new semantic detail per parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool calculates recommended inverter size for AC loads from a DC system, accounting for continuous power, surge, and headroom, and distinguishes it from sibling tools like calculate_battery_bank.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for inverter sizing but lacks explicit when-to-use or when-not-to-use guidance relative to siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_power_budgetPower Budget / Energy AuditAInspect

Calculate total daily energy consumption from a list of electrical loads. Each load specifies its power draw, how many hours per day it runs, and quantity. Returns total daily energy (Wh and Ah), peak power draw, and average power. This is typically the first step in sizing a battery bank and solar system.

ParametersJSON Schema
NameRequiredDescriptionDefault
systemVoltageYesSystem voltage in volts (e.g. 12, 24, 48)
loadsYesList of electrical loads to include in the budget

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so description carries full burden. It describes the calculation and outputs (Wh/Ah, peak power, average power). For a pure calculation tool, this is adequate, though it could mention that it has no side effects (read-only).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states the purpose, second gives contextual guidance. No wasted words, front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description mentions return values (Wh, Ah, peak power, average power). Missing details on output format, but sufficient for a straightforward calculation tool. Could be improved with example or more precise return structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds value by summarizing parameter usage (power draw, hours, quantity) and outputs, going beyond the schema's individual field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool calculates total daily energy consumption from electrical loads, specifying inputs and outputs. It distinguishes itself from sibling tools by positioning it as the first step in battery/solar sizing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description provides clear context that this is typically the first step in sizing a battery bank and solar system, guiding when to use it. However, it does not explicitly state when not to use it or mention alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_solar_sizeSolar Panel Sizing CalculatorAInspect

Calculate the required solar panel wattage to cover daily energy consumption. Accounts for peak sun hours at the location and system efficiency losses (MPPT conversion, wiring, temperature derating). Returns required wattage and common panel configurations.

ParametersJSON Schema
NameRequiredDescriptionDefault
dailyConsumptionWhYesDaily energy consumption in watt-hours (from calculate_power_budget)
peakSunHoursYesAverage daily peak sun hours for the location. Examples: Northern Europe winter 1-2h, summer 4-6h. Southern US 5-6h. Equatorial regions 5-7h.
systemEfficiencyNoOverall system efficiency factor (default: 0.85). Accounts for MPPT losses, wiring losses, temperature derating, and panel soiling.

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It explains what the tool accounts for (efficiency losses) but does not mention whether it has side effects, is read-only, or any authentication or rate-limit considerations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long with no unnecessary words. It front-loads the purpose and concisely lists inputs and outputs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter calculator without output schema, the description covers inputs and general output. However, it vaguely mentions 'common panel configurations' without detailing the output structure, leaving some ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema already describes each parameter with examples and defaults. The description adds context about efficiency losses but does not significantly enhance parameter understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool calculates required solar panel wattage based on daily consumption and peak sun hours. It distinguishes from sibling tools like calculate_power_budget by focusing on sizing panels rather than estimating consumption or battery sizing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when daily consumption is known (from calculate_power_budget) and when peak sun hours are available. However, it does not explicitly state when not to use or mention alternatives among sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_wire_gaugeCable Cross-Section & Resistance CalculatorAInspect

Calculate the recommended wire gauge / cable cross-section for a DC circuit. Considers both ampacity (current carrying capacity) and voltage drop to recommend the optimal cable size. Also returns total resistance, power loss, and a fuse recommendation. Supports copper conductors from 0.75 mm² (18 AWG) to 240 mm² (300 MCM).

ParametersJSON Schema
NameRequiredDescriptionDefault
voltageYesSystem voltage in volts (e.g. 12, 24, 48)
currentNoLoad current in amps. Provide either current or power.
powerNoLoad power in watts. Will be converted to current using the voltage. Provide either current or power.
cableLengthMYesOne-way cable length in meters
maxVoltageDropPercentNoMaximum acceptable voltage drop in percent (default: 3%)
temperatureCelsiusNoAmbient temperature in °C (default: 20°C). Affects copper resistance.
isRoundTripNoAccount for both positive and negative conductor (default: true). Set to false for chassis-ground returns.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses key behaviors: considers ampacity and voltage drop, returns resistance, power loss, fuse recommendation, and supports copper conductors from 0.75 mm² to 240 mm². No annotations to contradict, but could mention output format or algorithm assumptions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences: main action, what it considers, and what it returns. No fluff, well-structured, and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of 7 parameters and no output schema, the description provides a good high-level overview. However, it does not specify output format or that it selects from standard cable sizes, leaving some gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are well-described in schema. The description adds contextual value by explaining why parameters like temperature and voltage drop are relevant for ampacity and voltage drop calculations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it calculates wire gauge for DC circuits, considering ampacity and voltage drop, and returns resistance, power loss, and fuse recommendation. It is distinct from sibling tools like battery or solar sizing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use or not use this tool versus alternatives. While sibling tools are different, the description does not provide criteria for choosing this tool over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_wiring_diagramGenerate Wiring DiagramAInspect

Generate an electrical wiring diagram for campers, boats, or off-grid setups. Returns a complete schematic with batteries, chargers, protection components, and loads. Protection components (shunt, main switch, low-voltage cutoff) are auto-generated when both batteries and loads are provided.

ParametersJSON Schema
NameRequiredDescriptionDefault
systemNameYesName of the electrical system (e.g. "My Camper Van")
batteriesNoBatteries in the system
loadsNoElectrical loads / consumers
chargersNoChargers with their power sources
formatNoOutput format: svg (recommended, renders inline) or png (base64-encoded image, may not display in all clients)svg

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description effectively discloses key behaviors: auto-generation of protection components when both batteries and loads are provided, and details about output format (SVG vs PNG) with rendering notes. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: two sentences plus one line of behavioral detail, front-loaded with purpose and return type. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters (1 required) and no output schema, the description covers purpose, return type, output format behavior, and a key auto-generation rule. It is complete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds significant value by explaining the auto-generation rule and providing regional voltage guidance for charger input voltage, enhancing parameter understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates electrical wiring diagrams for specific contexts (campers, boats, off-grid setups) and distinguishes itself from sibling calculation tools by focusing on diagram generation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is clear for generating diagrams, but no explicit guidance on when not to use it or comparison with siblings is provided. However, the context makes it evident that this is for diagram output, not calculations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_component_typesList Component TypesAInspect

List all available component types and example configurations for building wiring diagrams. Use this to understand what parameters are needed before calling generate_wiring_diagram.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full responsibility. It indicates a safe read operation (listing) with no destructive effects. However, it does not mention output format or any potential limits, which is acceptable for a simple listing tool but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with purpose and followed by usage guidance. Every sentence is essential with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (no parameters, no output schema), the description provides necessary context: what it does and how to use it relative to a sibling. Lacks output format details, but that is a minor omission for a discovery tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, and schema coverage is 100%. The description does not need to add parameter details; baseline score of 4 applies as per guidelines.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List all available component types and example configurations for building wiring diagrams,' specifying the verb and resource. It also distinguishes from the sibling tool generate_wiring_diagram by noting this is a prerequisite for understanding parameters.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises to use this before calling generate_wiring_diagram, providing clear context. However, it does not discuss when not to use it or alternative tools among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updatesv0.2.2
    • First observedcalculate_battery_bank
    • First observedcalculate_battery_config
    • First observedcalculate_charging_time
    • First observedcalculate_inverter_size
    • First observedcalculate_power_budget
    • First observedcalculate_solar_size
    • First observedcalculate_wire_gauge
    • First observedgenerate_wiring_diagram
    • First observedlist_component_types

TDQS

A4.2/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a distinct calculation or generation task for electrical system design, such as battery sizing, inverter sizing, wiring diagram creation, etc. There is no overlap in purpose.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern (e.g., calculate_battery_bank, generate_wiring_diagram, list_component_types), making it easy to predict tool behavior from names.

Tool Count5/5

Nine tools cover the essential aspects of off-grid electrical system design without being excessive. Each tool serves a clear, needed function.

Completeness4/5

The tool set covers the main workflow: power budget, battery/solar/inverter sizing, wire gauge, and diagram generation. Minor gaps exist, such as lack of AC wire sizing or load editing, but core needs are met.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables conversational power system analysis by connecting Claude AI with EPRI's OpenDSS simulator. Allows distribution planning engineers to perform sophisticated electrical grid studies through natural language instead of complex scripting.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables real-time solar data from Fronius inverters via Claude, allowing natural language queries about solar production, battery, and grid exchange.
    5
    1
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables Claude to control AutoCAD—draw, edit, query, layers, blocks, annotations, screenshots, plot to PDF—using plain language.
    8
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Connects Claude to live data-center, power & grid intelligence data, enabling query and citation of over 21,000 facilities, power markets, grid telemetry, and more.
    MIT