gregario/dnd-oracle

gregario/dnd-oracle

от gregario
MCP сервер для D&D 5e: поиск монстров, заклинаний и экипировки, построение встреч и анализ партии. Работает офлайн на проверенных SRD данных, никаких галлюцинаций. Полезен для мастеров и игроков: б...

dnd-oracle

D&D 5e SRD MCP server — monster search, spell lookup, encounter building, and character tools powered by ground-truth SRD data.

npm version npm downloads Node.js 18+ MCP Compatible MIT License Sponsor dnd-oracle MCP server

What It Does

Search, browse, and analyze D&D 5e System Reference Document content — no internet required, no hallucination risk. All 20 tools operate on ground-truth SRD data bundled as a SQLite database.

1,207 entities: 334 monsters, 319 spells, 237 equipment items, 239 magic items, 12 classes, 9 races, 15 conditions, 33 rule sections, 9 rollable tables.

Tools

Reference (6)
Tool Description
search_monsters Full-text search with CR, type, size, alignment filters. Returns full stat blocks.
search_spells Search by level, school, class, concentration, ritual, damage type, save type.
search_equipment Search weapons, armor, gear, and magic items. Filter by properties, rarity.
browse_classes View class features at any level. Multiclass feature combination calculator.
browse_races View race traits, ability bonuses, subraces.
search_rules Search rules text and condition references.
Инструменты были проиндексированы:
analyze_loadout

Анализирует набор снаряжения D&D 5e. Рассчитывает общий вес, общую стоимость, AC от брони/щита и статус нагрузки на основе Strength score.

Параметры
  • itemsstring[]обязательный

    Список названий предметов оборудования для анализа.

  • strength_scorenumber

    Показатель силы персонажа для расчёта переносимости.

analyze_party

Анализирует состав партии в D&D 5e. Определяет покрытие спасбросков, баланс ролей, пробелы в навыках и распространение тёмного зрения и языков.

Параметры
  • membersobject[]обязательный

    Члены партии

browse_classes

Просматривает классы из D&D 5e SRD. Выводит список всех классов, показывает особенности конкретного класса на любом уровне или рассчитывает комбинации особенностей при мультиклассировании.

Параметры
  • class_namestring

    Название конкретного класса для поиска.

  • levelinteger

    Фильтрует функции до этого уровня или ниже (1-20)

  • multiclassobject[]

    Массив комбинаций класс/уровень для расчета мультиклассовых особенностей и ячеек заклинаний.

browse_races

Просматривай расы из D&D 5e SRD. Выведи список всех рас или посмотри особенности, бонусы к характеристикам и подрасы конкретной расы.

Параметры
  • race_namestring

    Название конкретной гонки для поиска.

build_character

Формирует сводку персонажа D&D 5e. При заданных расе, классе, уровне и значениях характеристик вычисляет ОЗ, бонус мастерства, спасброски, бонусы атаки, Сл спасбросков заклинаний и перечисляет полученные особенности.

Параметры
  • ability_scoresnumber[]обязательный

    Характеристики по порядку: STR, DEX, CON, INT, WIS, CHA (до расовых бонусов)

  • class_namestringобязательный

    Название класса (например, "Fighter", "Wizard")

  • levelnumberобязательный

    Уровень персонажа (1-20)

  • race_namestringобязательный

    Название расы (например, «Эльф», «Человек»)

build_encounter

Создает сбалансированные D&D 5e встречи. Учитывая размер группы и уровень, вычисляет XP-бюджеты для каждой сложности и предлагает комбинации монстров.

Параметры
  • difficultyenum

    Целевая сложность. Если не указано, показывает бюджеты и предложения для всех сложностей.

  • monster_cr_maxnumber

    Максимальный CR монстра для рассмотрения (числовой)

  • monster_cr_minnumber

    Минимальный CR монстра для рассмотрения (числовое значение, например 0.25 для 1/4)

  • party_levelnumberобязательный

    Средний уровень партии

  • party_sizenumberобязательный

    Количество членов партии.

check_resistances

Проверяет сопротивления, иммунитеты и уязвимости для группы монстров. Создаёт сводную матрицу защиты и предупреждает о пробелах в покрытии типов урона группы.

Параметры
  • monster_namesstring[]обязательный

    Названия монстров для проверки

  • party_damage_typesstring[]

    Типы урона, которые обычно наносит ваша группа (например, ["fire", "slashng", "radiant"]). Если указаны, предупреждает о пробелах.

compare_monsters

Сравнивает 2-3 монстров D&D 5e бок о бок. Показывает AC, HP, характеристики, скорости, сопротивления, иммунитеты, действия и особые способности.

Параметры
  • monster_namesstring[]обязательный

    Названия 2-3 монстров для сравнения

magic_item_attunement

Анализирует требования к настройке (attunement) для набора магических предметов. Сообщает, какие предметы требуют настройки, любые ограничения по классу/мировоззрению, и предупреждает, если общее количество превышает лимит в 3 слота.

Параметры
  • current_attunementnumber

    Количество уже занятых слотов настройки (0-3)

  • item_namesstring[]обязательный

    Названия магических предметов для проверки

plan_adventuring_day

Планирует полный приключенческий день в D&D 5e. Рассчитывает дневной XP-бюджет, предлагает распределение сложности столкновений и рекомендует размещение коротких отдыхов.

Параметры
  • difficulty_mixenum[]

    Конкретная сложность для каждой встречи (длина должна совпадать с num_encounters). Если не указано, по умолчанию используется сбалансированная смесь.

  • num_encountersnumber

    Планируемое количество встреч.

  • party_levelnumberобязательный

    Средний уровень партии

  • party_sizenumberобязательный

    Количество членов партии.

plan_spells

Планирует заклинания для персонажа D&D 5e. Показывает доступные заклинания для класса на заданном уровне, отслеживает ячейки заклинаний, помечает конфликты концентрации, выделяет ритуалы и суммирует стоимость материальных компонентов.

Параметры
  • class_namestringобязательный

    Название класса заклинателя (например, "Wizard", "Cleric")

  • levelnumberобязательный

    Уровень персонажа (1-20)

  • prepared_spellsstring[]

    Список названий заклинаний, котоые вы планируете подготовить. Если список предоставлен, анализирует конфликты и стоимость.

  • remaining_slotsobject

    Оставшиеся ячейки заклинаний: объект, сопоставляющий уровень заклинания (строка) с количеством, например {"1": 3, "2": 1}.

rest_calculator

Показывает, что восстанавливается во время короткого отдыха по сравнению с длительным отдыхом для персонажа D&D 5e. Перечисляет все классовые ресурсы и их ритм восстановления.

Параметры
  • class_namestringобязательный

    Название класса (например, "Fighter", "Wizard")

  • levelnumberобязательный

    Уровень персонажа (1-20)

roll_table

Выполняет бросок по таблицам случайных результатов D&D 5e SRD (безумие, яды, болезни, черты характера) или просматривает их. Используйте table_name "list", чтобы увидеть все доступные таблицы, или укажите конкретное имя таблицы с необязательным результатом броска.

Параметры
  • rollnumber

    Конкретный результат броска кости. Если не указан, показывает полную таблицу.

  • table_namestringобязательный

    Название таблицы (например, "Short-Term Madness", "Poisons") или "list" для просмотра всех таблиц

search_equipment

Ищет снаряжение, оружие, броню и магические предметы из D&D 5e SRD. Фильтрует по категории, стоимости, весу, свойствам оружия, типу брони или редкости.

Параметры
  • armor_categorystring

    Категория брони (например, «Лёгкая», «Средняя», «Тяжёлая», «Щит»)

  • categorystring

    Категория снаряжения (например, "Weapon", "Armor", "Adventuring Gear", "Tools")

  • cost_maxnumber

    Максимальная стоимость в золотых монетах.

  • cost_minnumber

    Минимальная стоимость в золотых монетах.

  • limitnumber

    Результатов на странице (максимум 25)

  • offsetnumber

    Смещение для пагинации

  • querystring

    Поисковый запрос по названию или описанию элемента

  • raritystring

    Редкость магического предмета (например, "обычный", "необычный", "редкий", "очень редкий", "легендарный")

  • weapon_propertystring

    Свойство оружия (например, «фехтовальное», «тяжёлое», «двуручное», «универсальное»)

  • weight_maxnumber

    Максимальный вес в фунтах.

search_monsters

Ищет монстров из D&D 5e SRD по имени, CR, типу, размеру или мировоззрению. Возвращает полные блоки характеристик.

Параметры
  • alignmentstring

    Мировоззрение (например, «хаотично-злой», «нейтральный»)

  • crstring

    Точный показатель опасности (например, "1/4", "5")

  • cr_maxnumber

    Максимальный рейтинг сложности (числовой)

  • cr_minnumber

    Минимальный показатель опасности (числовое значение, например 0.25 для 1/4)

  • limitnumber

    Результатов на странице (максимум 25)

  • offsetnumber

    Смещение для пагинации

  • querystring

    Поисковый запрос по имени или описанию монстра

  • sizestring

    Категория размера (Крошечный, Маленький, Средний, Большой, Огромный, Гигантский)

  • typestring

    Тип монстра (например, «зверь», «нежить», «дракон»)

search_rules

Ищет правила и состояния D&D 5e SRD. Находит конкретные состояния или выполняет поиск по тексту правил.

Параметры
  • condition_namestring

    Название конкретного условия для поиска

  • querystring

    Полнотекстовый поисковый запрос для правил.

search_spells

Ищет заклинания D&D 5e SRD по имени, уровню, школе, классу, концентрации, ритуалу, компонентам, типу урона или типу спасброска.

Параметры
  • class_namestring

    Класс, владеющий заклинаниями (например, «Волшебник», «Жрец»).

  • concentrationboolean

    Фильтрует по требованию к концентрации.

  • damage_typestring

    Тип урона (например, "fire", "necrotic", "radiant")

  • has_materialboolean

    Фильтрует по требованию материального компонента.

  • levelnumber

    Уровень заклинания (0 для заговоров, 1-9 для заклинаний с уровнем)

  • limitnumber

    Результатов на странице (максимум 25)

  • offsetnumber

    Смещение для пагинации

  • querystring

    Поисковый запрос для названия или описания заклинания.

  • ritualboolean

    Фильтрует по ритуальному сотворению.

  • save_typestring

    Тип спасброска (например, "DEX", "WIS", "CON")

  • schoolstring

    Школа магии (например, "evocation", "necromancy")

simulate_damage

Вычисляет средний урон за раунд (DPR) для последовательности атак. Вычисляет вероятность попадания, шанс критического удара, средний урон и количество раундов до убийства.

Параметры
  • advantageboolean

    Имеют ли атаки преимущество?

  • attack_bonusnumberобязательный

    Модификатор броска атаки (например, +7)

  • crit_rangenumber

    Минимальный бросок для критического попадания (по умолчанию 20)

  • damage_dicestringобязательный

    Обозначение костей урона (например, «2d6+5», «1d8+3»).

  • disadvantageboolean

    Имеют ли атаки помеху

  • num_attacksnumber

    Количество атак за раунд

  • target_acnumberобязательный

    Целевой класс брони

  • target_hpnumber

    Очки здоровья цели (для расчёта ходов до убийства)

suggest_encounter

Предлагает тактически интересные составы встреч для D&D 5e. Выходит за рамки математики опыта, чтобы рекомендовать синергию монстров, комбинации ролей и тактические заметки.

Параметры
  • difficultyenum

    Целевая сложность

  • num_suggestionsnumber

    Количество вариантов встреч

  • party_levelnumberобязательный

    Средний уровень партии

  • party_sizenumberобязательный

    Количество членов партии.

  • themestring

    Необязательный фильтр по теме (например, «нежить», «лес», «подземелье», «засада», «ужас»).

travel_calculator

Вычисляет время путешествия по суше в D&D 5e, эффекты темпа и последствия форсированного марша. Использует правила путешествий SRD для темпа, местности и истощения.

Параметры
  • distance_milesnumberобязательный

    Расстояние, которое нужно преодолеть, в милях.

  • hours_per_daynumber

    Часы в пути в день (форсированный марш более 8)

  • mountedboolean

    Находится ли отряд верхом (галоп доступен в течение 1 часа)

  • paceenum

    Скорость путешествия

  • terrainenum

    Тип местности (труднопроходимая местность уменьшает скорость вдвое)

0.2.4основная
0.2.3
0.2.2
0.2.1
0.2.0
0.1.2
0.1.1
0.1.0

Выберите клиент, чтобы установить gregario/dnd-oracle:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "gregario-dnd-oracle-zyo2owgy8r": {
      "command": "npx",
      "args": [
        "-y",
        "dnd-oracle"
      ]
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "gregario-dnd-oracle-zyo2owgy8r": {
      "command": "npx",
      "args": [
        "-y",
        "dnd-oracle"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "gregario-dnd-oracle-zyo2owgy8r": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "dnd-oracle"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"gregario-dnd-oracle-zyo2owgy8r\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"dnd-oracle\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "gregario-dnd-oracle-zyo2owgy8r": {
      "command": "npx",
      "args": [
        "-y",
        "dnd-oracle"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add gregario-dnd-oracle-zyo2owgy8r -- npx -y dnd-oracle

Либо через JSON-конфиг:

claude mcp add-json gregario-dnd-oracle-zyo2owgy8r "{\"command\":\"npx\",\"args\":[\"-y\",\"dnd-oracle\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add gregario-dnd-oracle-zyo2owgy8r -- npx -y dnd-oracle

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.gregario-dnd-oracle-zyo2owgy8r]
command = "npx"
args = ["-y", "dnd-oracle"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите gregario/dnd-oracle, а в поле команды запуска — строку ниже:
npx -y dnd-oracle

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "gregario-dnd-oracle-zyo2owgy8r": {
      "command": "npx",
      "args": [
        "-y",
        "dnd-oracle"
      ]
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "gregario-dnd-oracle-zyo2owgy8r": {
      "command": "npx",
      "args": [
        "-y",
        "dnd-oracle"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например gregario-dnd-oracle-zyo2owgy8r.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: gregario-dnd-oracle-zyo2owgy8r
    command: npx
    args:
      - "-y"
      - "dnd-oracle"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "gregario-dnd-oracle-zyo2owgy8r": {
      "command": "npx",
      "args": [
        "-y",
        "dnd-oracle"
      ]
    }
  }
}

Похожие MCP-сервера

gregario/lorcana-oracle

gregario/lorcana-oracle

от gregario

MCP сервер для поиска карт, анализа колод и обзора франшиз в Disney Lorcana TCG. Полезен коллекционерам и игрокам: ищет карты по параметрам, анализирует распределение чернил и генерацию знаний. Работает на данных LorcanaJSON без API ключей.

TypeScript⭐ 4
jiayao/mcp-chess

jiayao/mcp-chess

от jiayao

MCP-сервер для игры в шахматы с любой языковой моделью. Включает визуализацию доски, ходы в SAN, список допустимых ходов и поиск позиции в PGN по условию. Полезен для обучения и анализа партий.

Python⭐ 24
gregario/mtg-oracle

gregario/mtg-oracle

от gregario

MCP сервер для Magic: The Gathering с 14 инструментами: поиск карт, правил, анализ колод, комбо и синергии. Работает офлайн на SQLite - отличный помощник для AI ассистентов, глубоко понимающих MTG.

TypeScript⭐ 4
gregario/onepiece-oracle

gregario/onepiece-oracle

от gregario

MCP-сервер для поиска и анализа карт One Piece TCG: ищи карты по тексту, цвету, типу, редкости и сети, анализируй колоду по стоимости и цветам, просматривай всех лидеров и варианты изданий. Инструмент включает поиск контр-карт для защиты. 4348 карт — полезен для построения колод и коллекционирова...

TypeScript⭐ 2
hkaanengin/opendota-mcp-server

hkaanengin/opendota-mcp-server

от hkaanengin

MCP сервер для доступа к OpenDota API: 20+ инструментов для запроса статистики игроков, данных матчей и информации о героях Dota 2. Полезен геймерам и аналитикам, поддерживает нечёткий поиск имён г...

Python⭐ 5
gregario/tft-oracle

gregario/tft-oracle

от gregario

tft-oracle — MCP сервер с точными данными Teamfight Tactics: чемпионы, черты, предметы и усиления. Данные из CommunityDragon обновляются автоматически, предотвращая галлюцинации LLM. Полезен для AI...

TypeScript⭐ 1
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин