Introduction
A native Warcraft III map editor with an embedded MCP server, driven by Claude Code as much as by hand.
wc3-forge is a native Warcraft III map editor (Go + TypeScript, a single Wails binary) with an embedded MCP server. The GUI and Claude Code talk to the same editor session — every edit you make by hand can also be made by an agent, and vice versa, and they share one undo stack.
Status: alpha
wc3-forge is under active development. Most surfaces are wired through both the GUI and MCP, but some rough edges remain.
What it does today
Read + write across most surfaces, exposed through both the GUI and MCP:
- Placed units and doodads — move / rotate / scale, plus create and delete.
- Terrain — tile and height editing.
- A full Object Editor for all 7 definition kinds: units, items, abilities, buffs, destructables, doodads, and upgrades (read + write, custom and stock).
- A complete Trigger Editor — GUI tree + Monaco code view + WC3 IntelliSense, GUI→Lua/JASS codegen, native JASS-map editing, Convert-Map-to-Lua, and Test Map.
- Saves in place, including packaged
.w3x/ MPQ archives.
Older JASS maps open, edit, save, and Test Map directly — no conversion required.
Why an MCP-native editor?
Most editors are built for a human at a mouse. wc3-forge is built so that the
same session can be driven by a person and by Claude Code
at the same time. A JSON-RPC units.move and a viewport drag end up in the same
mutator and emit the same change events, so:
- Claude can read the map, reason about it, and make precise edits.
- You keep full manual control and a live view of everything the agent does.
- Both share one history stack —
Ctrl+Zundoes Claude's edits and vice versa.