wiring-diagram-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@wiring-diagram-mcpSize a 12V house bank for my campervan with 2 days autonomy"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
{ "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 |
| Daily energy draw from a list of loads (Wh, Ah, peak power) |
| Bank size for given consumption + autonomy + DoD |
| Series/parallel arrangement to hit a target voltage and capacity |
| Panel wattage to recharge daily, accounting for sun hours and losses |
| AWG / mm² for current and run length, with fuse recommendation |
| Inverter wattage for AC loads, with surge headroom and DC current draw |
| Time from X% to Y% SoC, with bulk and absorption phases |
| Complete schematic as SVG or PNG, auto-fused and protected |
| 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 autonomy2. 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-mcpCursor
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/mcpEnv var | Default | Purpose |
|
| VoltPlan instance for diagram rendering |
|
| HTTP server port |
Docker
docker build -t wiring-diagram-mcp .
docker run -p 3001:3001 wiring-diagram-mcpArchitecture
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
Related
VoltPlan — web app for visual electrical system design
VoltPlan Wire Gauge Calculator — free, no signup
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 toolscalculate_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.
| Name | Required | Description | Default |
|---|---|---|---|
| dailyConsumptionWh | Yes | Daily energy consumption in watt-hours (from calculate_power_budget) | |
| daysOfAutonomy | No | Days the system should run without any charging (default: 2) | |
| depthOfDischargePercent | No | Usable percentage of battery capacity. LiFePO4: 80-90%, AGM: 50%, Gel: 50% (default: 80) | |
| systemVoltage | Yes | Target system voltage in volts (e.g. 12, 24, 48) | |
| singleBatteryAh | Yes | Capacity of a single battery in amp-hours (e.g. 100, 200) | |
| singleBatteryVoltage | Yes | Voltage of a single battery (e.g. 12.8 for LiFePO4, 12 for lead-acid) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| targetVoltage | Yes | Desired system voltage (e.g. 12, 24, 48) | |
| targetCapacityAh | Yes | Desired total capacity in amp-hours | |
| singleBatteryVoltage | Yes | Nominal voltage of one battery (e.g. 12.8 for LiFePO4, 12 for lead-acid, 3.2 for LiFePO4 cells) | |
| singleBatteryAh | Yes | Capacity of one battery in amp-hours |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| batteryCapacityAh | Yes | Total battery bank capacity in amp-hours | |
| batteryVoltage | Yes | Battery bank voltage (e.g. 12, 24, 48) | |
| currentStateOfChargePercent | Yes | Current state of charge in percent (e.g. 20 for 20%) | |
| targetStateOfChargePercent | No | Target state of charge in percent (default: 100) | |
| chargePowerWatts | Yes | Charger output power in watts | |
| chargeCurrentAmps | No | Maximum charge current in amps (if limited by the charger or battery BMS). If omitted, calculated from power and voltage. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| systemVoltage | Yes | DC system voltage (e.g. 12, 24, 48) | |
| loads | Yes | List of AC loads that will run through the inverter |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| systemVoltage | Yes | System voltage in volts (e.g. 12, 24, 48) | |
| loads | Yes | List of electrical loads to include in the budget |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dailyConsumptionWh | Yes | Daily energy consumption in watt-hours (from calculate_power_budget) | |
| peakSunHours | Yes | Average daily peak sun hours for the location. Examples: Northern Europe winter 1-2h, summer 4-6h. Southern US 5-6h. Equatorial regions 5-7h. | |
| systemEfficiency | No | Overall system efficiency factor (default: 0.85). Accounts for MPPT losses, wiring losses, temperature derating, and panel soiling. |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| voltage | Yes | System voltage in volts (e.g. 12, 24, 48) | |
| current | No | Load current in amps. Provide either current or power. | |
| power | No | Load power in watts. Will be converted to current using the voltage. Provide either current or power. | |
| cableLengthM | Yes | One-way cable length in meters | |
| maxVoltageDropPercent | No | Maximum acceptable voltage drop in percent (default: 3%) | |
| temperatureCelsius | No | Ambient temperature in °C (default: 20°C). Affects copper resistance. | |
| isRoundTrip | No | Account for both positive and negative conductor (default: true). Set to false for chassis-ground returns. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| systemName | Yes | Name of the electrical system (e.g. "My Camper Van") | |
| batteries | No | Batteries in the system | |
| loads | No | Electrical loads / consumers | |
| chargers | No | Chargers with their power sources | |
| format | No | Output format: svg (recommended, renders inline) or png (base64-encoded image, may not display in all clients) | svg |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
9 tool updates
v0.2.2- First observed
calculate_battery_bank - First observed
calculate_battery_config - First observed
calculate_charging_time - First observed
calculate_inverter_size - First observed
calculate_power_budget - First observed
calculate_solar_size - First observed
calculate_wire_gauge - First observed
generate_wiring_diagram - First observed
list_component_types
TDQS
Scored across 9 tools
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.
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.
Nine tools cover the essential aspects of off-grid electrical system design without being excessive. Each tool serves a clear, needed function.
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
Related MCP Connectors
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
- Era ContextOAuthapp.era
Personal finance, bank account, and shared memory connector for Claude, ChatGPT, Gemini Spark & more
One workspace of tools for Claude and ChatGPT: connect 600+ apps, generate media, build tools.
Turn Claude into a creative studio: DNA-locked characters, images, video, voiceover — 55 tools.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceEnables 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
- AlicenseAqualityDmaintenanceEnables real-time solar data from Fronius inverters via Claude, allowing natural language queries about solar production, battery, and grid exchange.51Apache 2.0
- AlicenseAqualityCmaintenanceEnables Claude to control AutoCAD—draw, edit, query, layers, blocks, annotations, screenshots, plot to PDF—using plain language.82MIT
- AlicenseNot gradedqualityBmaintenanceConnects 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