wow-casc-mcp-server
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-casc-mcp-serverfind all .m2 files in the creature directory"
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.
wow-casc
wow-casc reads, searches, verifies, and extracts files from a local World of Warcraft CASC installation. One shared CASC core powers three entry points:
the CLI, for Codex, Claude Code, and other agents with a Shell;
the repository Agent Skill, which guides correct CLI use;
the MCP adapter, for hosts without a Shell, fine-grained authorization, or existing MCP callers.
The MCP adapter retains the compatible casc_open, casc_find, casc_read, and casc_close tools. The CLI and MCP do not call each other.
CLI quick start
Run the CLI from the repository root:
node scripts/wow-casc.js info `
--storage '<WoW>\Data' `
--jsonAfter installing dependencies, npm can also expose the local wow-casc bin through normal npm workflows. This repository is not published as an npm package.
Related MCP server: wow-api-mcp
Agent Skill
The root SKILL.md teaches an agent to prefer exact read operations, use narrow verified searches when paths are unknown, write binary data directly to files, and use extract for batches. It intentionally links here for detailed parameters instead of duplicating the CLI reference.
Skill discovery depends on the host. A Shell-capable host should use the CLI. Fall back to the wow-casc MCP server only when the current host has no Shell and exposes that MCP integration.
MCP compatibility entry point
Start the stdio server with:
node index.jsExample MCP configuration:
{
"mcpServers": {
"wow-casc": {
"type": "stdio",
"command": "node",
"args": ["X:\\Tools\\wow-casc\\index.js"]
}
}
}MCP server metadata is wow-casc version 1.4.0. Handles expire after 10 minutes and should still be closed explicitly with casc_close.
Commands
info
node scripts/wow-casc.js info `
--storage '<WoW>\Data' `
--jsonReturns codeName, buildNumber, localFileCount, and the normalized storage path.
find
node scripts/wow-casc.js find `
--storage '<WoW>\Data' `
--mask 'interface/addons/blizzard_*/mainline/*.lua' `
--branch retail `
--verify `
--max-results 20 `
--jsonWildcards are case-insensitive: * matches any characters and ? matches one character. Branch values include retail/mainline, ptr, classic, vanilla, tbc, wrath, cata, and mists. --environment, --flavor, --product-flavor, and --client-flavor are accepted aliases for the branch input. Use --listfile <file> to override the cached community listfile.
The default result limit is 200 and the maximum is 1000. Output includes the active build, candidate and returned counts, pagination metadata, verification state, and listfile source.
read
Text files can be returned directly:
node scripts/wow-casc.js read `
--storage '<WoW>\Data' `
--path 'interface/addons/blizzard_uiparent/mainline/uiparent.lua' `
--jsonBinary files must be written to disk:
node scripts/wow-casc.js read `
--storage '<WoW>\Data' `
--path 'interface/tooltips/chatbubble.blp' `
--output '.\ChatBubble.blp' `
--jsonExisting files are protected unless --force is supplied. The JSON result includes the build, CASC path, output path, byte size, encoding, and SHA-256.
extract
node scripts/wow-casc.js extract `
--storage '<WoW>\Data' `
--manifest '.\paths.txt' `
--output-dir '.\extracted' `
--jsonRepeat --path for explicit paths, or provide a manifest with one CASC path per line. Blank lines and lines beginning with # are ignored. CASC-relative directories are preserved. Absolute paths, .., drive-qualified paths, and other output-directory escapes are rejected. All files are reported; any failure produces a nonzero exit code. Existing outputs require --force.
Listfile candidates versus current-build files
The community listfile contains names collected across products and versions. A listfile match is only a candidate. It does not prove that the active client build contains or can read the path.
Use find --verify to test returned candidates, or use an exact read as the stronger proof. Verification applies only to returned candidates, not every matching listfile row. The listfile is cached for one day; a failed refresh falls back to an older cache when available, and downloaded size is validated before replacement.
buildNumber
Every evidence record should include buildNumber. Blizzard can move, replace, or remove CASC resources between client builds, so a path or hash without its build is incomplete provenance.
Binary output
The CLI writes original binary bytes directly to --output and does not inherit MCP's transport limits. It never prints a large binary as base64 by default. The compatibility MCP adapter continues to return binary as base64 and retains the existing 100 KB text and 500 KB binary response truncation behavior.
Installation and dependencies
Requirements:
Node.js 18 or newer;
a local World of Warcraft installation;
dependencies installed from the lockfile.
Install explicitly when needed:
npm ciThe CLI and Skill never run dependency installation automatically. Use the WoW root Data directory, such as <WoW>\Data; do not use _retail_\Data.
Tests
Offline unit and protocol tests do not require WoW:
npm testRun real-client tests with an environment-scoped storage path:
$env:WOW_CASC_DATA = '<WoW>\Data'
npm run test:liveMaintainers can additionally set WOW_CASC_BASELINE_BLP to a pre-refactor ChatBubble.blp artifact from the same build. The live test then compares its byte length and SHA-256 with both the CLI and MCP results without hard-coding either value.
Version
Version 1.4.0 adds the CLI and Agent Skill, extracts the shared CASC core, preserves the four MCP tools, supports direct binary output and batch extraction, and renames the project to wow-casc.
This repository currently has no LICENSE file.
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.
Related MCP Connectors
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
MCP server to assist with JxBrowser development.
MCP server for Crowdin — projects, files, strings, translation progress, tasks, and members.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA local MCP server that lets any MCP-compatible AI client manage a standalone World of Warcraft private server, including server control, database operations, NPC/quest/loot management, and more.1MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that exposes structured World of Warcraft API data (functions, deprecated replacements, enums, events, widget methods) to AI agents, enabling querying and exploration of WoW API without wiki parsing.1312MIT
- AlicenseNot gradedqualityBmaintenanceA Python MCP server for searching, downloading, extracting, inspecting, and previewing game assets from multiple public sources.MIT
- AlicenseAqualityBmaintenanceAn MCP server that exposes World of Warcraft character data from the Blizzard API, offering read-only tools for character summaries, equipment, Mythic+ scores, realm lookup, and other character sub-resources.5MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/annoft/wow-casc'
If you have feedback or need assistance with the MCP directory API, please join our Discord server