Skip to main content
Glama
iRockyZhou

warcraftlogs-mcp

by iRockyZhou

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WCL_CLIENT_IDYesOAuth client ID.
WCL_STATE_DIRNoPrivate auth and subscription state.~/.config/warcraftlogs-mcp
WCL_MAX_RETRIESNoRetries for network/timeout/5xx failures.2
WCL_CLIENT_SECRETYesOAuth client secret.
WCL_USER_ACCESS_TOKENNoOptional global-site user token override.
WCL_MAX_RETRY_AFTER_MSNoLongest 429 delay the process will wait.2000
WCL_OAUTH_REDIRECT_URINoRegistered loopback callback.http://127.0.0.1:8765/callback
WCL_REQUEST_TIMEOUT_MSNoPer-request timeout.15000
WCL_CN_USER_ACCESS_TOKENNoOptional CN-site user token override.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
parse_wcl_urlA

Safely parse a www.warcraftlogs.com or cn.warcraftlogs.com report URL, including query/hash fight selectors. Rejects look-alike hosts and unsafe URL forms.

get_reportB

Get bounded report metadata, visibility, zone, timestamps, and archive status.

list_fightsB

List fights with raid and Mythic+ metadata. If a fight selector is present, selectedFightID identifies it.

list_playersA

List player actor IDs and map their observed specs and item levels to fights. A fight selector narrows participants.

list_dungeon_pullsA

List Mythic+ pull windows, locations, map IDs, and participating enemy NPC IDs.

get_talent_import_codeA

Get the Retail talent import string WCL recorded for one player in one fight.

get_damage_doneA

Get bounded damage-done evidence. playerID is correctly applied as WCL sourceID.

get_damage_takenC

Get bounded damage-taken evidence. WCL table semantics require playerID as sourceID for the selected player perspective.

get_castsC

Get bounded cast evidence. playerID is correctly applied as WCL sourceID.

get_interruptsA

Get bounded interrupt evidence. playerID is correctly applied as WCL sourceID.

get_deathsC

Get bounded death evidence. WCL table semantics require playerID as sourceID for the selected player perspective.

get_buffsB

Get bounded buff-uptime evidence on a player. playerID is correctly applied as WCL targetID.

get_debuffsB

Get bounded debuff evidence on a player. playerID is correctly applied as WCL targetID.

get_dispelsB

Get bounded dispel evidence. playerID is correctly applied as WCL sourceID.

get_healingB

Get bounded healing evidence. playerID is correctly applied as WCL sourceID.

get_resourcesC

Get bounded resource evidence. playerID is correctly applied as WCL sourceID.

get_combatant_infoA

Get bounded CombatantInfo events (gear, talents and player state) for one player source.

get_eventsB

Get a bounded event window with WCL pagination. Enforces fight time bounds, max events/pages, and a byte budget. Continue using pagination.nextPageTimestamp as cursor.

get_mythic_plus_summaryA

Get a compact Mythic+ overview: key, duration, dungeon, enemy forces, players, DPS/HPS, deaths and interrupts. Optional tables fail independently with warnings.

get_player_analysis_contextA

Aggregate bounded damage, casts, damage taken, interrupts, deaths, buffs, resources, CombatantInfo and talent evidence for one player. Components fail independently and return warnings.

set_active_characterA

Validate and persist the default character used by character discovery and ranking tools.

get_active_characterA

Return the locally persisted active character, if one is configured.

clear_active_characterA

Remove the locally persisted active-character default.

get_character_summaryA

Resolve a character and summarize its recent report availability and content types. Omit all identity fields to use the active character.

get_recent_reportsA

List recent reports for a character, including report visibility and bounded fight metadata. User access can include private reports visible to the authorized WCL account.

get_encounter_rankingsA

Get WCL rankings for one character and exactly one encounter or zone. Private parses require user authorization and includePrivateLogs=true.

subscribe_characterA

Persist a pull-based subscription. By default current reports become the baseline, so later checks return only newly discovered reports.

list_character_subscriptionsA

List locally persisted character report subscriptions and their cursors.

check_character_subscriptionsA

Poll WCL for new reports and advance subscription cursors. Omit subscriptionID to check all subscriptions.

unsubscribe_characterA

Delete one locally persisted character report subscription.

get_fight_summaryA

Get a compact raid or Mythic+ fight summary with player damage, healing, deaths, interrupts, and fight metadata.

get_fight_damageC

Compatibility alias for get_damage_done with bounded source semantics.

get_fight_healingC

Compatibility alias for get_healing with bounded source semantics.

get_fight_damage_takenC

Compatibility alias for get_damage_taken with bounded WCL player/source semantics.

get_character_deathsA

Discover recent reports and return bounded, best-effort death evidence for one character across those reports.

get_character_castsA

Discover recent reports and return bounded, best-effort cast evidence for one character across those reports.

get_buff_uptimeC

Compatibility alias for get_buffs with bounded target semantics.

get_fight_eventsB

Compatibility alias for get_events with full pagination, time-window, event-count, page-count, and byte protections.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.9/5.0

Scored across 38 tools

Disambiguation2/5

The server includes multiple explicit compatibility aliases (e.g., get_fight_damage vs get_damage_done, get_fight_damage_taken vs get_damage_taken, get_fight_healing vs get_healing, get_buff_uptime vs get_buffs, get_fight_events vs get_events) that perform identical operations, creating misselection risk. Additionally, character-scoped discovery tools (get_character_deaths, get_character_casts) overlap with report/fight-scoped evidence tools (get_deaths, get_casts), and get_player_analysis_context duplicates many individual evidence tools. While the core evidence types are distinct, the aliases and overlapping scopes make it hard to choose the right tool.

Naming Consistency4/5

All tools use snake_case and a clear verb_noun pattern (get_, list_, set_, clear_, check_, subscribe_, unsubscribe_, parse_). However, the aliases introduce inconsistent noun phrasing for the same operation (e.g., get_fight_damage vs get_damage_done), which is a minor deviation from a single predictable naming scheme.

Tool Count2/5

38 tools is excessive for the domain, especially with five redundant compatibility aliases and several overlapping discovery/aggregation tools. While Warcraft Logs data is complex, many tools could be consolidated (e.g., a parameterized get_events could replace multiple evidence tools, and aliases could be removed).

Completeness4/5

The surface covers a wide range of read operations: reports, fights, players, events, rankings, subscriptions, and character management. It includes discovery, parsing, and aggregation tools. Missing operations like creating reports (not supported by the platform) or retrieving zone/encounter lists are minor gaps that agents can work around using other tools.

Maintenance

ActivityMaintained
ResponsivenessNo issues