wc3-mcp
Made by GodMephisto
An MCP server that lets AI assistants such as Claude read, audit and edit
Warcraft III .w3x and .w3m maps byte-faithfully (files you do not touch
keep their bytes).
It is the MCP server of wc3ctl, which
also has a command line tool and a desktop editor. Install wc3ctl if you want
those as well. It carries the same server as wc3ctl mcp serve.
What you need
- 64-bit Windows. The game data reader (CascLib) is a Windows library.
- Warcraft III Reforged, only for the tools that read base game data. Map tools work without it.
- Any AI app that speaks MCP. Nothing else, the release carries its own .NET.
Install
Open PowerShell and run
irm https://raw.githubusercontent.com/GodMephisto/wc3-mcp/main/install.ps1 | iex
That downloads the latest release, checks its SHA-256, unpacks it into
%LOCALAPPDATA%\Programs\wc3-mcp, adds that folder to your PATH and sets up
every supported AI app it finds. No admin rights. Run the same line again to
update. Restart your AI app afterwards.
Prefer to do it by hand? Download the zip from the Releases page, unzip it into any folder you like, then from that folder run
.\wc3-mcp.exe install --all
The setup records wherever the exe actually is, so any folder works. It also adds
that folder to your user PATH once, so from then on plain wc3-mcp works in any
new terminal. Pass --no-path to skip that, and use .\wc3-mcp.exe from its
folder instead.
Using Claude Desktop only? Download wc3-mcp-<version>-win-x64.mcpb from the
Releases page and double-click it. Claude Desktop installs it as an extension.
Its one setting, the Warcraft III folder, can stay empty to have the install
detected. The server is also listed in the
MCP Registry as
io.github.GodMephisto/wc3-mcp, for apps that install from there.
Context and RAG
Out of the box the server answers docs_search from the bundled Warcraft III references, the Big UI-Frame Tutorial and the Editor Ability Insight doc, lexical and offline, and serves each whole as an MCP resource.
For the full corpus and semantic search, install the local index. From your AI app, call the rag_install tool, or from a shell
wc3ctl rag install
It fetches two files, once, and verifies each against a pinned digest. The embedding model BAAI/bge-small-en-v1.5, about 130 MB, and the corpus, about 61 MB from this repo's dataset-v1 release. It then builds a local vector index and a graph. No database, no service, no key, and it is set low on CPU by default. After that docs_search is semantic and the graph tools graph_neighbors, graph_hubs and graph_path are live. wc3ctl rag status reports what is installed.
Set up your AI app
These need wc3-mcp on your PATH, which the one-line install and the first
wc3-mcp.exe install both arrange. Until then, run them as .\wc3-mcp.exe ...
from the folder the exe is in.
wc3-mcp install --all set up every supported app found on this PC
wc3-mcp install cursor vscode set up only the apps named
wc3-mcp uninstall --all remove it again
wc3-mcp config <app> print the settings to paste by hand
wc3-mcp clients list supported apps and whether each is set up
wc3-mcp doctor check the install, the game folder and the apps
Setup only changes the one wc3 entry. Every other server and setting in the
file stays as it was, and the file is copied to NAME.wc3-mcp.bak first. A file
with comments in it (common in Zed and VS Code) is never rewritten, because that
would delete the comments. The settings to paste are printed instead.
Any other MCP app
It is a standard stdio MCP server. Point your app at wc3-mcp.exe with no
arguments. wc3-mcp config cursor prints a ready-made JSON entry with the real
path filled in, which most apps accept as is.
Configuration
The Warcraft III folder is found automatically from the Windows registry, then
C:\Warcraft III, C:\Program Files (x86)\Warcraft III and
C:\Program Files\Warcraft III. When yours is somewhere else, either
- install with
wc3-mcp install --all --game-dir "D:\Games\Warcraft III", which setsWC3_GAME_DIRin each app's entry, or - pass
game_dirto a single tool call.
A game_dir argument wins over WC3_GAME_DIR, which wins over the automatic
search. wc3-mcp doctor shows which folder it is using.
Build from source
In PowerShell, with the .NET 8 SDK installed,
git clone https://github.com/GodMephisto/wc3-mcp
cd wc3-mcp
dotnet test --filter "Category!=Corpus&Category!=GameData&Category!=Doctor"
dotnet publish src/Wc3.Mcp/Wc3.Mcp.csproj -c Release --self-contained -r win-x64 -o dist-mcp
.\dist-mcp\wc3-mcp.exe install --all
The apps then start the exe inside your clone's dist-mcp folder, and that
folder is what goes on your PATH, so keep the clone where it is or rerun the last
line after moving it.
Exact SDK and package versions are in REQUIREMENTS.md.
CascLib.dll must stay beside wc3-mcp.exe.
Tools
251 tools.
Safety
Writing tools require out_path to differ from the input map. The original is
never overwritten.
Limits
Windows x64 only (native CascLib). Tools that query base-game data need a Warcraft III Reforged install.
Troubleshooting
- Start with
wc3-mcp doctor. It shows where the exe is, whether CascLib.dll is beside it, which Warcraft III folder it uses and which apps are set up. - Game not found. Run
wc3-mcp install --all --game-dir "<your Warcraft III folder>", or passgame_dirto the tool. - An app does not list the tools. Restart it fully. Claude Desktop needs a quit from the tray, not just closing the window.
- A settings file was not changed. It has comments or is not valid JSON, so the settings
to paste were printed instead.
wc3-mcp config <app>prints them again. - Protected maps. Pass
listfilestodeprotect_mapto supply community name lists.
Credits
Built on
Used directly: Luashine/jass-history (inventory change study), pjass (JASS syntax checking), devoltz and Arakunido (SLK repair guide), and the Hive Workshop community (command line arguments).
Learned from, among many others, HiveWE (stijnherfst), Warsmash and Retera's Model Studio (Retera), WC3MapTranslator (ChiefOfGxBxL), Wurst, TheHelper and the Hive Workshop. The full list of every project and community studied, 197 in all, is in CREDITS.md.
Warcraft III is made by Blizzard Entertainment. This project is unofficial, is not affiliated with or endorsed by Blizzard, reads your own install and ships no game files.