Skip to main content
Glama
bellsanct
by bellsanct

dungeon_info

Retrieve detailed information about specific dungeons in the MCP Dungeon Game, including exploration data, events, and requirements for gameplay progression.

Instructions

特定のダンジョンの詳細情報を取得します。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dungeon_idYesダンジョンのID(list_dungeonsから取得)
save_keyYesセーブキー

Implementation Reference

  • The `dungeonInfo` function retrieves and displays detailed information about a specific dungeon, including stats, enemies, bosses, and loot.
    export async function dungeonInfo(dungeonId: string, saveKey: string): Promise<string> {
      const data = await storage.load(saveKey);
      
      if (!data.player.name) {
        return "プレイヤーが見つかりません。先に'create_player'を実行してください。";
      }
    
      const dungeon = getDungeonById(dungeonId);
      
      if (!dungeon) {
        return `ダンジョン '${dungeonId}' が見つかりません。`;
      }
    
      const playerStats = calculateTotalStats(data.player.equipment);
      const actualTime = calculateDungeonTime(dungeon.baseTime, playerStats.speed);
    
      let output = `=== ${dungeon.name} ===\n\n`;
      output += `階層: ${dungeon.floors}階\n`;
      output += `推定所要時間: ${actualTime}分\n\n`;
      
      output += `出現モンスター:\n`;
      for (const enemy of dungeon.enemies) {
        output += `  ${enemy.name}\n`;
        output += `    攻撃: ${enemy.stats.attack} 防御: ${enemy.stats.defense} 速度: ${enemy.stats.speed} 運: ${enemy.stats.luck}\n`;
        output += `    ゴールド: ${enemy.goldDrop[0]}-${enemy.goldDrop[1]}\n`;
        output += `    ドロップ率: ${(enemy.equipmentDropRate * 100).toFixed(1)}%\n`;
      }
    
      output += `\nボス:\n`;
      output += `  ${dungeon.boss.name}\n`;
      output += `    攻撃: ${dungeon.boss.stats.attack} 防御: ${dungeon.boss.stats.defense} 速度: ${dungeon.boss.stats.speed} 運: ${dungeon.boss.stats.luck}\n`;
      output += `    ゴールド: ${dungeon.boss.goldDrop[0]}-${dungeon.boss.goldDrop[1]}\n`;
      output += `    ドロップ率: ${(dungeon.boss.equipmentDropRate * 100).toFixed(1)}%\n`;
    
      output += `\n入手可能な装備:\n`;
      const rarities = [...new Set(dungeon.rewardPool.map(r => r.rarity))];
      for (const rarity of rarities) {
        const items = dungeon.rewardPool.filter(r => r.rarity === rarity);
        output += `  ${rarity}: ${items.length}種類\n`;
      }
    
      return output;
    }

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/bellsanct/mcp-dungeon-game'

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