TalentAnvil
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
WoW talent builds for every class and spec: valid, importable loadout strings plus popular builds.
| Author | com.talentanvil |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2818 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"TalentAnvil": {
"url": "https://www.talentanvil.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (8)
list_specsList every class/spec available, with the slugs used by the other tools.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_talentsList the selectable talents for a class/spec (id, name, effect description, spell id, sub-tree, hero tree, choices). Call this before generate_build so you know the talent names and what each one does. Use get_spell for the full, freshest detail on any spell id.
Parameters:
class(required) — stringspec(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
generate_buildProduce a valid, importable loadout string for a class/spec. Provide talents to include (by name or id), an optional hero tree, and priority talents to fill remaining points. The solver enforces prerequisites, gates, and budgets.
Parameters:
class(required) — stringspec(required) — stringinclude— arrayhero_tree— stringpriorities— array
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
decode_buildDecode a loadout string into its class/spec and the selected talents, each with its rank and max_ranks.
Parameters:
loadout_string(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
popular_buildsGet the importable loadout that players actually ran to kill a raid boss (or clear an M+ dungeon), aggregated from Warcraft Logs and the M+ leaderboards, for a class/spec. Pass a boss/dungeon name, or a general all-round build for the whole content: "All Bosses" for a raid (set difficulty to normal/heroic/mythic), or "All Dungeons" for M+ (set difficulty to "mythic_plus"). Returns the modal build string, sample size, and per-choice pick frequencies.
Parameters:
class(required) — stringspec(required) — stringcontent_name(required) — string — Boss or dungeon name (partial match ok). Use "All Bosses" for the overall raid build, or "All Dungeons" for the overall M+ build.difficulty— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_spellGet the current Blizzard details for a spell — name and full effect description — by spell id (from get_talents) or by name. Data is refreshed daily, so it reflects the live patch rather than stale training data.
Parameters:
name— stringspell_id— integer
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_characterLook up a live World of Warcraft character from Blizzard's armory: profile summary (class, spec, level, item level, guild, faction) plus the sections you ask for — gear, talents, stats, M+, raid and dungeon progress, professions, PvP, achievements, collections, and more. Defaults to equipment, talents, stats, mythic_plus. Talents return only the active spec's active loadout: hero tree, the importable talent_loadout_code (pass it to decode_build), and each talent as {node_id, talent_id, name, rank}; set include_inactive_loadouts for every other saved loadout's code. Equipment is compact: equipped item level, then per item slot, name, item level, track (name_description), stats, gems, enchants, spell/proc text, set and bonus_list; set bonuses sit once in equipped_item_sets. mythic_plus returns the current season's rating and the best run per dungeon. raids and dungeons cover the current expansion only, newest release first and Mythic → Raid Finder; use raid_expansions / dungeon_expansions for others. achievements returns a summary (total points, completed count, recent completions, per-category progress); use achievement_category (paged with achievements_limit / achievements_offset) to list completions in one category, or achievement_ids to check specific achievements with criteria progress. achievement_statistics lists its categories; use statistics_category for the values. pets is name/species/level/quality; completed_quests is quest ids. Results are kept under ~20k tokens: anything left out to fit is listed in truncated_sections with the request that fetches it.
Parameters:
name(required) — string — Character name.realm(required) — string — Realm name or slug, e.g. "Area 52" or "area-52".region— stringsections— arrayachievement_ids— array — With the achievements section: completion status and date for each id, plus criteria progress for incomplete ones.raid_expansions— Raid progress to include: "current" (default, the newest expansion), "all", or a list of journal expansion ids.achievements_limit— integer — Page size for achievement_category.dungeon_expansions— Dungeon progress to include: "current" (default, the newest expansion), "all", or a list of journal expansion ids.achievements_offset— integer — Skip this many completions in achievement_category (page on has_more).statistics_category— ['string', 'integer'] — With the achievement_statistics section: return the statistics in this category (name or id).achievement_category— ['string', 'integer'] — With the achievements section: list completed achievements (id, name, completed date, points) in this category and its subcategories, newest first. A category name (e.g. "Midnight Raid") or id; an ambiguous name returns the matching ids.include_cosmetic_slots— boolean — Also include the shirt and tabard slots in equipment.include_inactive_loadouts— boolean — Also list every other saved loadout (all specs) as spec + talent_loadout_code.include_mythic_plus_seasons— boolean — Also list the ids of every M+ season the character has played.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compare_characterCompare a live character's active talent loadout with the most popular build for their spec (Warcraft Logs raid kills and the Mythic+ leaderboards, current raid tier). By default it compares against the spec's overall build (All Dungeons or All Bosses, the best-sampled first); pass content_name and/or difficulty to pick a dungeon or boss. Returns both loadout strings and hero trees, plus the differences: talents only the character has, talents only the popular build has, and rank and choice differences.
Parameters:
name(required) — string — Character name.realm(required) — string — Realm name or slug, e.g. "Area 52" or "area-52".region— stringdifficulty— stringcontent_name— string — Boss or dungeon name (partial match ok), or "All Bosses" / "All Dungeons". Omit for the overall build.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.