// open source · 36 MCP tools · 692 tests · Apache 2.0

The LLVM of design

One JSON intermediate representation; every tool imports and exports it.

AI agents generate real KiCad, FreeCAD, and Blender files — checked against the real tools, not just self-reported validation.

Install in 30 seconds

Claude CodeThat's it. Ask Claude Code to design anything.
$ curl -fsSL https://raw.githubusercontent.com/andresparraarze/ForgeLab/main/scripts/install-claude-code.sh | bash
Codex CLIThat's it. Ask Codex to design anything. Run /mcp inside a Codex session to confirm ForgeLab's tools are listed.
$ curl -fsSL https://raw.githubusercontent.com/andresparraarze/ForgeLab/main/scripts/install-codex.sh | bash
Hermes Agent — paste this prompt:Paste this into Hermes — it handles the rest.
Install ForgeLab on this machine by running `curl -fsSL https://raw.githubusercontent.com/andresparraarze/ForgeLab/main/scripts/install.sh | bash`. Then start the MCP server with `~/.forgelab/venv/bin/forgelab-mcp --transport streamable-http --port 8001` and confirm the tools are available by calling list_domains over that transport. Then tell me what domains are supported.
OpenClaw — paste this prompt:Paste this into OpenClaw — it handles the rest.
Install ForgeLab on this machine by running `curl -fsSL https://raw.githubusercontent.com/andresparraarze/ForgeLab/main/scripts/install.sh | bash`. Then add the stdio MCP server to your MCP configuration with the command `~/.forgelab/venv/bin/forgelab-mcp --transport stdio`, verify by calling list_domains, and confirm what design domains are available.
Updating forgelab update refreshes ForgeLab for all four clients at once: Claude Code, Codex, Hermes, and OpenClaw all point at the same venv (~/.forgelab/venv), so no client-specific re-registration is needed.

Verified, not just claimed

Correctness is checked against the real tools — real kicad-cli DRC, real re-imports, real FreeCAD geometry. Two of these started as bugs ForgeLab shipped, found, and fixed; they stay documented here.

KiCad

check_fabrication vs. real DRC

check_fabrication previously reported a board as passing when KiCad's own DRC found 199 real short circuits. Root cause: pads and vias were treated as dimensionless points.

Fixed — copper is now modelled physically, and the routed export is verified against real kicad-cli DRC at zero copper violations.

glTF / Blender

Translucent materials

Translucent materials (glass, water) were silently exporting as fully opaque because alphaMode: "BLEND" was never set.

Fixed — base-color alpha < 1 now exports alphaMode: "BLEND", confirmed by re-importing the exported file.

FreeCAD

Organic geometry, actually checked

“The file opened in FreeCAD” is not a correctness check for loft, revolve, fillet, or shell features.

Part-workbench organic-geometry features are verified against actual solid volume calculations and point-membership tests in real FreeCAD.

What it does

Built with ForgeLab

Real artifacts compiled from a single prompt. Renders and screenshots coming soon — each slot below says exactly what it will show.

Design a wireless temperature sensor with ESP32, DHT22, USB-C power, and a 3D-printable enclosure

One prompt, one shared project fileDimensionally coherent

The Arduino Uno example board, auto-placed and autorouted

25 of 32 multi-pad nets routed0 copper DRC violations (kicad-cli)

A phone stand

Part workbench.FCStd export

A modern cottage

blender_script → runnable .pyAuto-rendered PNG