MCP tools¶
Generated from the code
This page is written from wholeboard/mcp.py each time the site is built. To change it, change the code.
python -m wholeboard.mcp serves these tools over stdio (newline-delimited JSON-RPC; protocol versions 2025-06-18, 2025-03-26, 2024-11-05). See Use the checks from other agents.
simulate¶
Simulate the circuit with ngspice: supply currents, rail voltages, oscillator frequencies, and problems such as a regulator over its limit, a part over its voltage or power rating, or an LED over its current. Models come from the parts' values and LCSC data.
| Argument | Type | Required | Default | What it is |
|---|---|---|---|---|
project |
string | yes | – | A KiCad project folder, or a .kicad_pro, .kicad_sch or .kicad_pcb file in it. |
power_budget¶
Power budget and heat: current drawn from each supply against its limit, each regulator's load, dissipation and temperature rise, and battery life if there is a battery. Runs the simulation.
| Argument | Type | Required | Default | What it is |
|---|---|---|---|---|
project |
string | yes | – | A KiCad project folder, or a .kicad_pro, .kicad_sch or .kicad_pcb file in it. |
impedance_check¶
Controlled-impedance and interface routing check on the routed board: track width for the target impedance on JLCPCB's stack-up, pair skew, length, vias and stubs against interface profiles (usb2_hs, usb2_fs, ethernet_100, rmii, qspi_flash, rf_50). Give groups, or leave them out to check every differential pair found by name (USB_DP/USB_DN, TX+/TX-).
| Argument | Type | Required | Default | What it is |
|---|---|---|---|---|
project |
string | yes | – | A KiCad project folder, or a .kicad_pro, .kicad_sch or .kicad_pcb file in it. |
groups |
array | – | – | A design lists its controlled nets in "impedance": [{"nets": ["USB_DP", "USB_DN"], "ohms": 90, "kind": "diff", "max_skew_mm": 1.25}, {"nets": ["RF_ANT"], "ohms": 50, "kind": "single"}, {"nets": ["QSPI_SCLK", "QSPI_SD0"], "kind": "bus", "max… |
board_checks¶
Checks on the routed board: track temperature rise for the simulated currents (IPC-2152 and IPC-2221), voltage drop along supply tracks, decoupling capacitors' distance from their IC, and mains creepage and clearance when the project has mains nets (give mains_nets).
| Argument | Type | Required | Default | What it is |
|---|---|---|---|---|
project |
string | yes | – | A KiCad project folder, or a .kicad_pro, .kicad_sch or .kicad_pcb file in it. |
mains_nets |
array | – | – | Nets at mains voltage, e.g. ["AC_L", "AC_N"]. |
mains_volts |
number | – | – | Mains working voltage, rms (default 250). |
jlc_quote¶
Price the board at JLCPCB: fabrication, assembly, parts at live LCSC prices, shipping, and the features that cost extra (small vias, vias in pads, bottom-side parts). Parts need LCSC numbers in a field called LCSC.
| Argument | Type | Required | Default | What it is |
|---|---|---|---|---|
project |
string | yes | – | A KiCad project folder, or a .kicad_pro, .kicad_sch or .kicad_pcb file in it. |
quantity |
integer | – | 5 | – |
assembly |
boolean | – | true | – |
assembly_quantity |
integer | – | 2 | – |
stock_check¶
Live JLCPCB stock for every BOM line, for the boards to be assembled, with in-stock replacements of the same value and package for parts that are short.
| Argument | Type | Required | Default | What it is |
|---|---|---|---|---|
project |
string | yes | – | A KiCad project folder, or a .kicad_pro, .kicad_sch or .kicad_pcb file in it. |
assembly_quantity |
integer | – | 2 | – |
bringup_guide¶
A bring-up checklist for when the boards arrive, as Markdown: inspection, first power-up with a current limit from the simulated draw, the voltage and current to expect on each rail, and the signals to look for.
| Argument | Type | Required | Default | What it is |
|---|---|---|---|---|
project |
string | yes | – | A KiCad project folder, or a .kicad_pro, .kicad_sch or .kicad_pcb file in it. |