# The Compatibility Engine > Will this charger, cable, version or PC part work together? Rule-based checks with margins. Three deterministic checks: (1) USB-C charging – the real maximum power from charger, cable and device per the USB Power Delivery rules; (2) software versions – whether versions satisfy an npm-style semver range (^, ~, x-ranges, hyphen ranges, ||); (3) PC builds – CPU socket, RAM generation, slots and power-supply headroom. Part of usefulweb.site (https://usefulweb.site/). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://compatibilityengine.usefulweb.site/ (interactive tool at https://compatibilityengine.usefulweb.site/tool) - JSON API: POST https://compatibilityengine.usefulweb.site/api/v1/calculate with a JSON object of inputs (schema: https://compatibilityengine.usefulweb.site/api/v1/tool) - OpenAPI: https://compatibilityengine.usefulweb.site/openapi.json - MCP (Streamable HTTP): https://compatibilityengine.usefulweb.site/mcp - tool `compatibility_engine` ## Inputs - mode (select): What do you want to check? - chargerW (number): Charger maximum output - Charging mode. - chargerPd (boolean): Charger supports USB Power Delivery (USB PD) - chargerEpr (boolean): Charger supports PD 3.1 EPR (above 100 W) - deviceW (number): Device maximum charging input - devicePd (boolean): Device charges via USB PD - deviceEpr (boolean): Device supports PD 3.1 EPR - cable (select): USB-C cable - range (text): Required version range - Semver mode. npm syntax. - versions (list): Installed / candidate versions (one per line) - cpuSocket (text): CPU socket - PC mode. - boardSocket (text): Motherboard socket - ramType (select): RAM type - boardRamType (select): Motherboard RAM type - ramModules (integer): RAM modules - boardSlots (integer): Motherboard RAM slots - cpuW (number): CPU power (TDP/PPT) - gpuW (number): Graphics card power - otherW (number): Everything else - psuW (number): Power supply rating - headroomPercent (number): Desired PSU headroom ## Method - Charging: with USB PD on both sides the standard power range allows 5/9/15/20 V at 3 A (≤ 60 W with a standard cable) and 20 V at 5 A (≤ 100 W) with a 5 A e-marked cable; above 100 W (28/36/48 V, ≤ 240 W) needs charger, device AND cable to support PD 3.1 EPR. Without PD on both sides the assumed ceiling is USB-C 5 V / 3 A = 15 W. Expected maximum = minimum of charger, device and that limit. - Semver: npm range semantics (^ caret, ~ tilde, x-ranges, hyphen ranges, || alternatives, comparator sets); prereleases only match ranges that mention a prerelease of the same version. - PC: sockets must match exactly (case-insensitive); RAM generation must match; modules ≤ slots; recommended PSU = (CPU + GPU + other) × (1 + headroom%).