WoW Server MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@WoW Server MCPrestart the worldserver"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🐉 New from me — WOW Legends: a free WotLK 3.3.5a repack
Run your own living Wrath of the Lich King (3.3.5a) world in a few clicks — hundreds of AI-driven bots, an AI companion that chats back, hardcore mode, and a one-click installer.
▶ Check it out → wow-legends.eu
WoW Server MCP
A local MCP server that lets any MCP-compatible AI client (Claude, Codex, Cursor, etc.) manage a standalone World of Warcraft private server. Built and tested for Cata / MoP repacks with MySQL — works with any repack once configured.
TL;DR: if you can do it in-game as a GM or via the database, the agent can do it for you.
💛 Using the WoW Server MCP? It's free and open-source, built and maintained in spare time. If it's saved you hours of server admin — or you'd like to see it keep growing — a coffee genuinely helps. See Support the Project.
Table of Contents
Related MCP server: ItchWHMMCP
What the Agent Can Do
Once connected, the AI gets full control over your WoW server through natural language.
Category | Capabilities |
🚀 Server Control | Start / stop / restart MySQL, authserver, worldserver |
🗄️ Database | Run any SELECT, INSERT, UPDATE, DELETE — or use scoped helpers |
👤 Accounts | Create accounts, set GM levels, grant Donation Points |
🐉 NPCs | Clone templates, set flags, manage vendors, gossip menus, waypoints |
📜 Quests | Create quests, assign giver/ender NPCs, manage rewards & relations |
💎 Loot | Add/remove creature drops, search which mobs drop an item |
🔮 Spells & Events | Look up spells from |
📍 Teleports | Find coordinates and map positions for NPC placement |
⚙️ Config | Edit rates, caps, realm settings in |
📡 Remote Access | Send any RA command — anything you'd type in the worldserver console |
📊 Monitoring | Uptime, online players, DB statistics |
💾 Backups | Full or table-specific |
🔬 Forensics | Deep-inspect creatures / gossip chains / SmartAI / loot, find orphan FK refs, verify ScriptNames against core source |
Why an MCP Instead of Raw Credentials?
You could hand the AI your DB password and RA port and let it figure things out — but a dedicated MCP is significantly better:
Raw Credentials | MCP Server | |
Reliability | Agent guesses SQL column names | Pre-built queries matched to your exact schema |
Speed | Writes + debugs SQL from scratch every time | Instant tool calls — no trial and error |
Safety | Unrestricted DB access ( | Scoped tools with built-in validation and |
Token cost | Burns tokens on boilerplate SQL and schema reads | Just the tool name and parameters |
Consistency | Different results depending on the model's mood | Same reliable output every time |
Portability | Prompts break when you switch AI clients | Works with any MCP-compatible client |
Demo Videos
What | Link |
🛠️ How to set it up | |
🛒 Add a vendor to the world | |
⚔️ Update NPC stats | |
⚙️ Change server rates |
Quick Start
The defaultconfig.json and 1-click installer assume the standard folder layout used by most Cata / MoP repacks. You can install anywhere — just edit the paths in config.json to point at your repack's executables and config files.
Recommended layout (works with default config paths):
📁 YourRepackFolder\
├── 📁 Database\
├── 📁 Repack\
└── 📁 wow-server-mcp\ ← clone herecd "C:\path\to\YourRepackFolder"
git clone https://github.com/timoinglin/wow-server-mcp.git1. Install & Build
Easy (Windows): double-click install.bat. It checks for Node.js (installs via winget if missing), copies example.config.json → config.json, runs npm install, and builds.
Manual (any OS):
cd wow-server-mcp
cp example.config.json config.json # Windows: copy example.config.json config.json
npm install
npm run build2. Configure
Edit config.json:
Database credentials — defaults to
root/ascentonlocalhost:3306RA credentials — set after creating a GM account (level 3+)
Server paths — only change if your folder layout differs from the recommended one above
3. Enable Remote Access (RA) on the Worldserver
In Repack/worldserver.conf:
Ra.Enable = 1
Ra.IP = 127.0.0.1
Ra.Port = 3443Restart the worldserver and put the matching credentials in config.json under remote_access.
4. Add to Your AI Client
Replace <REPACK_PATH> below with the absolute path to your repack folder.
Use forward slashes / even on Windows (e.g. C:/Games/mop_repack/MOPFREE).
After adding the config, restart your AI client; wow-server will appear in its tool list.
🟠 Claude Desktop
Open Settings → Developer → Edit Config, or edit the file directly:
OS | Path |
Windows |
|
macOS |
|
Linux |
|
{
"mcpServers": {
"wow-server": {
"command": "node",
"args": ["<REPACK_PATH>/wow-server-mcp/dist/index.js"]
}
}
}If the file already exists, merge the "wow-server" entry into the existing mcpServers object. Quit Claude from the tray icon (right-click → Quit) before relaunching — closing the window leaves it running in the background.
🟢 Claude Code (VS Code extension / CLI)
Easiest — one command:
claude mcp add wow-server -s user -- node "<REPACK_PATH>/wow-server-mcp/dist/index.js"-s user makes the server available in every project. Use -s project to scope it to the current workspace (writes .mcp.json to the project root).
Or edit the project-scoped file by hand, <your-project>/.mcp.json:
{
"mcpServers": {
"wow-server": {
"type": "stdio",
"command": "node",
"args": ["<REPACK_PATH>/wow-server-mcp/dist/index.js"]
}
}
}Reload VS Code (Ctrl+Shift+P → "Developer: Reload Window"). For project-scoped servers, Claude prompts once to approve — click approve. Verify with /mcp inside Claude Code.
🔷 Codex CLI
Add to ~/.codex/config.toml (create the file if it doesn't exist):
[mcp_servers.wow-server]
command = "node"
args = ["<REPACK_PATH>/wow-server-mcp/dist/index.js"]Start a fresh codex session. Tools appear under the namespace mcp__wow-server__*.
🟣 Antigravity (Google's VS Code-based agent IDE)
Easiest — built-in UI: click the Agent Manager icon in the top bar, then the ⋯ menu → MCP Servers and add a new server with:
Command:
nodeArgs:
<REPACK_PATH>/wow-server-mcp/dist/index.js
Or edit the config file directly at C:\Users\<you>\.gemini\antigravity\mcp_config.json:
{
"mcpServers": {
"wow-server": {
"command": "node",
"args": ["<REPACK_PATH>/wow-server-mcp/dist/index.js"],
"cwd": "<REPACK_PATH>/wow-server-mcp"
}
}
}Dynamic Schema (Any Expansion)
The MCP ships with the Cata / MoP TrinityCore schema baked in, but it can adapt to any repack — Wrath, Cataclysm, MoP, Legion, AzerothCore variants — by overriding column names.
To set it up for a non-default core:
Complete the Quick Start so the AI can reach your database.
Ask the AI to run the
discover_schematool. It scansINFORMATION_SCHEMAand writes aschema_override.jsontailored to your DB.The default
example.config.jsonalready sets"schemaOverride": "schema_override.json"— so if you copied that as yourconfig.json, the file is picked up on the next start. If yourconfig.jsondoesn't have that line, add it.Restart your AI client. Look for
Schema override loaded from …in the MCP server's stderr to confirm.
Available Tools (82 total)
Config Management (4)
Tool | Description |
| Read current config.json |
| Update config fields (deep merge; |
| Reset to example defaults |
| Auto-detect DB structure for custom repacks |
Database Access (7)
Tool | Description |
| Parameterized |
| Insert a row |
| Update with |
| Delete with |
| Raw SQL (DDL, complex joins, etc.) |
| Test DB connectivity |
| Full or table-specific |
RA Commands (2)
Tool | Description |
| Send a single RA command |
| Send multiple commands in sequence |
Process Management (10)
Tool | Description |
| MySQL control |
| Auth control |
| World control |
| Check all processes |
Account Management (7)
Tool | Description |
| Create game account via RA |
| Set GM level (0–9) |
| Change password |
| Set DP (Battle Pay) balance |
| Add/subtract DP (atomic) |
| List all accounts |
| List characters for an account |
Server Config Files (5)
Tool | Description |
| Read allowed config files |
| Write allowed config files |
| Get a single |
| Update a single |
| List which config files are accessible |
Lookup & Editing (13)
Tool | Description |
| NPC lookup & editing |
| Quest lookup & editing |
| Item lookup & editing |
| Gameobject search |
| Server uptime/players via RA |
| Online players from DB |
| Database statistics |
NPC Development (13)
Tool | Description |
| Spawn NPC at GM's in-game position via RA |
| Delete a creature spawn by GUID |
| List all spawns of a creature entry |
| Duplicate existing NPC with new entry & name |
| Set npcflag bitfield (Vendor, QuestGiver, Trainer, etc.) |
| Set gossip menu ID on a creature template |
| View gossip menu options and text IDs |
| List items sold by a vendor NPC |
| Add item to vendor inventory (auto-reloads) |
| Remove item from vendor (auto-reloads) |
| List waypoints for a creature path |
| Add waypoint to creature path |
| Delete all waypoints for a path |
Quest Development (7)
Tool | Description |
| Create new quest with title, levels, rewards |
| Delete quest and all NPC relations |
| Assign NPC as quest starter (auto-sets QuestGiver flag) |
| Assign NPC as quest turn-in (auto-sets QuestGiver flag) |
| Remove giver/ender relations |
| Show all NPCs/GOs that give/finish a quest |
| Show reward items, choices, XP, money |
Loot & World Data (8)
Tool | Description |
| List loot table for a creature (with item names) |
| Add item to creature loot (chance, qty, quest-only) |
| Remove item from creature loot |
| Find which creatures drop a given item |
| Get loot contents of a container item |
| Search spells by name or ID from |
| List world events with active/upcoming status |
| Find teleport locations by name (with coordinates) |
Forensics / DB Integrity (6) — new in 1.4.0
Tool | Description |
| One-call deep dive: template (incl. |
| Walk a gossip menu: row + options + per-option |
| Pull SmartAI rows for any creature / gameobject / quest / etc. with human-readable |
| Generic FK-integrity sweep — "rows in |
| Grep the configured worldserver core source tree ( |
| Inspect any loot table for an entry, classifying each row as valid item / currency (negative ID) / reference / missing. Prevents the "chest drops nothing" false positive when 12 of 14 drops actually work. |
See docs/BUGHUNT.md for the false-positive playbook these tools were designed around.
Bug-Hunting / DB Integrity
The forensic tools above were built to answer one question: "is this DB anomaly actually a bug, or does the core handle it some other way?" Common pitfalls they prevent:
Currencies aren't items. Negative item IDs in loot tables point to
Currency.dbc, notitem_template.inspect_loot_tablelabels them explicitly.Magic
action_menu_idvalues aren't menus.1048576=GOSSIP_OPTION_BATTLEFIELD(Wintergrasp queue),2097152= auctioneer, etc.inspect_gossip_chainflags all known sentinels.SmartAI bypasses missing gossip rows.
event_type = 62(GOSSIP_SELECT) fires when a player clicks an option regardless of whether the destination menu row exists.inspect_creaturewarns when bothgossip_menu_idand SmartAI gossip handlers are present.ScriptNameimplies C++ handling. A non-emptycreature_template.ScriptNamemeans a compiled handler exists on the running server.check_scriptnameverifies whether the name resolves in the configured core source tree.Cherry-picking rows is misleading. A loot table with 12 working + 2 broken rows is not "broken".
inspect_loot_tablealways shows the full picture.
If you're running a hunt at scale, read docs/BUGHUNT.md first — it includes pre-built find_orphan_refs queries for the most productive sweeps.
To enable check_scriptname, add to config.json:
{
"core_source_path": "C:/path/to/your/SkyFire_or_TrinityCore/checkout"
}Database Backups
create_db_backup invokes mysqldump securely (no shell, password via MYSQL_PWD env, identifier validation on table names) and writes to a backups/ directory next to wow-server-mcp. Three modes:
Full backup — pass all three databases (
auth,characters,world) for a complete dump.Single database — pass one database to dump its entire schema.
Targeted backup — pass one database + specific
tables+ an optionalWHEREclause (e.g. dumpaccountrows forusername = 'kneuma').
Updating
cd wow-server-mcp
git pull
npm install
npm run buildThen restart your AI client to load the new code.
config.json is gitignored and won't be overwritten. If new options appear in a release, check example.config.json.
Prerequisites
Node.js 18+ (tested through v24.x)
MySQL running (the repack's
MySQL.batworks)Worldserver running (required for RA-based tools)
A GM account with level 3+ (for RA authentication)
Project Structure
wow-server-mcp/
├── src/ — TypeScript source
├── dist/ — Compiled JS (generated by `npm run build`)
├── install.bat — One-click Windows installer
├── install.ps1 — Installer script (called by install.bat)
├── example.config.json — Template config (commit-safe)
├── config.json — Your local config (gitignored, has credentials)
└── package.jsonReleases
Per-version release notes live on the GitHub Releases page.
Support the Project
This project is free and open-source, built and maintained in spare time. If it's saved you time setting up or running your server — or you'd just like to see it keep growing — a coffee is hugely appreciated and helps keep the WoW repack tools maintained and improving.
Every contribution also funds more free tools for the MoP / Cata repack community — thank you! 💛
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/timoinglin/wow-server-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server