이 MCP로 할 수 있는 일
Provides searchable Tibia game data for creatures, items, NPCs, quests, spells, houses, travel, updates, loot, and item sales.
도구
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'sort': {'enum': ['experience', 'hitpoints', 'title', 'gold_per_kill'], 'type': 'string', 'default': 'experience', 'description': 'experience, hitpoints and gold_per_kill: highest first.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'cursor': {'type': 'string'}, 'is_boss': {'type': 'boolean'}, 'weak_to': {'type': 'array', 'items': {'enum': ['physical', 'earth', 'fire', 'ice', 'energy', 'death', 'holy', 'drown', 'lifedrain', 'healing'], 'type': 'string'}, 'description': 'Elements the creature takes extra damage from.'}, 'pushable': {'type': 'boolean'}, 'summonable': {'type': 'boolean', 'description': 'true: summon cost above 0. false: 0.'}, 'paralysable': {'type': 'boolean'}, 'convinceable': {'type': 'boolean', 'description': 'true: convince cost above 0. false: 0.'}, 'resistant_to': {'type': 'array', 'items': {'enum': ['physical', 'earth', 'fire', 'ice', 'energy', 'death', 'holy', 'drown', 'lifedrain', 'healing'], 'type': 'string'}}, 'hitpoints_max': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Creatures whose hitpoints are unrecorded are excluded from this filter.'}, 'hitpoints_min': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Creatures whose hitpoints are unrecorded are excluded from this filter.'}, 'bestiary_class': {'type': 'string', 'description': 'e.g. "Dragon", "Human".'}, 'bestiary_level': {'enum': ['harmless', 'trivial', 'easy', 'medium', 'hard', 'challenging'], 'type': 'string', 'description': 'Creatures with no recorded bestiary level are excluded from this filter.'}, 'experience_max': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'experience_min': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'sees_invisible': {'type': 'boolean'}, 'include_inactive': {'type': 'boolean', 'default': False}, 'location_contains': {'type': 'string', 'description': 'Substring of the location text.'}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['results', 'totalMatches', 'indexGeneratedAt'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'name', 'hitpoints', 'experience', 'bestiaryClass', 'isBoss', 'modifiers', 'runsAt', 'seesInvisible', 'paralysable', 'pushable', 'summonCost', 'convinceCost', 'goldPerKill', 'raceId'], 'properties': {'name': {'type': ['string', 'null'], 'description': 'Name as the game prints it.'}, 'title': {'type': 'string'}, 'isBoss': {'type': 'boolean'}, 'raceId': {'type': ['number', 'null'], 'description': 'Tibia client race ID, not unique: some creatures share one, such as boss phases. null: the wiki records none.'}, 'runsAt': {'type': ['number', 'null'], 'description': 'Hit points at which it flees. 0: never flees.'}, 'pushable': {'type': ['boolean', 'null']}, 'hitpoints': {'type': ['number', 'null']}, 'modifiers': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['number', 'null']}}, 'experience': {'type': ['number', 'null']}, 'summonCost': {'type': ['number', 'null'], 'description': 'Mana. 0: cannot be summoned.'}, 'goldPerKill': {'type': ['number', 'null'], 'description': 'Estimated gross loot value at NPC prices. Drops without a recorded chance are left out, and items that sell only on the market count as 0.'}, 'paralysable': {'type': ['boolean', 'null']}, 'convinceCost': {'type': ['number', 'null'], 'description': 'Mana. 0: cannot be convinced.'}, 'bestiaryClass': {'type': ['string', 'null']}, 'seesInvisible': {'type': ['boolean', 'null']}}, 'additionalProperties': False}}, 'nextCursor': {'type': 'string'}, 'totalMatches': {'type': 'number'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'city': {'type': 'string', 'minLength': 1, 'description': 'Exact city name, e.g. "Thais", any case.'}, 'sort': {'enum': ['rent', 'size', 'title'], 'type': 'string', 'default': 'rent', 'description': 'rent ascends, size descends, title is alphabetical.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'cursor': {'type': 'string'}, 'beds_min': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'rent_max': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Highest monthly rent in gold.'}, 'size_min': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Fewest tiles.'}, 'is_guildhall': {'type': 'boolean'}, 'include_inactive': {'type': 'boolean', 'default': False}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['results', 'totalMatches', 'indexGeneratedAt'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'city', 'street', 'rent', 'beds', 'size', 'rooms', 'floors', 'isGuildhall'], 'properties': {'beds': {'type': ['number', 'null']}, 'city': {'type': 'string'}, 'rent': {'type': ['number', 'null']}, 'size': {'type': ['number', 'null']}, 'rooms': {'type': ['number', 'null']}, 'title': {'type': 'string'}, 'floors': {'type': ['number', 'null']}, 'street': {'type': ['string', 'null']}, 'isGuildhall': {'type': ['boolean', 'null']}}, 'additionalProperties': False}}, 'nextCursor': {'type': 'string'}, 'totalMatches': {'type': 'number'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'sort': {'enum': ['title', 'weight', 'value', 'armor', 'attack', 'defense'], 'type': 'string', 'default': 'title', 'description': 'weight ascends, armor, attack and defense descend, title is alphabetical. value descends by NPC gold price, and prices in other currencies come last.'}, 'hands': {'enum': ['one', 'two'], 'type': 'string'}, 'leech': {'type': 'array', 'items': {'enum': ['life', 'mana'], 'type': 'string'}, 'description': 'Leeches everything listed.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'cursor': {'type': 'string'}, 'vocation': {'type': 'string', 'description': 'Matches required_vocation, e.g. "knight".'}, 'armor_min': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'item_type': {'type': 'string', 'description': 'e.g. "Sword Weapons".'}, 'attack_max': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'attack_min': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'client_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'maxItems': 100, 'minItems': 1, 'description': "The item's client ID, any listed. Item variants can share one."}, 'item_class': {'type': 'string', 'description': 'e.g. "Weapons", "Armors".'}, 'weight_max': {'type': 'number', 'description': 'In oz. Items without a weight never match.'}, 'damage_type': {'enum': ['death', 'earth', 'energy', 'fire', 'holy', 'ice', 'physical'], 'type': 'string', 'description': 'Weapon element.'}, 'defense_min': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'skill_bonus': {'type': 'array', 'items': {'enum': ['magic_level', 'sword', 'axe', 'club', 'distance', 'fist', 'shielding'], 'type': 'string'}, 'description': 'Raises every listed skill.'}, 'weapon_type': {'type': 'string', 'description': 'e.g. "Sword", "Axe", "Club".'}, 'is_stackable': {'type': 'boolean'}, 'resistant_to': {'type': 'array', 'items': {'enum': ['physical', 'earth', 'fire', 'ice', 'energy', 'death', 'holy', 'drown', 'lifedrain', 'manadrain', 'critical_hit'], 'type': 'string'}, 'description': 'Resists everything listed (resistance above 0).'}, 'is_pickupable': {'type': 'boolean'}, 'include_inactive': {'type': 'boolean', 'default': False}, 'required_level_max': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'imbuement_slots_min': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['results', 'totalMatches', 'indexGeneratedAt'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'actualName', 'itemClass', 'itemType', 'weight', 'valueBuy', 'valueBuyCurrency', 'clientId', 'isStackable', 'isPickupable', 'attributes'], 'properties': {'title': {'type': 'string'}, 'weight': {'type': ['number', 'null']}, 'clientId': {'type': ['number', 'null']}, 'itemType': {'type': ['string', 'null']}, 'valueBuy': {'type': ['number', 'null']}, 'itemClass': {'type': ['string', 'null']}, 'actualName': {'type': ['string', 'null'], 'description': 'Name as the game prints it.'}, 'attributes': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number']}}, 'isStackable': {'type': ['boolean', 'null']}, 'isPickupable': {'type': ['boolean', 'null']}, 'valueBuyCurrency': {'type': ['string', 'null'], 'description': 'Currency of the price beside it, as the wiki names it, e.g. Gold Coin, Tibia Coins or Event Points. null when there is no price.'}}, 'additionalProperties': False}}, 'nextCursor': {'type': 'string'}, 'totalMatches': {'type': 'number'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'sort': {'enum': ['level_recommended', 'level_required', 'title'], 'type': 'string', 'default': 'level_recommended', 'description': 'Levels ascend, title is alphabetical. Unknown levels come last.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'cursor': {'type': 'string'}, 'level_max': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Highest level the character has. Quests with no level requirement always match.'}, 'is_premium': {'type': 'boolean'}, 'is_rookgaard': {'type': 'boolean'}, 'include_inactive': {'type': 'boolean', 'default': False}, 'location_contains': {'type': 'string', 'minLength': 1, 'description': 'Literal substring of the location, case-insensitive.'}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['results', 'totalMatches', 'indexGeneratedAt'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'location', 'levelRequired', 'levelRecommended', 'isPremium', 'estimatedTime', 'rewards'], 'properties': {'title': {'type': 'string'}, 'rewards': {'type': 'array', 'items': {'type': 'string'}}, 'location': {'type': ['string', 'null']}, 'isPremium': {'type': ['boolean', 'null']}, 'estimatedTime': {'type': ['string', 'null']}, 'levelRequired': {'type': ['number', 'null']}, 'levelRecommended': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'nextCursor': {'type': 'string'}, 'totalMatches': {'type': 'number'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'sort': {'enum': ['level', 'mana', 'title'], 'type': 'string', 'default': 'level', 'description': 'level and mana ascend, title is alphabetical. Spells with a variable cost (party spells) store mana 0, so they come first by mana.'}, 'group': {'enum': ['attack', 'healing', 'support', 'conjure'], 'type': 'string', 'description': 'Runes are all filed under support, so find attack runes by spell_type and element.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'cursor': {'type': 'string'}, 'element': {'enum': ['death', 'earth', 'energy', 'fire', 'holy', 'ice', 'physical'], 'type': 'string', 'description': 'Damage element. For healing spells, use group.'}, 'vocation': {'enum': ['knight', 'sorcerer', 'druid', 'paladin', 'monk'], 'type': 'string'}, 'level_max': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Highest level the caster has.'}, 'is_premium': {'type': 'boolean'}, 'spell_type': {'enum': ['instant', 'rune'], 'type': 'string'}, 'include_inactive': {'type': 'boolean', 'default': False}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['results', 'totalMatches', 'indexGeneratedAt'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'words', 'spellType', 'group', 'element', 'level', 'mana', 'vocations', 'isPremium', 'isPromotion'], 'properties': {'mana': {'type': ['number', 'null']}, 'group': {'type': ['string', 'null']}, 'level': {'type': ['number', 'null']}, 'title': {'type': 'string'}, 'words': {'type': ['string', 'null']}, 'element': {'type': ['string', 'null']}, 'isPremium': {'type': ['boolean', 'null']}, 'spellType': {'type': ['string', 'null']}, 'vocations': {'type': 'array', 'items': {'enum': ['knight', 'sorcerer', 'druid', 'paladin', 'monk'], 'type': 'string'}}, 'isPromotion': {'type': ['boolean', 'null']}}, 'additionalProperties': False}}, 'nextCursor': {'type': 'string'}, 'totalMatches': {'type': 'number'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'to': {'type': 'string', 'minLength': 1, 'description': 'Exact destination, e.g. "Svargrond", any case.'}, 'from': {'type': 'string', 'minLength': 1, 'description': 'Exact start place of the leg, e.g. "Meriana", any case.'}, 'sort': {'enum': ['price', 'npc'], 'type': 'string', 'default': 'price', 'description': 'price ascends with 0 fares last, npc is alphabetical.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'cursor': {'type': 'string'}, 'include_inactive': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['results', 'totalMatches', 'indexGeneratedAt'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['npc', 'city', 'subarea', 'location', 'position', 'to', 'origin', 'price', 'notes'], 'properties': {'to': {'type': 'string'}, 'npc': {'type': 'string'}, 'city': {'type': ['string', 'null']}, 'notes': {'type': ['string', 'null']}, 'price': {'type': ['number', 'null'], 'description': 'Route price in gold. 0: free or not recorded, see notes.'}, 'origin': {'type': ['string', 'null'], 'description': "Where the leg starts. null: not recorded, it starts at one of the NPC's positions."}, 'subarea': {'type': ['string', 'null']}, 'location': {'type': ['string', 'null']}, 'position': {'type': 'object', 'required': ['x', 'y', 'z'], 'properties': {'x': {'type': ['number', 'null']}, 'y': {'type': ['number', 'null']}, 'z': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'nextCursor': {'type': 'string'}, 'totalMatches': {'type': 'number'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'text': {'type': 'string', 'minLength': 1, 'description': 'Literal substring, e.g. "knight".'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1}, 'cursor': {'type': 'string'}, 'released_after': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'YYYY-MM-DD, inclusive.'}, 'released_before': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'YYYY-MM-DD, inclusive.'}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['results', 'totalMatches', 'indexGeneratedAt'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'name', 'releaseDate', 'version', 'updateType', 'summary', 'matchingLines'], 'properties': {'name': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'summary': {'type': ['string', 'null']}, 'version': {'type': ['string', 'null']}, 'updateType': {'type': ['string', 'null']}, 'releaseDate': {'type': ['string', 'null']}, 'matchingLines': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'nextCursor': {'type': 'string'}, 'totalMatches': {'type': 'number'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': 'Page name, e.g. "Dragon Lord". Case-insensitive.'}, 'type': {'enum': ['creature', 'item', 'npc', 'quest', 'spell', 'achievement', 'house', 'imbuement', 'charm', 'mount', 'outfit', 'book', 'world', 'update'], 'type': 'string', 'description': 'Restrict the lookup to one kind of page.'}, 'verbosity': {'enum': ['concise', 'detailed'], 'type': 'string', 'default': 'concise', 'description': '"detailed" adds extra descriptive columns.'}, 'include_inactive': {'type': 'boolean', 'default': False, 'description': 'Include deprecated, event-only and unavailable pages. Applies to the requested page and to the NPCs or items in its trade lists.'}}}
출력 스키마
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['type', 'image', 'title', 'name', 'plural', 'article', 'hitpoints', 'experience', 'armor', 'speed', 'bestiaryClass', 'bestiaryLevel', 'isBoss', 'status', 'runsAt', 'seesInvisible', 'paralysable', 'pushable', 'pushObjects', 'illusionable', 'summonCost', 'convinceCost', 'goldPerKill', 'raceId', 'modifiers', 'loot', 'abilities', 'maxDamage', 'sounds', 'source'], 'properties': {'loot': {'type': 'array', 'items': {'type': 'object', 'required': ['item', 'chance', 'min', 'max'], 'properties': {'max': {'type': ['number', 'null']}, 'min': {'type': ['number', 'null']}, 'item': {'type': 'string'}, 'chance': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'name': {'type': ['string', 'null'], 'description': 'Name as the game prints it.'}, 'type': {'type': 'string', 'const': 'creature'}, 'armor': {'type': ['number', 'null']}, 'image': {'anyOf': [{'type': 'object', 'required': ['fileName', 'url', 'descriptionUrl', 'width', 'height', 'mimeType'], 'properties': {'url': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'fileName': {'type': 'string'}, 'mimeType': {'type': 'string'}, 'descriptionUrl': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Sprite image link. Dimensions are pixels, not map squares.'}, 'speed': {'type': ['number', 'null']}, 'title': {'type': 'string'}, 'detail': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number', 'null']}}, 'isBoss': {'type': 'boolean'}, 'plural': {'type': ['string', 'null'], 'description': 'Plural as the game prints it.'}, 'raceId': {'type': ['number', 'null'], 'description': 'Tibia client race ID, not unique: some creatures share one, such as boss phases. null: the wiki records none.'}, 'runsAt': {'type': ['number', 'null'], 'description': 'Hit points at which it flees. 0: never flees.'}, 'sounds': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'object', 'required': ['page', 'url', 'indexGeneratedAt'], 'properties': {'url': {'type': 'string'}, 'page': {'type': 'string'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}, 'status': {'type': ['string', 'null']}, 'article': {'type': ['string', 'null'], 'description': 'Article the game prints before the name. Null: none, as for bosses.'}, 'pushable': {'type': ['boolean', 'null']}, 'abilities': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'effect', 'element', 'area'], 'properties': {'area': {'anyOf': [{'type': 'object', 'required': ['key', 'width', 'height', 'cells', 'ascii', 'effectTiles', 'effectOnCaster'], 'properties': {'key': {'type': 'string'}, 'ascii': {'type': 'string'}, 'cells': {'type': 'array', 'items': {'type': 'number'}}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'effectTiles': {'type': 'number'}, 'effectOnCaster': {'type': 'boolean'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'name': {'type': 'string'}, 'effect': {'type': ['string', 'null']}, 'element': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'hitpoints': {'type': ['number', 'null']}, 'maxDamage': {'anyOf': [{'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['number', 'null']}}, {'type': 'null'}]}, 'modifiers': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['number', 'null']}}, 'experience': {'type': ['number', 'null']}, 'summonCost': {'type': ['number', 'null'], 'description': 'Mana. 0: cannot be summoned.'}, 'goldPerKill': {'type': ['number', 'null'], 'description': 'Estimated gross loot value at NPC prices. Drops without a recorded chance are left out, and items that sell only on the market count as 0.'}, 'paralysable': {'type': ['boolean', 'null']}, 'pushObjects': {'type': ['boolean', 'null']}, 'convinceCost': {'type': ['number', 'null'], 'description': 'Mana. 0: cannot be convinced.'}, 'illusionable': {'type': ['boolean', 'null']}, 'bestiaryClass': {'type': ['string', 'null']}, 'bestiaryLevel': {'type': ['string', 'null']}, 'seesInvisible': {'type': ['boolean', 'null']}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'image', 'title', 'actualName', 'plural', 'itemClass', 'itemType', 'typeSecondary', 'weight', 'valueBuy', 'valueBuyCurrency', 'valueSell', 'isMarketable', 'isStackable', 'isPickupable', 'isImmobile', 'clientId', 'status', 'attributes', 'keys', 'storeOffers', 'proficiencyPerks', 'boughtBy', 'sounds', 'source'], 'properties': {'keys': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'number', 'name', 'material', 'location', 'notes'], 'properties': {'name': {'type': ['string', 'null']}, 'notes': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'number': {'type': ['number', 'null']}, 'location': {'type': ['string', 'null']}, 'material': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'type': {'type': 'string', 'const': 'item'}, 'image': {'anyOf': [{'type': 'object', 'required': ['fileName', 'url', 'descriptionUrl', 'width', 'height', 'mimeType'], 'properties': {'url': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'fileName': {'type': 'string'}, 'mimeType': {'type': 'string'}, 'descriptionUrl': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Sprite image link. Dimensions are pixels, not map squares.'}, 'title': {'type': 'string'}, 'detail': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number', 'null']}}, 'plural': {'type': ['string', 'null'], 'description': 'Plural as the game prints it.'}, 'sounds': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'object', 'required': ['page', 'url', 'indexGeneratedAt'], 'properties': {'url': {'type': 'string'}, 'page': {'type': 'string'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}, 'status': {'type': ['string', 'null']}, 'weight': {'type': ['number', 'null']}, 'boughtBy': {'type': 'array', 'items': {'type': 'object', 'required': ['npc', 'price', 'currency', 'city', 'position'], 'properties': {'npc': {'type': 'string'}, 'city': {'type': ['string', 'null'], 'description': "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule."}, 'price': {'type': 'number'}, 'currency': {'type': 'string'}, 'position': {'type': 'object', 'required': ['x', 'y', 'z'], 'properties': {'x': {'type': ['number', 'null']}, 'y': {'type': ['number', 'null']}, 'z': {'type': ['number', 'null']}}, 'description': "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule.", 'additionalProperties': False}}, 'additionalProperties': False}}, 'clientId': {'type': ['number', 'null']}, 'itemType': {'type': ['string', 'null']}, 'valueBuy': {'type': ['number', 'null']}, 'itemClass': {'type': ['string', 'null']}, 'valueSell': {'type': ['number', 'null']}, 'actualName': {'type': ['string', 'null'], 'description': 'Name as the game prints it.'}, 'attributes': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number']}}, 'isImmobile': {'type': ['boolean', 'null']}, 'isStackable': {'type': ['boolean', 'null']}, 'storeOffers': {'type': 'array', 'items': {'type': 'object', 'required': ['price', 'amount', 'currency'], 'properties': {'price': {'type': ['number', 'null']}, 'amount': {'type': ['number', 'null']}, 'currency': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'isMarketable': {'type': ['boolean', 'null']}, 'isPickupable': {'type': ['boolean', 'null']}, 'typeSecondary': {'type': ['string', 'null']}, 'proficiencyPerks': {'type': 'array', 'items': {'type': 'object', 'required': ['level', 'effect', 'skill'], 'properties': {'level': {'type': ['number', 'null']}, 'skill': {'type': ['string', 'null']}, 'effect': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'valueBuyCurrency': {'type': ['string', 'null'], 'description': 'Currency of the price beside it, as the wiki names it, e.g. Gold Coin, Tibia Coins or Event Points. null when there is no price.'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'image', 'title', 'gender', 'city', 'subarea', 'location', 'position', 'status', 'jobs', 'races', 'destinations', 'positions', 'buys', 'sells', 'source'], 'properties': {'buys': {'type': 'array', 'items': {'type': 'object', 'required': ['item', 'price', 'currency'], 'properties': {'item': {'type': 'string'}, 'price': {'type': 'number'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Items the player can sell to this NPC.'}, 'city': {'type': ['string', 'null']}, 'jobs': {'type': 'array', 'items': {'type': 'string'}}, 'type': {'type': 'string', 'const': 'npc'}, 'image': {'anyOf': [{'type': 'object', 'required': ['fileName', 'url', 'descriptionUrl', 'width', 'height', 'mimeType'], 'properties': {'url': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'fileName': {'type': 'string'}, 'mimeType': {'type': 'string'}, 'descriptionUrl': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Sprite image link. Dimensions are pixels, not map squares.'}, 'races': {'type': 'array', 'items': {'type': 'string'}}, 'sells': {'type': 'array', 'items': {'type': 'object', 'required': ['item', 'price', 'currency'], 'properties': {'item': {'type': 'string'}, 'price': {'type': 'number'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Items the player can buy from this NPC.'}, 'title': {'type': 'string'}, 'detail': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number', 'null']}}, 'gender': {'type': ['string', 'null']}, 'source': {'type': 'object', 'required': ['page', 'url', 'indexGeneratedAt'], 'properties': {'url': {'type': 'string'}, 'page': {'type': 'string'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}, 'status': {'type': ['string', 'null']}, 'subarea': {'type': ['string', 'null']}, 'location': {'type': ['string', 'null']}, 'position': {'type': 'object', 'required': ['x', 'y', 'z'], 'properties': {'x': {'type': ['number', 'null']}, 'y': {'type': ['number', 'null']}, 'z': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'positions': {'type': 'array', 'items': {'type': 'object', 'required': ['city', 'subarea', 'geolabel', 'position'], 'properties': {'city': {'type': ['string', 'null']}, 'subarea': {'type': ['string', 'null']}, 'geolabel': {'type': ['string', 'null']}, 'position': {'type': 'object', 'required': ['x', 'y', 'z'], 'properties': {'x': {'type': ['number', 'null']}, 'y': {'type': ['number', 'null']}, 'z': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'destinations': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'price', 'origin', 'notes'], 'properties': {'name': {'type': 'string'}, 'notes': {'type': ['string', 'null']}, 'price': {'type': ['number', 'null'], 'description': 'Route price in gold. 0: free or not recorded, see notes.'}, 'origin': {'type': ['string', 'null'], 'description': "Where the leg starts. null: not recorded, it starts at one of the NPC's positions."}}, 'additionalProperties': False}}, 'rashidSchedule': {'type': 'array', 'items': {'type': 'object', 'required': ['day', 'city', 'location', 'position'], 'properties': {'day': {'type': 'string'}, 'city': {'type': ['string', 'null']}, 'location': {'type': ['string', 'null']}, 'position': {'type': 'object', 'required': ['x', 'y', 'z'], 'properties': {'x': {'type': ['number', 'null']}, 'y': {'type': ['number', 'null']}, 'z': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'title', 'location', 'levelRequired', 'levelRecommended', 'isPremium', 'questLog', 'legend', 'status', 'dangers', 'rewards', 'source'], 'properties': {'type': {'type': 'string', 'const': 'quest'}, 'title': {'type': 'string'}, 'detail': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number', 'null']}}, 'legend': {'type': ['string', 'null']}, 'source': {'type': 'object', 'required': ['page', 'url', 'indexGeneratedAt'], 'properties': {'url': {'type': 'string'}, 'page': {'type': 'string'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}, 'status': {'type': ['string', 'null']}, 'dangers': {'type': 'array', 'items': {'type': 'string'}}, 'rewards': {'type': 'array', 'items': {'type': 'string'}}, 'location': {'type': ['string', 'null']}, 'questLog': {'type': ['boolean', 'null']}, 'isPremium': {'type': ['boolean', 'null']}, 'levelRequired': {'type': ['number', 'null']}, 'levelRecommended': {'type': ['number', 'null']}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'areaShape', 'image', 'title', 'words', 'spellType', 'element', 'mana', 'level', 'soul', 'isPremium', 'cooldown', 'effect', 'vocations', 'isPromotion', 'isWheelSpell', 'isPassive', 'basePower', 'group', 'secondaryGroup', 'runeGroup', 'groupCooldown', 'secondaryGroupCooldown', 'status', 'source'], 'properties': {'mana': {'type': ['number', 'null']}, 'soul': {'type': ['number', 'null']}, 'type': {'type': 'string', 'const': 'spell'}, 'group': {'type': ['string', 'null']}, 'image': {'anyOf': [{'type': 'object', 'required': ['fileName', 'url', 'descriptionUrl', 'width', 'height', 'mimeType'], 'properties': {'url': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'fileName': {'type': 'string'}, 'mimeType': {'type': 'string'}, 'descriptionUrl': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Sprite image link. Dimensions are pixels, not map squares.'}, 'level': {'type': ['number', 'null']}, 'title': {'type': 'string'}, 'words': {'type': ['string', 'null']}, 'detail': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number', 'null']}}, 'effect': {'type': ['string', 'null']}, 'source': {'type': 'object', 'required': ['page', 'url', 'indexGeneratedAt'], 'properties': {'url': {'type': 'string'}, 'page': {'type': 'string'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}, 'status': {'type': ['string', 'null']}, 'element': {'type': ['string', 'null']}, 'cooldown': {'type': ['number', 'null']}, 'areaShape': {'anyOf': [{'type': 'object', 'required': ['width', 'height', 'cells', 'ascii', 'affectedTiles', 'derivedFrom', 'sourceImage', 'sourceUrl', 'corroborated'], 'properties': {'ascii': {'type': 'string'}, 'cells': {'type': 'array', 'items': {'type': 'number'}}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'sourceUrl': {'type': 'string'}, 'derivedFrom': {'type': 'string', 'const': 'animation'}, 'sourceImage': {'type': 'string'}, 'corroborated': {'type': 'boolean'}, 'affectedTiles': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Tiles a spell covers, read from its wiki animation.'}, 'basePower': {'type': ['number', 'null']}, 'isPassive': {'type': ['boolean', 'null']}, 'isPremium': {'type': ['boolean', 'null']}, 'runeGroup': {'type': ['string', 'null']}, 'spellType': {'type': ['string', 'null']}, 'vocations': {'type': 'array', 'items': {'enum': ['knight', 'sorcerer', 'druid', 'paladin', 'monk'], 'type': 'string'}}, 'isPromotion': {'type': ['boolean', 'null']}, 'isWheelSpell': {'type': ['boolean', 'null']}, 'groupCooldown': {'type': ['number', 'null'], 'description': 'Seconds before another spell of the same group can be cast.'}, 'secondaryGroup': {'type': ['string', 'null']}, 'secondaryGroupCooldown': {'type': ['number', 'null'], 'description': 'Seconds before another spell of its secondary group can be cast.'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'title', 'grade', 'points', 'description', 'spoiler', 'isSecret', 'isPremium', 'achievementId', 'status', 'source'], 'properties': {'type': {'type': 'string', 'const': 'achievement'}, 'grade': {'type': ['number', 'null']}, 'title': {'type': 'string'}, 'detail': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number', 'null']}}, 'points': {'type': ['number', 'null']}, 'source': {'type': 'object', 'required': ['page', 'url', 'indexGeneratedAt'], 'properties': {'url': {'type': 'string'}, 'page': {'type': 'string'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}, 'status': {'type': ['string', 'null']}, 'spoiler': {'type': ['string', 'null']}, 'isSecret': {'type': ['boolean', 'null']}, 'isPremium': {'type': ['boolean', 'null']}, 'description': {'type': ['string', 'null']}, 'achievementId': {'type': ['number', 'null']}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'title', 'houseId', 'city', 'street', 'location', 'beds', 'rent', 'size', 'rooms', 'floors', 'position', 'isGuildhall', 'status', 'source'], 'properties': {'beds': {'type': ['number', 'null']}, 'city': {'type': ['string', 'null']}, 'rent': {'type': ['number', 'null']}, 'size': {'type': ['number', 'null']}, 'type': {'type': 'string', 'const': 'house'}, 'rooms': {'type': ['number', 'null']}, 'title': {'type': 'string'}, 'detail': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number', 'null']}}, 'floors': {'type': ['number', 'null']}, 'source': {'type': 'object', 'required': ['page', 'url', 'indexGeneratedAt'], 'properties': {'url': {'type': 'string'}, 'page': {'type': 'string'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}, 'status': {'type': ['string', 'null']}, 'street': {'type': ['string', 'null']}, 'houseId': {'type': ['number', 'null']}, 'location': {'type': ['string', 'null']}, 'position': {'type': 'object', 'required': ['x', 'y', 'z'], 'properties': {'x': {'type': ['number', 'null']}, 'y': {'type': ['number', 'null']}, 'z': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'isGuildhall': {'type': ['boolean', 'null']}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'image', 'title', 'tier', 'category', 'imbuementType', 'effect', 'slots', 'status', 'materials', 'source'], 'properties': {'tier': {'type': ['string', 'null']}, 'type': {'type': 'string', 'const': 'imbuement'}, 'image': {'anyOf': [{'type': 'object', 'required': ['fileName', 'url', 'descriptionUrl', 'width', 'height', 'mimeType'], 'properties': {'url': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'fileName': {'type': 'string'}, 'mimeType': {'type': 'string'}, 'descriptionUrl': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Sprite image link. Dimensions are pixels, not map squares.'}, 'slots': {'type': 'array', 'items': {'type': 'string'}}, 'title': {'type': 'string'}, 'detail': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number', 'null']}}, 'effect': {'type': ['string', 'null']}, 'source': {'type': 'object', 'required': ['page', 'url', 'indexGeneratedAt'], 'properties': {'url': {'type': 'string'}, 'page': {'type': 'string'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}, 'status': {'type': ['string', 'null']}, 'category': {'type': ['string', 'null']}, 'materials': {'type': 'array', 'items': {'type': 'object', 'required': ['item', 'amount'], 'properties': {'item': {'type': 'string'}, 'amount': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'imbuementType': {'type': ['string', 'null']}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'image', 'title', 'charmType', 'effect', 'costs', 'status', 'source'], 'properties': {'type': {'type': 'string', 'const': 'charm'}, 'costs': {'type': 'array', 'items': {'type': ['number', 'null']}}, 'image': {'anyOf': [{'type': 'object', 'required': ['fileName', 'url', 'descriptionUrl', 'width', 'height', 'mimeType'], 'properties': {'url': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'fileName': {'type': 'string'}, 'mimeType': {'type': 'string'}, 'descriptionUrl': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Sprite image link. Dimensions are pixels, not map squares.'}, 'title': {'type': 'string'}, 'detail': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number', 'null']}}, 'effect': {'type': ['string', 'null']}, 'source': {'type': 'object', 'required': ['page', 'url', 'indexGeneratedAt'], 'properties': {'url': {'type': 'string'}, 'page': {'type': 'string'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}, 'status': {'type': ['string', 'null']}, 'charmType': {'type': ['string', 'null']}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'image', 'title', 'speed', 'tamingMethod', 'isBuyable', 'price', 'priceCurrency', 'achievement', 'lightColor', 'lightRadius', 'clientId', 'status', 'source'], 'properties': {'type': {'type': 'string', 'const': 'mount'}, 'image': {'anyOf': [{'type': 'object', 'required': ['fileName', 'url', 'descriptionUrl', 'width', 'height', 'mimeType'], 'properties': {'url': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'fileName': {'type': 'string'}, 'mimeType': {'type': 'string'}, 'descriptionUrl': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Sprite image link. Dimensions are pixels, not map squares.'}, 'price': {'type': ['number', 'null']}, 'speed': {'type': ['number', 'null']}, 'title': {'type': 'string'}, 'detail': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number', 'null']}}, 'source': {'type': 'object', 'required': ['page', 'url', 'indexGeneratedAt'], 'properties': {'url': {'type': 'string'}, 'page': {'type': 'string'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}, 'status': {'type': ['string', 'null']}, 'clientId': {'type': ['number', 'null']}, 'isBuyable': {'type': ['boolean', 'null']}, 'lightColor': {'type': ['number', 'null']}, 'achievement': {'type': ['string', 'null']}, 'lightRadius': {'type': ['number', 'null']}, 'tamingMethod': {'type': ['string', 'null']}, 'priceCurrency': {'type': ['string', 'null'], 'description': 'Currency of the price beside it, as the wiki names it, e.g. Gold Coin, Tibia Coins or Event Points. null when there is no price.'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'title', 'outfitType', 'isPremium', 'isBought', 'isTournament', 'fullPrice', 'achievement', 'maleClientId', 'femaleClientId', 'status', 'quests', 'source'], 'properties': {'type': {'type': 'string', 'const': 'outfit'}, 'title': {'type': 'string'}, 'detail': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number', 'null']}}, 'quests': {'type': 'array', 'items': {'type': 'object', 'required': ['quest', 'unlockType'], 'properties': {'quest': {'type': 'string'}, 'unlockType': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'source': {'type': 'object', 'required': ['page', 'url', 'indexGeneratedAt'], 'properties': {'url': {'type': 'string'}, 'page': {'type': 'string'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}, 'status': {'type': ['string', 'null']}, 'isBought': {'type': ['boolean', 'null']}, 'fullPrice': {'type': ['number', 'null']}, 'isPremium': {'type': ['boolean', 'null']}, 'outfitType': {'type': ['string', 'null']}, 'achievement': {'type': ['string', 'null']}, 'isTournament': {'type': ['boolean', 'null']}, 'maleClientId': {'type': ['number', 'null']}, 'femaleClientId': {'type': ['number', 'null']}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'title', 'bookType', 'itemId', 'location', 'blurb', 'author', 'prevBook', 'nextBook', 'status', 'source'], 'properties': {'text': {'type': ['string', 'null']}, 'type': {'type': 'string', 'const': 'book'}, 'blurb': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'author': {'type': ['string', 'null']}, 'detail': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number', 'null']}}, 'itemId': {'type': ['number', 'null']}, 'source': {'type': 'object', 'required': ['page', 'url', 'indexGeneratedAt'], 'properties': {'url': {'type': 'string'}, 'page': {'type': 'string'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}, 'status': {'type': ['string', 'null']}, 'bookType': {'type': ['string', 'null']}, 'location': {'type': ['string', 'null']}, 'nextBook': {'type': ['string', 'null']}, 'prevBook': {'type': ['string', 'null']}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'title', 'location', 'pvpType', 'isPreview', 'isExperimental', 'onlineSince', 'offlineSince', 'mergedInto', 'battleye', 'battleyeType', 'protectedSince', 'worldBoard', 'tradeBoard', 'source'], 'properties': {'type': {'type': 'string', 'const': 'world'}, 'title': {'type': 'string'}, 'detail': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number', 'null']}}, 'source': {'type': 'object', 'required': ['page', 'url', 'indexGeneratedAt'], 'properties': {'url': {'type': 'string'}, 'page': {'type': 'string'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}, 'pvpType': {'type': ['string', 'null']}, 'battleye': {'type': ['boolean', 'null']}, 'location': {'type': ['string', 'null']}, 'isPreview': {'type': ['boolean', 'null']}, 'mergedInto': {'type': ['string', 'null']}, 'tradeBoard': {'type': ['number', 'null']}, 'worldBoard': {'type': ['number', 'null']}, 'onlineSince': {'type': ['string', 'null']}, 'battleyeType': {'type': ['string', 'null']}, 'offlineSince': {'type': ['string', 'null']}, 'isExperimental': {'type': ['boolean', 'null']}, 'protectedSince': {'type': ['string', 'null']}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'title', 'releaseDate', 'newsId', 'typePrimary', 'typeSecondary', 'previous', 'next', 'summary', 'changes', 'source'], 'properties': {'next': {'type': ['string', 'null']}, 'type': {'type': 'string', 'const': 'update'}, 'title': {'type': 'string'}, 'detail': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': ['string', 'number', 'null']}}, 'newsId': {'type': ['number', 'null']}, 'source': {'type': 'object', 'required': ['page', 'url', 'indexGeneratedAt'], 'properties': {'url': {'type': 'string'}, 'page': {'type': 'string'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}, 'changes': {'type': ['string', 'null']}, 'summary': {'type': ['string', 'null']}, 'previous': {'type': ['string', 'null']}, 'releaseDate': {'type': ['string', 'null']}, 'typePrimary': {'type': ['string', 'null']}, 'typeSecondary': {'type': ['string', 'null']}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['item_name'], 'properties': {'item_name': {'type': 'string', 'minLength': 1, 'description': 'Item page name or the name the game prints, e.g. "Dragon Shield".'}, 'include_inactive': {'type': 'boolean', 'default': False, 'description': 'Include deprecated or event-only creatures, NPCs and quests as sources.'}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['item', 'status', 'droppedBy', 'soldByNpcs', 'questRewards', 'note', 'source'], 'properties': {'item': {'type': 'string'}, 'note': {'type': 'string'}, 'source': {'type': 'object', 'required': ['page', 'url', 'indexGeneratedAt'], 'properties': {'url': {'type': 'string'}, 'page': {'type': 'string'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}, 'status': {'type': ['string', 'null']}, 'droppedBy': {'type': 'array', 'items': {'type': 'object', 'required': ['creature', 'chance', 'min', 'max'], 'properties': {'max': {'type': ['number', 'null']}, 'min': {'type': ['number', 'null']}, 'chance': {'type': ['number', 'null']}, 'creature': {'type': 'string'}}, 'additionalProperties': False}}, 'soldByNpcs': {'type': 'array', 'items': {'type': 'object', 'required': ['npc', 'city', 'price', 'currency'], 'properties': {'npc': {'type': 'string'}, 'city': {'type': ['string', 'null']}, 'price': {'type': 'number'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}}, 'questRewards': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['text'], 'properties': {'text': {'type': 'string', 'maxLength': 20000, 'minLength': 1, 'description': 'Loot messages, one per line.'}, 'include_lines': {'type': 'boolean', 'default': False, 'description': 'Also give each line with its items, client IDs and prices.'}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['totals', 'unresolvedEntries', 'unparsed', 'indexGeneratedAt'], 'properties': {'lines': {'type': 'array', 'items': {'type': 'object', 'required': ['creature', 'note', 'items'], 'properties': {'note': {'type': ['string', 'null']}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['text', 'count', 'item', 'candidates', 'clientId', 'unitPrice', 'value'], 'properties': {'item': {'type': ['string', 'null'], 'description': 'Item title. Null: no single item.'}, 'text': {'type': 'string'}, 'count': {'type': ['number', 'null'], 'description': 'Null: no count from 1 to 1,000,000.'}, 'value': {'type': ['number', 'null'], 'description': 'Null: no price, or too large to add exactly.'}, 'clientId': {'type': ['number', 'null']}, 'unitPrice': {'type': ['number', 'null'], 'description': 'Coin face value, else best NPC price in gold.'}, 'candidates': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Titles it may mean, when more than one.'}}, 'additionalProperties': False}}, 'creature': {'type': 'object', 'required': ['text', 'title', 'candidates'], 'properties': {'text': {'type': 'string'}, 'title': {'type': ['string', 'null']}, 'candidates': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Titles it may mean, when more than one.'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'description': 'Each loot line, with include_lines.'}, 'totals': {'type': 'object', 'required': ['items', 'gold', 'unresolved', 'unpriced', 'unparsed'], 'properties': {'gold': {'type': 'number', 'description': 'Sum of the priced values.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['item', 'count', 'value'], 'properties': {'item': {'type': 'string'}, 'count': {'type': 'number'}, 'value': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'unparsed': {'type': 'number', 'description': 'Lines that are no loot message.'}, 'unpriced': {'type': 'number', 'description': 'Entries of an item with no value.'}, 'unresolved': {'type': 'number', 'description': 'Entries with no single item.'}}, 'additionalProperties': False}, 'unparsed': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Lines that are no loot message, the first 100.'}, 'indexGeneratedAt': {'type': 'string'}, 'unresolvedEntries': {'type': 'array', 'items': {'type': 'object', 'required': ['line', 'text', 'candidates'], 'properties': {'line': {'type': 'number', 'description': 'Line number in the input, from 1.'}, 'text': {'type': 'string'}, 'candidates': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Titles it may mean, when more than one.'}}, 'additionalProperties': False}, 'description': 'Entries with no single item, the first 100.'}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'string', 'minLength': 1, 'description': 'Substring to match against page names, case-insensitive. Omit it to list every page of types.'}, 'types': {'type': 'array', 'items': {'enum': ['creature', 'item', 'npc', 'quest', 'spell', 'achievement', 'house', 'imbuement', 'charm', 'mount', 'outfit', 'book', 'world', 'update'], 'type': 'string'}, 'description': 'Restrict to these kinds of page. Defaults to all. Required without a query.'}, 'cursor': {'type': 'string', 'description': 'Opaque cursor from a previous call.'}, 'include_inactive': {'type': 'boolean', 'default': False, 'description': 'Include deprecated, event-only and unavailable pages.'}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['results', 'totalMatches', 'indexGeneratedAt'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'type'], 'properties': {'type': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': False}}, 'nextCursor': {'type': 'string'}, 'totalMatches': {'type': 'number'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 100, 'minItems': 1, 'description': 'Item names, any case, as the wiki titles them or the game prints them, e.g. "Dragon Shield" or "vial of lifefluid".'}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['cities', 'noGoldBuyer', 'unknownItems', 'ambiguousItems', 'indexGeneratedAt'], 'properties': {'cities': {'type': 'array', 'items': {'type': 'object', 'required': ['city', 'buyers'], 'properties': {'city': {'type': ['string', 'null'], 'description': "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule."}, 'buyers': {'type': 'array', 'items': {'type': 'object', 'required': ['npc', 'position', 'items'], 'properties': {'npc': {'type': 'string'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['item', 'input', 'price'], 'properties': {'item': {'type': 'string'}, 'input': {'type': 'string', 'description': 'The name as you first wrote it.'}, 'price': {'type': 'number'}}, 'additionalProperties': False}}, 'position': {'type': 'object', 'required': ['x', 'y', 'z'], 'properties': {'x': {'type': ['number', 'null']}, 'y': {'type': ['number', 'null']}, 'z': {'type': ['number', 'null']}}, 'description': "For Rashid, who moves city daily, a buyer's city and position coordinates are null. His NPC page and tibia_where_to_sell give his week as rashidSchedule.", 'additionalProperties': False}, 'rashidSchedule': {'type': 'array', 'items': {'type': 'object', 'required': ['day', 'city', 'location', 'position'], 'properties': {'day': {'type': 'string'}, 'city': {'type': ['string', 'null']}, 'location': {'type': ['string', 'null']}, 'position': {'type': 'object', 'required': ['x', 'y', 'z'], 'properties': {'x': {'type': ['number', 'null']}, 'y': {'type': ['number', 'null']}, 'z': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'noGoldBuyer': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Items no active NPC buys for gold.'}, 'unknownItems': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Names that match no item.'}, 'ambiguousItems': {'type': 'array', 'items': {'type': 'object', 'required': ['input', 'candidates'], 'properties': {'input': {'type': 'string'}, 'candidates': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'description': 'Names more than one item goes by, with those items.'}, 'indexGeneratedAt': {'type': 'string'}}, 'additionalProperties': False}
최근 도구 변경
유사한 MCP 서버
Giantbomb
Provides a catalog of video games, platforms, characters, and game companies with searchable metadata from Giant Bomb.
Dnd5e
Looks up Dungeons & Dragons 5th Edition classes, monsters, spells, spell lists, features, and combat statistics.
Igdb
Searches the IGDB catalogue for video games, platforms, developers, publishers, releases, ratings, genres, related content, and g…
MTG Bench
Searches Magic: The Gathering cards and rules and analyzes, validates, upgrades, and finds combos in decks.
Praetorium
Searches verified Warhammer 40K rules and datasheets and supports roster management and turn-based battle tracking.
EcoCarbonWiki
Searches and retrieves Eco game wiki content and calculates crafting materials, recipes, rankings, aggregates, and gameplay metri…
pokeapi-mcp-server
Looks up Pokémon, moves, abilities, items, natures, evolution data, and type effectiveness from PokéAPI.
VIGuides
Provides curated GTA 6 release information, guides, source references, countdowns, and trending search topics in multiple languag…