wow-site-mcp
wow-site
wow-site — это личный фанатский сайт World of Warcraft, доступный по адресу
https://wow.batserver.au. Он использует написанные вручную HTML, CSS и JavaScript без
фреймворков и этапов сборки, а также небольшой сервер Node.js без зависимостей для
API экипировки персонажей Blizzard.
Содержание
site/index.html— целевая страница и индекс инструментовsite/gear-advisor.html— инструмент советника по экипировкеsite/styles.css— общая тема сайтаsite/gear-advisor.css/site/gear-advisor.js— только для советника по экипировкеsite/season-data.js— общие треки сезона и отображение Blizzard bonus-IDsite/assets/— фавикон и изображенияserver.mjs— статическая доставка, адаптер API Blizzard и кэши в памятиmcp_server.py— официальный SDK v2 MCP поверхность, поддерживаемая тем же API персонажаDockerfile.mcp/requirements-mcp.txt— изолированный образ MCP sidecartest/— встроенный набор тестов Node.js
Related MCP server: wow-mcp
Инструменты
Советник по экипировке
Сравнивает треки улучшения экипировки сезона с вашим уровнем предметов. Передвигайте ползунок, и каждый ранг перекрашивается как улучшение, побочное улучшение или ухудшение; каждый трек также сообщает первый ранг, который превосходит вас, и сколько это стоит в гребнях.
Номера сезонов и Blizzard upgrade bonus IDs зависят от патча и находятся в одном месте:
site/season-data.js.
Поиск персонажа использует поток учетных данных клиента Blizzard сервер-сервер. Экипировка персонажа кэшируется в памяти на пять минут. Одновременные запросы одного и того же персонажа объединяются, и Refresh now может обойти обычный кэш после минутной перезарядки. Медиа-ответы Blizzard и токен OAuth имеют свои собственные более долгоживущие кэши. Выпадающие списки миров, специфичные для региона, берутся из Blizzard Realm Index API и кэшируются на один день. Селектор начинается с безопасного заполнителя и короткого списка полезных опций, заполняется во время простоя браузера и сохраняет полученный список вместе с последним региональным выбором посетителя в хранилище браузера для немедленных последующих посещений.
Текущие треки 2-го сезона определяются из bonus_list предметов Blizzard, а не выводятся
из уровня предмета. Предметы без известного бонуса текущего сезона отображаются как
legacy/unknown, в то время как особые предметы Ascendant получают явное специальное
состояние. Независимо от этого происхождения, каждый экипированный слот сравнивает свой
уровень предмета с каждым треком 2-го сезона и показывает первый ранг на этом треке,
который был бы строгим улучшением уровня предмета. Это подробное сравнение независимо
свернуто на каждой карточке предмета, так что сводка текущего пути остается основным видом.
MCP v2
Общедоступная конечная точка Streamable HTTP по адресу /mcp использует официальный
Python SDK v2 и предоставляет пять структурированных инструментов только для чтения:
get_character_equipment— возвращает те же данные персонажа, предмета, текущего пути, порога замены, времени получения и кэша, которые используются сайтом.get_character_talents— возвращает активную специализацию, дерево героя, текущие выборы талантов класса/специализации/героя и внутриигровой код импорта.get_character_profile— возвращает компактную информацию о личности и прогрессе, включая уровни предметов, очки достижений, рейтинг Mythic+ текущего сезона и лучшие забеги.get_character_achievements— возвращает итоги выполнения, очки и до 25 последних достижений без выдачи полной многотысячной истории.list_realms— возвращает ID миров Blizzard, отображаемые имена и слагги для региона, чтобы агент мог проверить входные данные поиска.
Все инструменты вызывают существующий внутренний JSON API, поэтому они разделяют его
ограничение на 60 запросов в минуту на вызывающего, пятиминутный кэш персонажей,
однодневный кэш миров, объединение запросов и перезарядку принудительного обновления.
Каждый вызов инструмента, включая ошибки валидации, вышестоящие и ограничения скорости,
записывается в виде структурированного JSON в журналы контейнера и /data/queries.jsonl.
Записи аудита включают запрос, результат, продолжительность, статус кэша, протокол/метаданные
клиента и адрес вызывающего; они никогда не содержат учетные данные Blizzard или токены
доступа. Постоянный файл создается с режимом 0640 внутри каталога состояния 0750.
Запуск локально
npm test
docker build -t wow-site .
docker run --rm --env-file /path/to/wow-site.env -p 8080:80 wow-siteЗатем откройте http://localhost:8080.
Развертывание
Продакшн описан в каноническом Compose-файле репозитория инфраструктуры по адресу
/mnt/docker/infra/config/dockerconfigs/docker-compose.yml как сервисы wow-site и
wow-site-mcp. Оба собираются из этого каталога, поэтому полное развертывание:
docker compose -p config -f /mnt/docker/infra/config/dockerconfigs/docker-compose.yml \
up -d --build wow-site wow-site-mcpTraefik маршрутизирует wow.${DOMAIN_PRIMARY} на сайт на порту 80 и отдает специфичный
для пути /mcp маршрут MCP sidecar на порт 8767.
Продакшн загружает ${MOUNT_STATE}/secrets/wow-site.env, содержащий:
BLIZZARD_CLIENT_ID=...
BLIZZARD_CLIENT_SECRET=...Необязательные переменные настройки: CHARACTER_CACHE_TTL_SECONDS (по умолчанию 300),
REFRESH_COOLDOWN_SECONDS (по умолчанию 60), MEDIA_CACHE_TTL_SECONDS (по умолчанию
86400), REALM_CACHE_TTL_SECONDS (по умолчанию 86400) и BLIZZARD_TIMEOUT_MS (по
умолчанию 10000).
Примечания
Сайт в настоящее время публичный — без аутентификации.
*.batserver.auразрешается в WAN-адрес, поэтому все, что здесь обслуживается, доступно через интернет.Публичный поиск не сохраняет и не предустанавливает личного персонажа. Постоянное состояние личного персонажа относится к зарезервированному префиксу URL
/my/, который остается пустым и может быть закрыт аутентификацией позже.robots.txtзапрещает сканирование.
This server cannot be deployed
Maintenance
Related MCP Connectors
Look up Pokémon, moves, abilities, items, natures, and type matchups from PokéAPI v2.
Manage brainCloud apps, cloud code, hooks and servers; API lookups to help generate client code.
Remote MCP for 1,500+ APIs. Vault-managed credentials; OAuth or API key. Search, load, and execute.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceProvides 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.-
- FlicenseNot gradedqualityFmaintenanceA 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.11-
- FlicenseAqualityDmaintenanceEnables AI assistants to look up World of Warcraft character information and reputation from Blizzard's Armory website.21-
- FlicenseNot gradedqualityCmaintenanceMCP 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.-