Provides comprehensive World of Warcraft guild analytics, character inspection, auction house economics, and market intelligence through the Blizzard Battle.net API, supporting both Retail and Classic WoW versions.
Enables OAuth authentication for user tracking and activity logging through Discord integration.
Enables activity logging, user tracking, and usage analytics monitoring for all MCP tool calls and requests.
WoW Guild Analytics MCP Server
A Model Context Protocol (MCP) server providing comprehensive World of Warcraft guild analytics, auction house data, and market insights through the Blizzard Battle.net API. Built with FastMCP 2.0 and deployed on Heroku.
Overview
This MCP server integrates with Claude Desktop (or any MCP client) to provide real-time WoW guild management, player analysis, and auction house economics data. It supports both Retail and Classic WoW with proper namespace handling, Redis caching for performance, and optional Supabase logging for user activity tracking.
Features
Guild Management: Retrieve guild rosters, member details, and raid progression data
Character Analysis: Deep character inspection including equipment, specializations, achievements, and statistics
Auction House Economics: Real-time commodity and auction house data with trend analysis
Market Intelligence: Identify profitable trading opportunities and track price trends
Demographics Analytics: Comprehensive guild demographic breakdowns by class, race, spec, and item level
Realm Information: Server status and connected realm ID lookup
Item Lookup: Batch item data retrieval with detailed metadata
Visualization: Raid progress tracking and member performance comparisons
Redis Caching: Optimized response times with intelligent cache management
OAuth Authentication: Discord OAuth integration for user tracking
Activity Logging: Supabase integration for usage analytics and monitoring
Tech Stack
Core Framework:
Python 3.13
FastAPI 0.116.1
FastMCP 2.0+ (Model Context Protocol)
Uvicorn/Gunicorn (ASGI server)
Data & Caching:
Redis 6.2 (caching and performance optimization)
Supabase (activity logging and user tracking)
SQLAlchemy 2.0 (database operations)
Installation
Prerequisites
Python 3.13+
Redis server (local or Heroku Redis)
Blizzard Battle.net API credentials (Get them here)
Supabase account (optional, for activity logging)
Local Setup
Clone the repository:
Create and activate a virtual environment:
Install dependencies:
Configure environment variables:
Run the server:
The server will start on http://localhost:8000 with the MCP endpoint at /mcp.
Claude Desktop Integration
Add to your Claude Desktop configuration (claude_desktop_config.json):
For production (Heroku):
Environment Variables
Required
Optional
Deployment
Heroku Deployment
Create a Heroku app:
Add Redis addon:
Set environment variables:
Deploy:
Verify deployment:
The server will automatically use the REDIS_URL environment variable set by the Heroku Redis addon.
Docker Deployment (Alternative)
MCP Tools Available
The server exposes 9 MCP tools for guild and economy analysis:
1. get_guild_member_list
Retrieve guild roster with sorting and filtering options.
Parameters:
realm,guild_name,sort_by,limit,quick_mode,game_versionUse Case: Get overview of guild members, sorted by rank/level/name
2. get_character_details
Deep character inspection with equipment, specs, achievements, and statistics.
Parameters:
realm,character_name,sections,game_versionSections: profile, equipment, specializations, achievements, statistics, media, pvp, appearance, collections, titles, mythic_plus
Use Case: Detailed player analysis for recruitment or progression planning
3. get_realm_info
Retrieve realm status and connected realm ID for auction house queries.
Parameters:
realm,game_version,include_statusUse Case: Lookup realm IDs before querying realm-specific auction houses
4. lookup_items
Batch item lookup by ID with detailed metadata.
Parameters:
item_ids(int or list),game_version,detailedUse Case: Get item names, quality, prices, and stats for market analysis
5. get_market_data
Current market prices for commodities or auction house items.
Parameters:
market_type,realm,item_ids,include_trends,trend_hours,max_results,game_versionMarket Types:
commodities(region-wide),auction_house(realm-specific)Use Case: Real-time market snapshots with optional historical trends
6. analyze_market
Find profitable trading opportunities or check economy snapshot health.
Parameters:
operation,market_type,realm,min_profit_margin,check_hours,realms,max_results,game_versionOperations:
opportunities(find deals),health_check(system status)Use Case: Identify underpriced items or monitor data collection health
7. get_guild_raid_progression
Guild achievement data including raid progression.
Parameters:
realm,guild_name,game_versionUse Case: Track guild raid progression and achievement milestones
8. compare_member_performance
Compare performance metrics across guild members.
Parameters:
realm,guild_name,member_names,metric,game_versionMetrics:
item_level,achievement_points,guild_rankUse Case: Performance comparisons for raid team optimization
9. get_guild_demographics
Comprehensive demographic breakdown of guild composition.
Parameters:
realm,guild_name,game_version,max_level_onlyUse Case: Analyze guild composition by class, race, spec, faction, and item level
API Documentation
Base URL
Local:
http://localhost:8000Production:
https://your-app-name.herokuapp.com
MCP Endpoint
Path:
/mcpProtocol: HTTP transport (FastMCP 2.0)
Authentication: Optional OAuth (Discord)
Health Check
Example MCP Tool Call
Through Claude Desktop or any MCP client:
Claude will automatically call:
Development
Project Structure
Caching Strategy
The server implements intelligent Redis caching:
Guild Rosters: 15-day cache with age tracking
Economy Snapshots: 30-day retention with hourly captures
Market Trends: Rolling 30-day historical data
Cache Keys: Namespaced by game version, region, and realm
Monitoring & Logging
Activity Logging (via Supabase):
All MCP tool calls logged with user tracking
OAuth user attribution (Discord)
Request/response metadata and duration tracking
Error tracking and debugging
Health Checks:
Redis connectivity status
Blizzard API rate limits
Supabase streaming status
Economy snapshot freshness
Rate Limits
Blizzard API:
100 requests per second (soft limit)
36,000 requests per hour (hard limit)
Automatic retry with exponential backoff via tenacity
Redis:
50 max connections
TLS support for Heroku Redis
Contributing
Contributions are welcome. Please follow these guidelines:
Fork the repository
Create a feature branch (
git checkout -b feature/your-feature)Commit your changes
Push to the branch (
git push origin feature/your-feature)Open a Pull Request
License
MIT License - See LICENSE file for details
Support
For issues, questions, or feature requests:
Discord: Contact me
LinkedIn: Noah Mott
GitHub Issues: Open an issue
Acknowledgments
Built with FastMCP by Marvin AI
Powered by Blizzard Battle.net API
Deployed on Heroku
Activity tracking via Supabase
Roadmap
Add additional authentication routes
PvP arena statistics and rankings
Discord bot integration
Long-term collection and analysis of WoW commodities market for research
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Provides comprehensive World of Warcraft guild analytics, player character analysis, and auction house market data through the Blizzard Battle.net API. Supports both Retail and Classic WoW with real-time market insights, guild roster management, and demographic analytics.