@wowlab/mcp-server
v0.7.0
Published
MCP server for querying WoW spell and item data from WowLab
Downloads
185
Maintainers
Readme
WowLab MCP Server
MCP (Model Context Protocol) server for querying World of Warcraft spell and item data from the WowLab database.
Features
- Full Spell/Item Data: Get complete transformed data including all computed fields
- DBC Table Access: Query 38 game data tables directly
- Extractor Functions: Call 25 specialized functions to compute damage, durations, cooldowns, etc.
- Schema Discovery: Introspect available tables and columns
- Zero Configuration: Works out of the box with the WowLab database
- Efficient Batch Queries: Retrieve multiple spells or items in a single request
Installation
Quick Start (Recommended)
Use npx to run without installation:
npx @wowlab/mcp-server@latestGlobal Installation
npm install -g @wowlab/mcp-serverAvailable Tools
Spell & Item Retrieval
| Tool | Description |
| ------------------ | -------------------------------------------------------------------- |
| get_spell | Get complete spell data by ID (transformed with all computed fields) |
| get_item | Get complete item data by ID (transformed with all computed fields) |
| get_spells_batch | Get multiple spells by ID (max 50) |
| get_items_batch | Get multiple items by ID (max 50) |
| search_spells | Search spells by name |
| search_items | Search items by name |
DBC Table Access
| Tool | Description |
| ------------- | ---------------------------------------------------------------- |
| query_table | Query DBC tables with filters, sorting, and column selection |
| get_schema | List available tables or get column details for a specific table |
Available Tables:
- Spell:
spell,spell_name,spell_misc,spell_effect,spell_power,spell_cooldowns,spell_categories,spell_category,spell_class_options,spell_cast_times,spell_casting_requirements,spell_duration,spell_range,spell_radius,spell_interrupts,spell_empower,spell_empower_stage,spell_aura_options,spell_target_restrictions,spell_procs_per_minute,spell_procs_per_minute_mod,spell_aura_restrictions,spell_description_variables,spell_learn_spell,spell_levels,spell_replacement,spell_shapeshift,spell_shapeshift_form,spell_totems,spell_x_description_variables - Item:
item,item_sparse,item_effect,item_x_item_effect - Shared:
difficulty,expected_stat,expected_stat_mod,content_tuning_x_expected,manifest_interface_data
Extractor Functions
| Tool | Description |
| ---------------- | -------------------------------------------------- |
| call_function | Call an extractor function to compute derived data |
| list_functions | List available extractor functions with signatures |
Available Functions:
getDamage- Calculate spell damage for a level/difficultygetEffectsForDifficulty- Get spell effects filtered by difficultygetVarianceForDifficulty- Get damage variance for difficultyhasAoeDamageEffect- Check if spell has AoE damageextractAuraRestrictions- Get aura restrictionsextractCooldown- Get cooldown infoextractCastTime- Get cast timeextractDescriptionVariables- Get description variable substitutionsextractDuration- Get durationextractRange- Get rangeextractRadius- Get AoE radiusextractCharges- Get charge infoextractLearnSpells- Get spells learned from this spellextractLevels- Get spell level requirementsextractPower- Get resource costsextractReplacement- Get spell replacement infoextractScaling- Get SP/AP coefficientsextractShapeshift- Get shapeshift requirementsextractEmpower- Get Evoker empower stagesextractInterrupts- Get interrupt flagsextractClassOptions- Get class restrictionsextractName- Get spell nameextractDescription- Get spell descriptionextractTargetRestrictions- Get target restrictionsextractTotems- Get totem requirements
Utility
| Tool | Description |
| ------------ | ----------------------------------------- |
| get_status | Check server health and connection status |
Configuration
Claude Code
Add to your Claude Code MCP settings:
{
"mcpServers": {
"wowlab": {
"command": "npx",
"args": ["-y", "@wowlab/mcp-server@latest"]
}
}
}Windows Troubleshooting
If npx doesn't work on Windows (especially with nvm4w), use direct node execution:
Step 1: Install globally
npm install -g @wowlab/mcp-serverStep 2: Find your Node.js binary and global modules location
(Get-Command node).Source
npm root -gStep 3: Use this configuration (adjust paths based on your output):
{
"mcpServers": {
"wowlab": {
"command": "C:\\nvm4w\\nodejs\\node.exe",
"args": ["C:\\nvm4w\\nodejs\\node_modules\\@wowlab\\mcp-server\\bin.mjs"]
}
}
}Example Usage
// Get Fireball spell (ID 133)
await get_spell({ id: 133 });
// Search for fire spells
await search_spells({ query: "fire", limit: 10 });
// Get multiple spells at once
await get_spells_batch({ ids: [133, 2136, 3140] });
// Query raw spell_effect table for damage effects
await query_table({
table: "spell_effect",
filters: { EffectIndex: 0 },
limit: 20,
});
// Get spell damage for Mythic difficulty
await call_function({
function: "getDamage",
args: { spellId: 133, difficultyId: 16 },
});
// List all tables
await get_schema({});
// Get columns for spell_misc table
await get_schema({ table: "spell_misc" });