Vizier Yu-Gi-Oh! MCP
Vizier Yu-Gi-Oh! MCP
Сервер Model Context Protocol для данных карт Yu-Gi-Oh!: карты, цены, издания, бан-листы (исторические и кросс-форматные), официальные рулинги, полный свод правил, связи карт и инструменты для колод. Всё работает локально из единой базы данных SQLite со встроенным векторным поиском — без сетевых вызовов во время запросов.
Возможности
Карты: поиск по точному id или нечёткому совпадению имени, поиск по ключевым словам с фильтрами по типу/ATK, семантический (векторный) поиск по описанию эффекта, перечень архетипов.
Цены и издания: актуальные рыночные цены (cardmarket / tcgplayer / ebay / amazon), полная история изданий с редкостями и ценами.
Бан-листы: снапшоты для
tcg,ocg,ocg-ae,ocg-cn,master-duel,rush,genesys,ocg-genesys,goat,edison; статус каждой карты во всех форматах, исторические различия между снапшотами.Правила и рулинги: семантический поиск по официальному Полному своду правил (380 разделов) и по более чем 2 650 официальным рулингам OCG; поиск рулинга для конкретной карты с запасным вариантом прямой загрузки.
Связи: связи поиск/призыв/уничтожение/выбор цели, извлечённые из текста карт, требования материалов Fusion/Synchro/Xyz/Link/Ritual, обратные запросы, определение поддержки архетипа.
Колоды: проверка списка колоды на соответствие бан-листу формата, анализ состава основной и дополнительной колоды, сочетание архетипов.
Related MCP server: Scryfall MCP Server
Требования
Python 3.11+
~1 ГБ на диске для загрузки модели; готовая база данных — ~75 МБ
~2 ГБ ОЗУ во время загрузки(embedding-модель); при запросах — значительно меньше
Путь к базе данных и каталог данных можно задать через переменные окружения VIZIER_DB_PATH и VIZIER_DATA_DIR (по умолчанию — <package root>/data/).
Установка
python -m venv .venv
source .venv/bin/activate
pip install -e .Сборка базы данных
При сборке кэшированные данные API (data/cache/) и эталонные проекты (ref/, policy/) объединяются в data/vizier.db. Для сборки не требуется сеть, если не указан параметр --fetch.
# full build including embeddings (slow: ~15-20 min CPU for 17.6k vectors)
python scripts/build_db.py
# faster variants
python scripts/build_db.py --no-embed # skip vector embeddings (no semantic search)
python scripts/build_db.py --skip-cards # skip card ingestion, re-embed only
python scripts/build_db.py --fetch # download fresh API payloads firstПараметр --fetch загружает выгрузку карт с YGOPRODeck. Обратите внимание: в настоящее время живой API возвращает HTTP 403, поэтому кэшированная выгрузка в data/cache/ является источником. Если API недоступен, сборка используется в какие данные.
Запуск сервера
python -m vizier_mcpСервер общается через MCP по протоколу stdio. Также доступна консольный вариант:
vizier-mcpНастройка клиента
Укажите любому MCP-клиенту установленную команду. Имя сервера — vizier-yugioh.
Claude Desktop / Claude Code
{
"mcpServers": {
"vizier-yugioh": {
"command": "/path/to/.venv/bin/python",
"args": ["-m", "vizier_mcp"]
}
}
}Универсальные клиенты
{
"mcpServers": {
"vizier-yugioh": {
"command": "/path/to/.venv/bin/vizier-mcp",
"args": []
}
}
}Используйте абсолютные пути к виртуальному окружению. Путь к базе данных определяется относительно расположения пакета (или из VIZIER_DB_PATH), а не текущей рабочей директории.
Инструменты
Инструмент | Описание |
| Одна карта по имени (нечёткое) или id: строка типа, характеристики, эффект, бан-статус по каждому формату, цены |
| Поиск по ключевым словам в именах/типах/архетипах/тексте эффекта с фильтрами |
| Векторный поиск по естественно-языковому описанию функции карты |
| Все карты архетипа / серии |
| Рыночные цены (cardmarket/tcgplayer/ebay) + самое дешёвое издание |
| Полная история изданий: наборы, редкости, издания, цены |
| Полный снапшот бан-листа для формата и даты |
| Статус одной карты в бан-листе во всех форматах + история |
| Даты доступных снапшотов бан-листа для формата |
| Разница двух снапшотов: карты, перемещённые между «Запрещено»/«Ограничено»/«Полуограничено» |
| Какие форматы имеют данными по бан-листам |
| Семантический поиск по официальному Полному своду правил |
| Официальные рулинги OCG (Q&A) для одной карты, fallback к живой загрузке |
| Семантический поиск по полному корпусу рулингов |
| Другие карты, связанные по эффекту: ищут, вызывают, уничтожают, выбирают целью, материалы |
| Что карта может искать/добавлять из колоды или кладбища |
| Что карта может призвать / Специально призвать |
| Обратный поиск: какие карты ищут эту карту |
| Обратный поиск: какие карты вызывают эту карту |
| Fusion/Synchro/Xyz/Link/Ritual: требования материалов |
| Обратный поиск: монстры, использующие эту карту в качестве материала |
| Карты поддержки, в тексте которых назван архетип |
| Встроенный план по созданию комбо: точная процедура создания цепочек с BFS-обходом (bast-step process) |
| Исчерпывающий комбо-профиль одной карты: призыв, вид каждого эффекта/ограничений/действий, локи, ссвязи, материалы, материалы для кого |
| Каждый Fusion/Synchro/Xyz/Link/Ritual призыв, достижимый с текущего поля (максимально проверка материалов) |
| КАЖДЫЙ легальный следующий ход с текущего поля: все призывы из базовой колоды, действия чем из колоды, эффекты поиска/добора с ранжированными целями, диапазон Pendulum, активные/отложенные блокировки. Без архети-привязки |
| Ограниченный поиск в ширину по состояниям поля: полные много шаговые линии от текущего поля до цели ( |
| Проверка списка колоды на соответствие бан-листу формата |
| Разбор колоды: количество main/extra, соотношение архетипов, детали по каждой карте |
| Обзор всех инструментов и ресурсов |
| Какие данные выгружены: количество записей, время построения, форматы |
Примеры filter_type: monster, spell, trap, effect, fusion, link, pendulum, tuner, normal monster, normal spell, quick-play, counter trap, equip, field, ritual. Многословные фильтры соответствуют точному подтипу.
Создание комбо
Сервер поставляется с встроенным плейбуком построения комбо ('combo-creation playbook'), который превращает построение линии в детерминированный процесс BFS-обхода: перечислите каждое возможное действие, расширьте, углубляйте, оставляйте подходящее, записывайте, повторяйте..
combo_guide()— загружает плейбук (также доступен какcombo-сценарий). В нём задаётся JSON-схема состояний комбо, протокол из 6 шагов, пошаговый алгоритм, перечисления check-листов для каждой карты, роутинг инструментов, дисциплина OPT (hard/soft), определение локов и критерии завершения.card_combo_profile()— для любой карты, которую вы рассматриваете: варианты призыва (нормальный/ритуальный/призыв для ррения/сам-спец-призыв), каждый эффект с типом активации + одноразовым статусом и глаголом действия, фразы с ограничениями/блокировками, полный граф связей (искание/призывов/уничтожений/целей/материалов), материалы, которые он требует, и монстров, материалом для которых он может быть (персональных + архетипные).board_options()— один вызов, который возвращает КАЖДЫЙ легальный следующий ход с текущего поля, архетип-независимо: все призывы из теверсидной пулы (~2 3,2× оборот, не только архетип колоды), все действия монстра из руки (обычные призывы / сам-специального призыв / pendulum), все эффекты поиска/добавления с их контрольными целями, а также диапазон Pendulum и активный/ожидающий локов. Это инструмент против сужения. /Это точно не?line_search()— серверный ограниченный поиск в ширину по состоянием поля от текущего поля до цели (field_levels,field_count,no_locks,reach_field,reach_hand). Возвращает полные многоходовые линии, поэтому модель планирует на несколько шагов вперёд, а не по одному шагу.extra_deck_options()— вставить ваше текущее поле (плюс hand/граveyard/extra deck и формат) и получить каждого монстра Fusion/Synchro, чьи требования материалов выполнимы, с точным вычислением материалов для каждого кандидата.
Пример — два монстра Level 4 D/D на поле:
extra_deck_options(field=["D/D Savant Copernicus", "D/D Ark"], summon_types="xyz")
→ options include D/D/D Wise King Solomon ("2 Level 4 D/D monsters")Предварительные проверки материалов сверяются по всей оценочной граф; перед окончательным подтверждением сложных кандидатов обращайтесь к get_card_materials.
Ресурсы
URI | Описание |
| Краткая сводка по карте в виде текста |
| Последний снимок бан-листа для формата в виде текста |
| Основные разделы правил по вопросу (семантический поиск) |
URL-кодируйте параметры ресурса, содержащие пробелы (rules://damage%20step).
Структура базы данных
data/vizier.db — SQLite с расширением sqlite-vec. Ключевые таблицы:
cards— по одной строке на карту с вычисленными флагами типа (is_monster,is_quickplay_spell, ...)card_sets,card_prices— издания и рыночные ценыcard_ban_status,banlist_history— текущий статус по форматам + исторические снимкиrelations— связи эффектов между картами с типамиrulebook_chunks,rulings— тексты правил и рулинговcard_vec,rule_vec,ruling_vec— таблицы эмбеддингов для семантического поискаmeta— время сборки и счётчики
Источники данных
Карты / цены / бан-листы: YGOPRODeck bulk API (кэшируется в
data/cache/)Правила: официальный Comprehensive Rulebook (
ref/yugioh_comprehensive_rulebook/)Рулинги: официальный список Q&A по рулингам OCG + запасной вариант YGOPEDIA
Политика: документы турнирной политики (
policy/)
Тесты
python -m pytest tests/ -qЗапускает 32 смоук-теста против внутрипроцессного клиента сервера, покрывая каждый инструмент и ресурс.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for querying Forkast documentation
Official remote MCP server for Archivist AI TTRPG campaign memory: characters, sessions, and more.
- mcpOAuthcom.gibsonai
GibsonAI MCP server: manage your databases with natural language
Related MCP Servers
- AlicenseAqualityDmaintenanceA Pokemon TCG MCP server that looks up graded cards, manages a local SQLite collection, queries pricing providers, tracks a watchlist with target prices, and snapshots PSA pop counts for trend analysis.331MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for searching and retrieving Magic: The Gathering card information via the Scryfall API, with support for field presets, multiple output formats, and automatic rate limiting.41,705 npmMIT
- AlicenseAqualityAmaintenanceAn MCP server for searching and aggregating Disney Lorcana cards, enabling card lookup, deck building, and statistical analysis.1030 PyPI1MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that searches and retrieves Magic: The Gathering card data from the Scryfall API.41,705 npmMIT