Skip to content

Repository files navigation

WoWHelper MCP

A modified version of the official WoWHelper extension that introduces two core features for advanced workflows:

  1. Universal File Synchronization: Decouples the project upload logic from VS Code. Modifications made by any external IDE (like IntelliJ) or AI agent are automatically detected and synchronized with the WOW Editor.
  2. MCP (Model Context Protocol) Server: Exposes the WoWHelper API via an MCP server. This allows AI coding assistants to programmatically read presets, register assets, and fetch logs.

Security & Transparency

I understand that installing third-party extensions requires trust. To ensure complete transparency:

  1. See Exactly What Changed: You can view every single line of code modified from the official extension by clicking here:
    👉 Compare Original vs MCP Version

  2. Verifiable Builds: The .vsix package in the Releases tab is NOT compiled on a personal computer. It is built automatically and transparently by GitHub Actions directly from the public source code you see in this repository.

  3. Automated Virus Scans: Every release is automatically scanned by VirusTotal (70+ antivirus engines) during the build process. You can find the direct link to the clean scan report attached to the Latest Release.

How It Works

                  ┌───────────────────────────────┐
                  │ External IDE / AI Agent       │
                  │ (IntelliJ, Cursor, etc.)      │
                  └───────┬───────────────┬───────┘
                          │               │
      (1) Edits Files     │               │ (2) MCP Commands
                          ▼               ▼
┌───────────────────────────────┐   ┌───────────────────────────────┐
│        Project Folder         │   │         stdio proxy           │
│       (Server/ scripts)       │   │     or direct SSE/HTTP        │
└───────────────┬───────────────┘   └─────────────┬─────────────────┘
                │                                 │
                │ (File Watcher detects changes)  │
                ▼                                 ▼
┌───────────────────────────────────────────────────────────────────┐
│                           VS Code                                 │
│  ┌─────────────────────────────────────────────────────────────┐  │
│  │                     WoWHelper Extension                     │  │
│  │                                                             │  │
│  │  ┌──────────────┐                     ┌──────────────────┐  │  │
│  │  │ File Watcher │────(Trigger Push)──►│ ConnectionManager│  │  │
│  │  └──────────────┘                     │ (protobuf / TCP) │  │  │
│  │                                       └────────┬─────────┘  │  │
│  │  ┌──────────────┐                              │            │  │
│  │  │ MCP Server   │◄───(Query/Update API)───────►│            │  │
│  │  │ (port 3001)  │                              │            │  │
│  │  └──────────────┘                              │            │  │
│  └────────────────────────────────────────────────┼────────────┘  │
└───────────────────────────────────────────────────┼───────────────┘
                                                    │
                                                    ▼
                                          ┌───────────────────┐
                                          │    WOW Editor     │
                                          │      (Game)       │
                                          └───────────────────┘

The extension connects to WOW Editor via TCP/protobuf (as it always did), and additionally exposes an MCP server on http://127.0.0.1:3001. AI assistants connect to this MCP server to use the available tools.

Available MCP Tools

Tool Description
list_presets Browse all presets and asset references. Supports keyword filter to search by title or key.
register_assets Register preset assets into the WOW Editor. Specify sourcePath (category) and optionally itemIds.
update_presets Send a request to WOW Editor to reload scripts from disk and update the API.
list_registered_assets View all currently registered assets (from AssetRef). Supports keyword filter.
delete_assets Unregister specific assets by their item IDs.
push_changes Force an immediate push of local project changes to the WOW Editor, bypassing the auto-save cooldown timer.
get_wowhelper_logs Fetch logs from the WOW Editor and VS Code extension. Supports a seconds parameter to filter recent logs.

Installation

1. Download the Extension

Go to the Latest Release page. Scroll to the bottom of the release notes, click on Assets, and download the wowhelper-mcp.vsix file.

2. Install the VSIX

In VS Code, press Ctrl+Shift+PExtensions: Install from VSIX... → select the downloaded .vsix file.

Note: If you have the original WoWHelper extension installed, this will replace it (same extension ID).

3. Connect to WOW Editor

  1. Launch Lua Development Assistant in WOW Editor Pro
  2. Open the project folder (shown in Lua Development Assistant) in VS Code — the extension activates automatically
  3. Once connected to WOW Editor, the MCP server starts on port 3001

File Synchronization

The extension automatically monitors the Server folder for file modifications. When a file is modified (whether by VS Code, an external IDE, or an AI agent), the changes are automatically pushed to the WOW Editor.

To prevent excessive requests during rapid edits, a 10-second cooldown timer is applied. Multiple file saves within this 10-second window are grouped into a single push.

MCP Client Setup

Choose the option that matches your MCP client:


Option A: Direct SSE Connection

For: Claude Desktop, Cline, and other MCP clients that support SSE/HTTP transport.

Simply add to your MCP client configuration:

SSE endpoint:

http://127.0.0.1:3001/sse

Streamable HTTP endpoint (recommended):

http://127.0.0.1:3001/mcp

No additional files or dependencies needed.


Option B: Stdio Proxy (for clients that only support stdio)

For: Antigravity IDE, and other MCP clients that do not support SSE/HTTP connections.

This approach uses a small Node.js script that acts as a bridge: it speaks stdio to the IDE and forwards everything over SSE to the extension's MCP server.

Setup

  1. Download mcpServerStdio.js from Releases and save it to a convenient location (e.g., C:\tools\mcpServerStdio.js)

  2. Install the required dependency in the same directory:

    cd C:\tools
    npm install @modelcontextprotocol/sdk
  3. Add to your IDE's MCP configuration (e.g., mcp_config.json):

    {
      "mcpServers": {
        "wowhelper-mcp": {
          "command": "node",
          "args": ["C:\\tools\\mcpServerStdio.js"]
        }
      }
    }
  4. Restart your IDE. The proxy will automatically wait for the WoWHelper extension's MCP server to start and connect when it becomes available.

Branches

Branch Description
main Original WoWHelper extension (no MCP)
custom-mcp Modified version with MCP server integration

Building from Source

# Clone the repository
git clone https://github.com/KoeGoorn/WowHelper-mcp.git
cd WowHelper-mcp

# Switch to the MCP branch
git checkout custom-mcp

# Install dependencies
npm install

# Package the extension
npx @vscode/vsce package --allow-missing-repository

This will generate wowhelper-mcp.vsix in the current directory.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages