wow-api-mcp
by Nighthawk42
README.md
# wow-api-mcp
An [MCP](https://modelcontextprotocol.io) server that gives AI coding assistants first-class access to the **World of Warcraft addon API** — Blizzard's own generated API documentation, the FrameXML/AddOn UI source code, and the Warcraft Wiki — across all four client flavors:
| Flavor ID | Game | Source branch |
| --- | --- | --- |
| `live` | Retail | [Gethe/wow-ui-source@live](https://github.com/Gethe/wow-ui-source/tree/live) |
| `classic` | Classic (current expansion) | [classic](https://github.com/Gethe/wow-ui-source/tree/classic) |
| `classic_era` | Classic Era (vanilla) | [classic_era](https://github.com/Gethe/wow-ui-source/tree/classic_era) |
| `classic_anniversary` | Classic Anniversary | [classic_anniversary](https://github.com/Gethe/wow-ui-source/tree/classic_anniversary) |
The API documentation is parsed from `Blizzard_APIDocumentationGenerated` — the machine-readable docs Blizzard ships with the client — so every `C_*` function signature, event payload, enum, and structure is exact, typed, and per-flavor. No scraping involved.
## Tools
| Tool | What it does |
| --- | --- |
| `list_flavors` | Flavors with game build, interface version, data commit, API counts |
| `list_systems` | API systems/namespaces per flavor, filterable |
| `search_api` | Fuzzy full-text search over functions, events, enums, structures |
| `get_api` | Full signature detail + cross-flavor availability |
| `diff_api` | Compare an API's existence/signature across all four flavors |
| `search_wiki` | Search warcraft.wiki.gg (guides, TOC format, widget API, ...) |
| `get_wiki_page` | Fetch a wiki page as markdown (cached ~24h, CC BY-SA attributed) |
| `search_source` | Regex search over Blizzard's actual UI source per flavor |
| `get_source_file` | Read UI source files with line numbers / list directories |
## Install
Requires Node 20+. The server is published as [`@nighthawk42/wow-api-mcp`](https://www.npmjs.com/package/@nighthawk42/wow-api-mcp).
**Claude Code**
```bash
claude mcp add wow-api -- npx -y @nighthawk42/wow-api-mcp
```
**Claude Desktop / Cursor / any MCP client** (`mcpServers` JSON):
```json
{
"mcpServers": {
"wow-api": {
"command": "npx",
"args": ["-y", "@nighthawk42/wow-api-mcp"]
}
}
}
```
**From source**
```bash
git clone https://github.com/Nighthawk42/wow_api_mcp
cd wow_api_mcp
npm ci && npm run build
claude mcp add wow-api -- node /path/to/wow_api_mcp/dist/index.js
```
Notes:
- The first `search_source`/`get_source_file` call per flavor downloads a ~200 MB source checkout into your OS cache dir (one-time, pinned to the same commit the API data was built from).
- Wiki pages are fetched on demand and cached for 24 hours.
## Development
```bash
npm run dev # run the server from source
npm test # vitest (offline)
npm run smoke # exercise every tool end-to-end (needs network)
npm run ingest # regenerate data/*.json from wow-ui-source
```
Data is refreshed weekly by a scheduled GitHub Action that opens a PR when upstream changes. See [AGENTS.md](AGENTS.md) for architecture details.
## Data sources & attribution
- API documentation and UI source are © Blizzard Entertainment, mirrored by [Gethe/wow-ui-source](https://github.com/Gethe/wow-ui-source). The `data/` files in this repo are machine-derived transformations of Blizzard's generated documentation, provided for interoperability.
- Wiki content is fetched live from [warcraft.wiki.gg](https://warcraft.wiki.gg) and is licensed [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/); responses include attribution.
## License
MIT (server code). See [LICENSE](LICENSE).
TDQS
A4/5.0
Scored across 9 tools
Disambiguation5/5
Each tool has a distinct, non-overlapping purpose: comparing APIs, fetching docs, reading source, searching, listing flavors/systems. No ambiguity.
Naming Consistency5/5
All tool names follow a consistent verb_noun pattern in snake_case (e.g., get_api, search_source, list_flavors). No deviations.
Tool Count5/5
9 tools is well within the ideal range for this domain, covering all necessary operations without excess.
Completeness5/5
The tool set thoroughly covers the WoW API exploration domain: documentation, source code, cross-flavor comparison, and searches. No obvious gaps.
Maintenance
ActivityMaintained
ResponsivenessNo issues