# world_of_warcraft_mcp_server
## 基本信息
- Slug: `noahmott-world_of_warcraft_mcp_server`
- Source: modelscope
- Publisher: @noahmott/world_of_warcraft_mcp_server
- Categories: games-and-gamification / data-platforms
- Hosted: No
- License: Unknown
- Source URL: https://www.modelscope.cn/mcp/servers/@noahmott/world_of_warcraft_mcp_server
## 简介
暂无描述。
## 安装提示

```bash
git clone https://github.com/noahmott/mcp_wowconomics_server.git cd mcp_wowconomics_server
```

## MCP Server 详情

# WoW Guild Analytics MCP Server

![MCPServer](https://badge.mcpx.dev?type=server)&nbsp;
![FastMCP](https://img.shields.io/badge/-FastMCP-05122A?style=flat)&nbsp;
![Python](https://img.shields.io/badge/-Python-05122A?style=flat&logo=python)&nbsp;
![FastAPI](https://img.shields.io/badge/-FastAPI-05122A?style=flat&logo=fastapi)&nbsp;
![Battle.net](https://img.shields.io/badge/-Battle.net-05122A?style=flat&logo=battle.net&logoColor=148EFF)&nbsp;
![Redis](https://img.shields.io/badge/-Redis-05122A?style=flat&logo=redis&logoColor=DD0031)&nbsp;
![Heroku](https://img.shields.io/badge/-Heroku-05122A?style=flat&logo=heroku&logoColor=430098)&nbsp;
![Supabase](https://img.shields.io/badge/-Supabase-05122A?style=flat&logo=supabase&logoColor=3ECF8E)&nbsp;
<a href="https://discord.com/users/479379710766481436"><img alt="Discord" src="https://img.shields.io/badge/Discord-%235865F2.svg?&style=flat&logo=discord&logoColor=white" /></a>&nbsp;
<a href="https://linkedin.com/in/noahmott"><img alt="LinkedIn" src="https://img.shields.io/badge/linkedin%20-%230077B5.svg?&style=flat&logo=linkedin&logoColor=white"/></a>&nbsp;

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](https://develop.battle.net/))
- Supabase account (optional, for activity logging)

### Local Setup

1. Clone the repository:
```bash
git clone https://github.com/noahmott/mcp_wowconomics_server.git
cd mcp_wowconomics_server
```

2. Create and activate a virtual environment:
```bash
python -m venv venv
source venv/bin/activate 
```

3. Install dependencies:
```bash
pip install -r requirements.txt
```

4. Configure environment variables:
```bash
cp .env.example .env
```

5. Run the server:
```bash
python -m app.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`):

```json
{
  "mcpServers": {
    "wow-guild-analytics": {
      "url": "http://localhost:8000/mcp",
      "transport": "http"
    }
  }
}
```

For production (Heroku):
```json
{
  "mcpServers": {
    "wow-guild-analytics": {
      "url": "https://your-app-name.herokuapp.com/mcp",
      "transport": "http"
    }
  }
}
```

## Environment Variables

### Required

```bash
# Blizzard API Credentials (REQUIRED)
BLIZZARD_CLIENT_ID=your_blizzard_client_id_here
BLIZZARD_CLIENT_SECRET=your_blizzard_client_secret_here

# Redis Configuration (REQUIRED)
REDIS_URL=redis://localhost:6379      # Local development
# Heroku automatically sets REDIS_URL for rediss://... (TLS)
```

### Optional

```bash
# OAuth Authentication (Optional)
OAUTH_PROVIDER=                       # Options: discord (empty = disabled)
OAUTH_BASE_URL=http://localhost:8000  # Your server's public URL
DISCORD_CLIENT_ID=                    # Discord OAuth credentials
DISCORD_CLIENT_SECRET=

# Supabase (Optional - Activity Logging)
SUPABASE_URL=                         # Your Supabase project URL
SUPABASE_SERVICE_KEY=                 # Service role key (bypasses RLS)

# Server Configuration
PORT=8000
HOST=0.0.0.0
DEBUG=false

# Feature Flags
ENABLE_REDIS_CACHING=true
ENABLE_SUPABASE_LOGGING=true
ENABLE_AI_ANALYSIS=true

# API Timeouts (seconds) Necessary for reducing API traffick to Blizzard
API_TIMEOUT_TOTAL=300
API_TIMEOUT_CONNECT=10
API_TIMEOUT_READ=60
```

## Deployment

### Heroku Deployment

1. Create a Heroku app:
```bash
heroku create your-app-name
```

2. Add Redis addon:
```bash
heroku addons:create heroku-redis:mini
```

3. Set environment variables:
```bash
heroku config:set BLIZZARD_CLIENT_ID=your_client_id
heroku config:set BLIZZARD_CLIENT_SECRET=your_client_secret
heroku config:set BLIZZARD_REGION=us
heroku config:set WOW_VERSION=retail
```

4. Deploy:
```bash
git push heroku main
```

5. Verify deployment:
```bash
heroku logs --tail
```

The server will automatically use the `REDIS_URL` environment variable set by the Heroku Redis addon.

### Docker Deployment (Alternative)

```bash
docker build -t wow-mcp-server .
docker run -p 8000:8000 --env-file .env wow-mcp-server
```

## MCP Tools Ava…

