# TalentAnvil > Free World of Warcraft talent calculator (patch 12.1, every class and spec) that emits valid, importable in-game loadout strings, plus a public MCP server so AI assistants can read the talent trees and craft legal builds. A constraint solver, not a language model, guarantees every build is valid. ## MCP server - Endpoint: https://www.talentanvil.com/mcp (Streamable HTTP, JSON-RPC 2.0, no API key, no auth) - Docs and setup guides: https://www.talentanvil.com/docs ## Tools - `list_specs`: List every class/spec available, with the slugs used by the other tools. - `get_talents`: List 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. - `generate_build`: Produce 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. - `decode_build`: Decode a loadout string into its class/spec and the list of selected talents. - `popular_builds`: Get 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. - `get_spell`: Get 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. - `get_character`: Look 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. ## Pages - [Talent calculator](https://www.talentanvil.com/build): visual builder for every class, spec, and hero tree; paste a loadout string to decode it - [Popular builds](https://www.talentanvil.com/popular): most-played builds from top raid kills (Warcraft Logs) and Mythic+ leaderboards - [Compare builds](https://www.talentanvil.com/compare): diff two loadout strings side by side - [MCP docs](https://www.talentanvil.com/docs): connect Claude, ChatGPT, Cursor, or any MCP client