Skip to main content
Glama
consecrated-hammer

wow-site-mcp

wow-site

wow-site ist eine persönliche World of Warcraft Fan-Website, die unter https://wow.batserver.au bereitgestellt wird. Sie verwendet handgeschriebenes HTML, CSS und JavaScript ohne Framework oder Build-Schritt, plus einen kleinen, abhängigkeitsfreien Node-Server für die Blizzard-Charakterausrüstungs-API.

Inhalt

  • site/index.html — Landingpage und Tool-Index

  • site/gear-advisor.html — Ausrüstungsberater-Tool

  • site/styles.css — Gemeinsames Site-Theme

  • site/gear-advisor.css / site/gear-advisor.js — nur für den Ausrüstungsberater

  • site/season-data.js — Gemeinsame Saison-Tracks und Blizzard-Bonus-ID-Zuordnung

  • site/assets/ — Favicon und Bilder

  • server.mjs — Statische Auslieferung, Blizzard-API-Adapter und In-Memory-Caches

  • mcp_server.py — Offizielle SDK v2 MCP-Oberfläche, unterstützt von derselben Charakter-API

  • Dockerfile.mcp / requirements-mcp.txt — Isoliertes MCP-Sidecar-Image

  • test/ — Node-eigene Testsuite

Related MCP server: wow-mcp

Tools

Ausrüstungsberater

Vergleicht die Aufwertungsspuren der Saison mit deinem Gegenstandslevel. Bewege den Schieberegler und jede Stufe färbt sich als Aufwertung, Seitenaufwertung oder Abwertung ein; jede Spur meldet auch die erste Stufe, die dich übertrifft und was sie an Währung kostet.

Saisonnummern und Blizzard-Aufwertungs-Bonus-IDs sind patchespezifisch und leben an einem Ort: site/season-data.js.

Die Charaktersuche verwendet den Blizzard-Server-zu-Server-Client-Credentials-Ablauf. Charakterausrüstung wird für fünf Minuten im Cache zwischengespeichert. Gleichzeitige Anfragen für denselben Charakter werden zusammengefasst, und Jetzt aktualisieren kann den normalen Cache nach einer Abkühlzeit von einer Minute umgehen. Blizzard-Medienantworten und das OAuth-Token haben ihre eigenen langlebigeren Caches. Regionsspezifische Realm-Dropdowns stammen von der Blizzard-Realm-Index-API und werden für einen Tag zwischengespeichert. Der Selektor beginnt mit einem sicheren Platzhalter und einer kurzen, nützlichen Optionsliste, füllt sich während der Browser-Leerlaufzeit auf und behält die abgerufene Liste sowie die letzte regionale Auswahl des Besuchers im Browser-Speicher für sofortige Folgebesuche.

Aktuelle Saison-2-Tracks werden aus Blizzards Gegenstands-bonus_list aufgelöst, nicht aus dem Gegenstandslevel abgeleitet. Gegenstände ohne bekannten aktuellen Saison-Bonus werden als veraltet/unbekannt angezeigt, während spezielle Aufgestiegene Gegenstände einen expliziten speziellen Status erhalten. Unabhängig von dieser Herkunft vergleicht jeder ausgerüstete Slot sein Gegenstandslevel mit jedem Saison-2-Track und zeigt die erste Stufe auf diesem Track an, die eine strikte Gegenstandslevel-Verbesserung darstellen würde. Dieser detaillierte Vergleich wird auf jeder Gegenstandskarte unabhängig eingeklappt, sodass die aktuelle Pfadzusammenfassung die primäre Ansicht bleibt.

MCP v2

Der öffentliche Streamable-HTTP-Endpunkt unter /mcp verwendet das offizielle Python SDK v2 und stellt fünf schreibgeschützte, strukturierte Tools bereit:

  • get_character_equipment gibt dieselben Charakter-, Gegenstands-, aktuellen Pfad-, Ersetzungsschwellen-, Abrufzeit- und Cache-Daten zurück, die auch von der Site verwendet werden.

  • get_character_talents gibt die aktive Spezialisierung, den Heldenbaum, die aktuellen Klassen-/Spez-/Helden-Talentauswahlen und den In-Game-Importcode zurück.

  • get_character_profile gibt kompakte Identitäts- und Fortschrittskontextdaten zurück, einschließlich Gegenstandsleveln, Erfolgspunkten, der aktuellen Saison-Mythic+-Bewertung und den besten Läufen.

  • get_character_achievements gibt Abschlusszahlen, Punkte und bis zu 25 aktuelle Erfolge zurück, ohne den vollständigen mehreren tausend Einträge umfassenden Verlauf auszugeben.

  • list_realms gibt Blizzard-Realm-IDs, Anzeigenamen und Slugs für eine Region zurück, damit ein Agent die Suchparameter validieren kann.

Alle Tools rufen die vorhandene interne JSON-API auf, teilen sich also deren 60-Anfragen pro Minute Aufruferlimit, den Fünf-Minuten-Charakter-Cache, den Ein-Tages-Realm-Cache, die Anfragezusammenführung und die Abkühlzeit für erzwungene Aktualisierungen. Jeder Tool-Aufruf, einschließlich Validierungs-, Upstream- und Ratenbegrenzungsfehlern, wird als strukturiertes JSON in Container-Logs und /data/queries.jsonl geschrieben. Audit-Datensätze enthalten die Abfrage, das Ergebnis, die Dauer, den Cache-Status, Protokoll-/Client-Metadaten und die Adresse des Aufrufers; sie enthalten niemals Blizzard-Anmeldeinformationen oder Zugriffstoken. Die persistente Datei wird mit dem Modus 0640 innerhalb eines 0750-Statusverzeichnisses erstellt.

Lokal ausführen

npm test
docker build -t wow-site .
docker run --rm --env-file /path/to/wow-site.env -p 8080:80 wow-site

Dann öffne http://localhost:8080.

Bereitstellung

Die Produktion ist in der kanonischen Compose-Datei des Infrastruktur-Repositorys definiert unter /mnt/docker/infra/config/dockerconfigs/docker-compose.yml, als die wow-site- und wow-site-mcp-Dienste. Beite bauen aus diesem Verzeichnis, also ist eine vollständige Bereitstellung:

docker compose -p config -f /mnt/docker/infra/config/dockerconfigs/docker-compose.yml \
  up -d --build wow-site wow-site-mcp

Traefik leitet wow.${DOMAIN_PRIMARY} zur Site auf Port 80 und gibt die pfadspezifische /mcp-Route an das MCP-Sidecar auf Port 8767.

Die Produktion lädt ${MOUNT_STATE}/secrets/wow-site.env, das Folgendes enthält:

BLIZZARD_CLIENT_ID=...
BLIZZARD_CLIENT_SECRET=...

Optionale Tuning-Variablen sind CHARACTER_CACHE_TTL_SECONDS (Standard 300), REFRESH_COOLDOWN_SECONDS (Standard 60), MEDIA_CACHE_TTL_SECONDS (Standard 86400), REALM_CACHE_TTL_SECONDS (Standard 86400) und BLIZZARD_TIMEOUT_MS (Standard 10000).

Hinweise

  • Die Site ist derzeit öffentlich — keine Authentifizierung. *.batserver.au wird zur WAN-Adresse aufgelöst, also ist alles, was hier bereitgestellt wird, über das Internet erreichbar.

  • Die öffentliche Suche speichert weder einen persönlichen Charakter noch stellt sie einen vorein. Persistenter persönlicher Charakterstatus gehört unter das reservierte /my/-URL-Präfix, das leer bleibt und später hinter eine Authentifizierung gesetzt werden kann.

  • robots.txt verbietet das Crawlen.

F
license - not found
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    -
    maintenance
    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.
  • F
    license
    -
    quality
    F
    maintenance
    A comprehensive MCP server that wraps the complete World of Warcraft retail API into 197 tools for Game Data and Profile information. It enables users to query character statistics, achievements, collections, and game mechanics across all global regions and locales.
    7
  • F
    license
    -
    quality
    C
    maintenance
    MCP server for World of Warcraft that provides 26 tools for accessing characters, guilds, realms, game data, and auction house info via Blizzard's Battle.net APIs. It enables natural-language queries for character audits, Mythic+ reviews, market analysis, and more.

View all related MCP servers

Related MCP Connectors

  • Wynncraft MMO player + guild + leaderboard + item DB lookups.

  • Bungie.net Destiny 2 + clan API: manifest, profile, characters, stats.

  • Guild Wars 2 keyless public endpoints (worlds, items, achievements, build, commerce).

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/consecrated-hammer/wow-site'

If you have feedback or need assistance with the MCP directory API, please join our Discord server