Set up Claude Code
Register wc3-forge's embedded MCP server and start editing maps with an agent.
The MCP server is built into the wc3-forge binary. Passing --mcp runs it as
an MCP stdio server β a thin proxy to a running editor instance. No Node, no extra
install: you point Claude Code at the same executable you launch.
1. Register the MCP server
# Installed binary:
claude mcp add wc3-forge --scope user -- "C:\Program Files\wc3-forge\wc3-forge.exe" --mcp
# ...or a local build:
claude mcp add wc3-forge --scope user -- "$PWD\build\bin\wc3-forge.exe" --mcpThere is no prebuilt macOS binary β point Claude Code at the app you built from source (and in-app updates aren't available on macOS):
claude mcp add wc3-forge --scope user -- "$PWD/build/bin/wc3-forge.app/Contents/MacOS/wc3-forge" --mcp--scope must come before --; everything after -- is the command Claude
launches. Verify with claude mcp list β wc3-forge should show β Connected.
2. Launch and talk to it
Open the editor, load a map (File β Open Mapβ¦), then talk to it in Claude Code:
What's the current map?
> map_status β "Fountain of Manipulation", 184 units, 2031 doodads
Move the gold mine at position 0,0 to where the player 1 start location is.
> units_list β finds creation_number 17 (typeid 'ngol' at -512, 384, 0)
> camera_set_view β pans to confirm
> units_move β applied
Save it.
> map_save β okThe Agent Console (Ctrl+ ` in the editor) streams every bridge call
live β names, durations, params, and results. Use it to watch what an agent is
doing in real time.
Running several editors at once
Multi-instance is a primary use case. Each wc3-forge picks an unused port and
writes its own per-pid lockfile at ~/.wc3-forge/mcp/<pid>.lock.
sessions_listenumerates running instances.session_selectpins subsequent tool calls to one.window_set_titlelabels an instance so parallel agents can tell them apart.
See the full MCP tool reference for everything Claude can do.