tibiawiki-mcp
TibiaWiki knowledge base: attribute queries over creatures, items, NPCs, quests and spells
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"tibiawiki-mcp": {
"command": "npx",
"args": [
"@tibia.sh/tibiawiki-mcp"
]
}
}
}Runnable packages
0.17.1stdioRemote endpoints
https://mcp.tibia.sh/wikistreamable-httpWhat it can do
Tool inventory
Tools (12)
🟢tibia_get(name, type, include_inactive, verbosity)
Full detail for one Tibia page of any kind, with a creature's loot, abilities and max damage, the NPCs that buy an item and what an NPC buys and sells. Takes an exact page name. Use tibia_search first for an uncertain or in-game name, or tibia_find_updates for an update. Pass `type` for a shared name. Creature abilities may carry an `area`: Grid of map tiles, row-major, as the caster faces. '.' unaffected tile, '#' effect tile, '@' the caster, '*' the target tile, digits 4-8 a second effect the scene draws on extra sprite layers, '?' an unrecognised value. effectTiles counts effect tiles only. effectOnCaster, from the wiki rather than the grid, says whether the caster is caught in its own effect.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Page name, e.g. \"Dragon Lord\". Case-insensitive."
},
"type": {
"description": "Restrict the lookup to one kind of page.",
"type": "string",
"enum": [
"creature",
"item",
"npc",
"quest",
"spell",
"achievement",
"house",
"imbuement",
"charm",
"mount",
"outfit",
"book",
"world",
"update"
]
},
"include_inactive": {
"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": "boolean"
},
"verbosity": {
"default": "concise",
"description": "\"detailed\" adds extra descriptive columns.",
"type": "string",
"enum": [
"concise",
"detailed"
]
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "creature"
},
"image": {
"anyOf": [
{
"type": "object",
"properties": {
"fileName": {
"type": "string"
},
"url": {
"type": "string"
},
"descriptionUrl": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"mimeType": {
"type": "string"
}
},
"required": [
"fileName",
"url",
"descriptionUrl",
"width",
"height",
"mimeType"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Sprite image link. Dimensions are pixels, not map squares."
},
"title": {
"type": "string"
},
"name": {
"description": "Name as the game prints it.",
"type": [
"string",
"null"
]
},
"plural": {
"description": "Plural as the game prints it.",
"type": [
"string",
"null"
]
},
"article": {
"description": "Article the game prints before the name. Null: none, as for bosses.",
"type": [
"string",
"null"
]
},
"hitpoints": {
"type": [
"number",
"null"
]
},
"experience": {
"type": [
"number",
"null"
]
},
"armor": {
"type": [
"number",
"null"
]
},
"speed": {
"type": [
"number",
"null"
]
},
"bestiaryClass": {
"type": [
"string",
"null"
]
},
"bestiaryLevel": {
"type": [
"string",
"null"
]
},
"isBoss": {
"type": "boolean"
},
"status": {
"type": [
"string",
"null"
]
},
"runsAt": {
"description": "Hit points at which it flees. 0: never flees.",
"type": [
"number",
"null"
]
},
"seesInvisible": {
"type": [
"boolean",
"null"
]
},
"paralysable": {
"type": [
"boolean",
"null"
]
},
"pushable": {
"type": [
"boolean",
"null"
]
},
"pushObjects": {
"type": [
"boolean",
"null"
]
},
"illusionable": {
"type": [
"boolean",
"null"
]
},
"summonCost": {
"description": "Mana. 0: cannot be summoned.",
"type": [
"number",
"null"
]
},
"convinceCost": {
"description": "Mana. 0: cannot be convinced.",
"type": [
"number",
"null"
]
},
"goldPerKill": {
"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.",
"type": [
"number",
"null"
]
},
"raceId": {
"description": "Tibia client race ID, not unique: some creatures share one, such as boss phases. null: the wiki records none.",
"type": [
"number",
"null"
]
},
"modifiers": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"number",
"null"
]
}
},
"loot": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string"
},
"chance": {
"type": [
"number",
"null"
]
},
"min": {
"type": [
"number",
"null"
]
},
"max": {
"type": [
"number",
"null"
]
}
},
"required": [
"item",
"chance",
"min",
"max"
],
"additionalProperties": false
}
},
"abilities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"effect": {
"type": [
"string",
"null"
]
},
"element": {
"type": [
"string",
"null"
]
},
"area": {
"anyOf": [
{
"type": "object",
"properties": {
"key": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"cells": {
"type": "array",
"items": {
"type": "number"
}
},
"ascii": {
"type": "string"
},
"effectTiles": {
"type": "number"
},
"effectOnCaster": {
"type": "boolean"
}
},
"required": [
"key",
"width",
"height",
"cells",
"ascii",
"effectTiles",
"effectOnCaster"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"effect",
"element",
"area"
],
"additionalProperties": false
}
},
"maxDamage": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"number",
"null"
]
}
},
{
"type": "null"
}
]
},
"sounds": {
"type": "array",
"items": {
"type": "string"
}
},
"detail": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"null"
]
}
},
"source": {
"type": "object",
"properties": {
"page": {
"type": "string"
},
"url": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"page",
"url",
"indexGeneratedAt"
],
"additionalProperties": false
}
},
"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"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "item"
},
"image": {
"anyOf": [
{
"type": "object",
"properties": {
"fileName": {
"type": "string"
},
"url": {
"type": "string"
},
"descriptionUrl": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"mimeType": {
"type": "string"
}
},
"required": [
"fileName",
"url",
"descriptionUrl",
"width",
"height",
"mimeType"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Sprite image link. Dimensions are pixels, not map squares."
},
"title": {
"type": "string"
},
"actualName": {
"description": "Name as the game prints it.",
"type": [
"string",
"null"
]
},
"plural": {
"description": "Plural as the game prints it.",
"type": [
"string",
"null"
]
},
"itemClass": {
"type": [
"string",
"null"
]
},
"itemType": {
"type": [
"string",
"null"
]
},
"typeSecondary": {
"type": [
"string",
"null"
]
},
"weight": {
"type": [
"number",
"null"
]
},
"valueBuy": {
"type": [
"number",
"null"
]
},
"valueBuyCurrency": {
"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.",
"type": [
"string",
"null"
]
},
"valueSell": {
"type": [
"number",
"null"
]
},
"isMarketable": {
"type": [
"boolean",
"null"
]
},
"isStackable": {
"type": [
"boolean",
"null"
]
},
"isPickupable": {
"type": [
"boolean",
"null"
]
},
"isImmobile": {
"type": [
"boolean",
"null"
]
},
"clientId": {
"type": [
"number",
"null"
]
},
"status": {
"type": [
"string",
"null"
]
},
"attributes": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number"
]
}
},
"keys": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"number": {
"type": [
"number",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"material": {
"type": [
"string",
"null"
]
},
"location": {
"type": [
"string",
"null"
]
},
"notes": {
"type": [
"string",
"null"
]
}
},
"required": [
"title",
"number",
"name",
"material",
"location",
"notes"
],
"additionalProperties": false
}
},
"storeOffers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": [
"number",
"null"
]
},
"amount": {
"type": [
"number",
"null"
]
},
"currency": {
"type": [
"string",
"null"
]
}
},
"required": [
"price",
"amount",
"currency"
],
"additionalProperties": false
}
},
"proficiencyPerks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"level": {
"type": [
"number",
"null"
]
},
"effect": {
"type": [
"string",
"null"
]
},
"skill": {
"type": [
"string",
"null"
]
}
},
"required": [
"level",
"effect",
"skill"
],
"additionalProperties": false
}
},
"boughtBy": {
"type": "array",
"items": {
"type": "object",
"properties": {
"npc": {
"type": "string"
},
"price": {
"type": "number"
},
"currency": {
"type": "string"
},
"city": {
"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.",
"type": [
"string",
"null"
]
},
"position": {
"type": "object",
"properties": {
"x": {
"type": [
"number",
"null"
]
},
"y": {
"type": [
"number",
"null"
]
},
"z": {
"type": [
"number",
"null"
]
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false,
"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."
}
},
"required": [
"npc",
"price",
"currency",
"city",
"position"
],
"additionalProperties": false
}
},
"sounds": {
"type": "array",
"items": {
"type": "string"
}
},
"detail": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"null"
]
}
},
"source": {
"type": "object",
"properties": {
"page": {
"type": "string"
},
"url": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"page",
"url",
"indexGeneratedAt"
],
"additionalProperties": false
}
},
"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"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "npc"
},
"image": {
"anyOf": [
{
"type": "object",
"properties": {
"fileName": {
"type": "string"
},
"url": {
"type": "string"
},
"descriptionUrl": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"mimeType": {
"type": "string"
}
},
"required": [
"fileName",
"url",
"descriptionUrl",
"width",
"height",
"mimeType"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Sprite image link. Dimensions are pixels, not map squares."
},
"title": {
"type": "string"
},
"gender": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"subarea": {
"type": [
"string",
"null"
]
},
"location": {
"type": [
"string",
"null"
]
},
"position": {
"type": "object",
"properties": {
"x": {
"type": [
"number",
"null"
]
},
"y": {
"type": [
"number",
"null"
]
},
"z": {
"type": [
"number",
"null"
]
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"status": {
"type": [
"string",
"null"
]
},
"jobs": {
"type": "array",
"items": {
"type": "string"
}
},
"races": {
"type": "array",
"items": {
"type": "string"
}
},
"destinations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"price": {
"description": "Route price in gold. 0: free or not recorded, see notes.",
"type": [
"number",
"null"
]
},
"origin": {
"description": "Where the leg starts. null: not recorded, it starts at one of the NPC's positions.",
"type": [
"string",
"null"
]
},
"notes": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"price",
"origin",
"notes"
],
"additionalProperties": false
}
},
"positions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": [
"string",
"null"
]
},
"subarea": {
"type": [
"string",
"null"
]
},
"geolabel": {
"type": [
"string",
"null"
]
},
"position": {
"type": "object",
"properties": {
"x": {
"type": [
"number",
"null"
]
},
"y": {
"type": [
"number",
"null"
]
},
"z": {
"type": [
"number",
"null"
]
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
}
},
"required": [
"city",
"subarea",
"geolabel",
"position"
],
"additionalProperties": false
}
},
"rashidSchedule": {
"type": "array",
"items": {
"type": "object",
"properties": {
"day": {
"type": "string"
},
"city": {
"type": [
"string",
"null"
]
},
"location": {
"type": [
"string",
"null"
]
},
"position": {
"type": "object",
"properties": {
"x": {
"type": [
"number",
"null"
]
},
"y": {
"type": [
"number",
"null"
]
},
"z": {
"type": [
"number",
"null"
]
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
}
},
"required": [
"day",
"city",
"location",
"position"
],
"additionalProperties": false
}
},
"buys": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string"
},
"price": {
"type": "number"
},
"currency": {
"type": "string"
}
},
"required": [
"item",
"price",
"currency"
],
"additionalProperties": false
},
"description": "Items the player can sell to this NPC."
},
"sells": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string"
},
"price": {
"type": "number"
},
"currency": {
"type": "string"
}
},
"required": [
"item",
"price",
"currency"
],
"additionalProperties": false
},
"description": "Items the player can buy from this NPC."
},
"detail": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"null"
]
}
},
"source": {
"type": "object",
"properties": {
"page": {
"type": "string"
},
"url": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"page",
"url",
"indexGeneratedAt"
],
"additionalProperties": false
}
},
"required": [
"type",
"image",
"title",
"gender",
"city",
"subarea",
"location",
"position",
"status",
"jobs",
"races",
"destinations",
"positions",
"buys",
"sells",
"source"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "quest"
},
"title": {
"type": "string"
},
"location": {
"type": [
"string",
"null"
]
},
"levelRequired": {
"type": [
"number",
"null"
]
},
"levelRecommended": {
"type": [
"number",
"null"
]
},
"isPremium": {
"type": [
"boolean",
"null"
]
},
"questLog": {
"type": [
"boolean",
"null"
]
},
"legend": {
"type": [
"string",
"null"
]
},
"status": {
"type": [
"string",
"null"
]
},
"dangers": {
"type": "array",
"items": {
"type": "string"
}
},
"rewards": {
"type": "array",
"items": {
"type": "string"
}
},
"detail": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"null"
]
}
},
"source": {
"type": "object",
"properties": {
"page": {
"type": "string"
},
"url": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"page",
"url",
"indexGeneratedAt"
],
"additionalProperties": false
}
},
"required": [
"type",
"title",
"location",
"levelRequired",
"levelRecommended",
"isPremium",
"questLog",
"legend",
"status",
"dangers",
"rewards",
"source"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "spell"
},
"areaShape": {
"anyOf": [
{
"type": "object",
"properties": {
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"cells": {
"type": "array",
"items": {
"type": "number"
}
},
"ascii": {
"type": "string"
},
"affectedTiles": {
"type": "number"
},
"derivedFrom": {
"type": "string",
"const": "animation"
},
"sourceImage": {
"type": "string"
},
"sourceUrl": {
"type": "string"
},
"corroborated": {
"type": "boolean"
}
},
"required": [
"width",
"height",
"cells",
"ascii",
"affectedTiles",
"derivedFrom",
"sourceImage",
"sourceUrl",
"corroborated"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Tiles a spell covers, read from its wiki animation."
},
"image": {
"anyOf": [
{
"type": "object",
"properties": {
"fileName": {
"type": "string"
},
"url": {
"type": "string"
},
"descriptionUrl": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"mimeType": {
"type": "string"
}
},
"required": [
"fileName",
"url",
"descriptionUrl",
"width",
"height",
"mimeType"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Sprite image link. Dimensions are pixels, not map squares."
},
"title": {
"type": "string"
},
"words": {
"type": [
"string",
"null"
]
},
"spellType": {
"type": [
"string",
"null"
]
},
"element": {
"type": [
"string",
"null"
]
},
"mana": {
"type": [
"number",
"null"
]
},
"level": {
"type": [
"number",
"null"
]
},
"soul": {
"type": [
"number",
"null"
]
},
"isPremium": {
"type": [
"boolean",
"null"
]
},
"cooldown": {
"type": [
"number",
"null"
]
},
"effect": {
"type": [
"string",
"null"
]
},
"vocations": {
"type": "array",
"items": {
"type": "string",
"enum": [
"knight",
"sorcerer",
"druid",
"paladin",
"monk"
]
}
},
"isPromotion": {
"type": [
"boolean",
"null"
]
},
"isWheelSpell": {
"type": [
"boolean",
"null"
]
},
"isPassive": {
"type": [
"boolean",
"null"
]
},
"basePower": {
"type": [
"number",
"null"
]
},
"group": {
"type": [
"string",
"null"
]
},
"secondaryGroup": {
"type": [
"string",
"null"
]
},
"runeGroup": {
"type": [
"string",
"null"
]
},
"groupCooldown": {
"description": "Seconds before another spell of the same group can be cast.",
"type": [
"number",
"null"
]
},
"secondaryGroupCooldown": {
"description": "Seconds before another spell of its secondary group can be cast.",
"type": [
"number",
"null"
]
},
"status": {
"type": [
"string",
"null"
]
},
"detail": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"null"
]
}
},
"source": {
"type": "object",
"properties": {
"page": {
"type": "string"
},
"url": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"page",
"url",
"indexGeneratedAt"
],
"additionalProperties": false
}
},
"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"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "achievement"
},
"title": {
"type": "string"
},
"grade": {
"type": [
"number",
"null"
]
},
"points": {
"type": [
"number",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"spoiler": {
"type": [
"string",
"null"
]
},
"isSecret": {
"type": [
"boolean",
"null"
]
},
"isPremium": {
"type": [
"boolean",
"null"
]
},
"achievementId": {
"type": [
"number",
"null"
]
},
"status": {
"type": [
"string",
"null"
]
},
"detail": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"null"
]
}
},
"source": {
"type": "object",
"properties": {
"page": {
"type": "string"
},
"url": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"page",
"url",
"indexGeneratedAt"
],
"additionalProperties": false
}
},
"required": [
"type",
"title",
"grade",
"points",
"description",
"spoiler",
"isSecret",
"isPremium",
"achievementId",
"status",
"source"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "house"
},
"title": {
"type": "string"
},
"houseId": {
"type": [
"number",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"street": {
"type": [
"string",
"null"
]
},
"location": {
"type": [
"string",
"null"
]
},
"beds": {
"type": [
"number",
"null"
]
},
"rent": {
"type": [
"number",
"null"
]
},
"size": {
"type": [
"number",
"null"
]
},
"rooms": {
"type": [
"number",
"null"
]
},
"floors": {
"type": [
"number",
"null"
]
},
"position": {
"type": "object",
"properties": {
"x": {
"type": [
"number",
"null"
]
},
"y": {
"type": [
"number",
"null"
]
},
"z": {
"type": [
"number",
"null"
]
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"isGuildhall": {
"type": [
"boolean",
"null"
]
},
"status": {
"type": [
"string",
"null"
]
},
"detail": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"null"
]
}
},
"source": {
"type": "object",
"properties": {
"page": {
"type": "string"
},
"url": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"page",
"url",
"indexGeneratedAt"
],
"additionalProperties": false
}
},
"required": [
"type",
"title",
"houseId",
"city",
"street",
"location",
"beds",
"rent",
"size",
"rooms",
"floors",
"position",
"isGuildhall",
"status",
"source"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "imbuement"
},
"image": {
"anyOf": [
{
"type": "object",
"properties": {
"fileName": {
"type": "string"
},
"url": {
"type": "string"
},
"descriptionUrl": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"mimeType": {
"type": "string"
}
},
"required": [
"fileName",
"url",
"descriptionUrl",
"width",
"height",
"mimeType"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Sprite image link. Dimensions are pixels, not map squares."
},
"title": {
"type": "string"
},
"tier": {
"type": [
"string",
"null"
]
},
"category": {
"type": [
"string",
"null"
]
},
"imbuementType": {
"type": [
"string",
"null"
]
},
"effect": {
"type": [
"string",
"null"
]
},
"slots": {
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"type": [
"string",
"null"
]
},
"materials": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string"
},
"amount": {
"type": [
"number",
"null"
]
}
},
"required": [
"item",
"amount"
],
"additionalProperties": false
}
},
"detail": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"null"
]
}
},
"source": {
"type": "object",
"properties": {
"page": {
"type": "string"
},
"url": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"page",
"url",
"indexGeneratedAt"
],
"additionalProperties": false
}
},
"required": [
"type",
"image",
"title",
"tier",
"category",
"imbuementType",
"effect",
"slots",
"status",
"materials",
"source"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "charm"
},
"image": {
"anyOf": [
{
"type": "object",
"properties": {
"fileName": {
"type": "string"
},
"url": {
"type": "string"
},
"descriptionUrl": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"mimeType": {
"type": "string"
}
},
"required": [
"fileName",
"url",
"descriptionUrl",
"width",
"height",
"mimeType"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Sprite image link. Dimensions are pixels, not map squares."
},
"title": {
"type": "string"
},
"charmType": {
"type": [
"string",
"null"
]
},
"effect": {
"type": [
"string",
"null"
]
},
"costs": {
"type": "array",
"items": {
"type": [
"number",
"null"
]
}
},
"status": {
"type": [
"string",
"null"
]
},
"detail": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"null"
]
}
},
"source": {
"type": "object",
"properties": {
"page": {
"type": "string"
},
"url": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"page",
"url",
"indexGeneratedAt"
],
"additionalProperties": false
}
},
"required": [
"type",
"image",
"title",
"charmType",
"effect",
"costs",
"status",
"source"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "mount"
},
"image": {
"anyOf": [
{
"type": "object",
"properties": {
"fileName": {
"type": "string"
},
"url": {
"type": "string"
},
"descriptionUrl": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"mimeType": {
"type": "string"
}
},
"required": [
"fileName",
"url",
"descriptionUrl",
"width",
"height",
"mimeType"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Sprite image link. Dimensions are pixels, not map squares."
},
"title": {
"type": "string"
},
"speed": {
"type": [
"number",
"null"
]
},
"tamingMethod": {
"type": [
"string",
"null"
]
},
"isBuyable": {
"type": [
"boolean",
"null"
]
},
"price": {
"type": [
"number",
"null"
]
},
"priceCurrency": {
"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.",
"type": [
"string",
"null"
]
},
"achievement": {
"type": [
"string",
"null"
]
},
"lightColor": {
"type": [
"number",
"null"
]
},
"lightRadius": {
"type": [
"number",
"null"
]
},
"clientId": {
"type": [
"number",
"null"
]
},
"status": {
"type": [
"string",
"null"
]
},
"detail": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"null"
]
}
},
"source": {
"type": "object",
"properties": {
"page": {
"type": "string"
},
"url": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"page",
"url",
"indexGeneratedAt"
],
"additionalProperties": false
}
},
"required": [
"type",
"image",
"title",
"speed",
"tamingMethod",
"isBuyable",
"price",
"priceCurrency",
"achievement",
"lightColor",
"lightRadius",
"clientId",
"status",
"source"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "outfit"
},
"title": {
"type": "string"
},
"outfitType": {
"type": [
"string",
"null"
]
},
"isPremium": {
"type": [
"boolean",
"null"
]
},
"isBought": {
"type": [
"boolean",
"null"
]
},
"isTournament": {
"type": [
"boolean",
"null"
]
},
"fullPrice": {
"type": [
"number",
"null"
]
},
"achievement": {
"type": [
"string",
"null"
]
},
"maleClientId": {
"type": [
"number",
"null"
]
},
"femaleClientId": {
"type": [
"number",
"null"
]
},
"status": {
"type": [
"string",
"null"
]
},
"quests": {
"type": "array",
"items": {
"type": "object",
"properties": {
"quest": {
"type": "string"
},
"unlockType": {
"type": [
"string",
"null"
]
}
},
"required": [
"quest",
"unlockType"
],
"additionalProperties": false
}
},
"detail": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"null"
]
}
},
"source": {
"type": "object",
"properties": {
"page": {
"type": "string"
},
"url": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"page",
"url",
"indexGeneratedAt"
],
"additionalProperties": false
}
},
"required": [
"type",
"title",
"outfitType",
"isPremium",
"isBought",
"isTournament",
"fullPrice",
"achievement",
"maleClientId",
"femaleClientId",
"status",
"quests",
"source"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "book"
},
"title": {
"type": "string"
},
"bookType": {
"type": [
"string",
"null"
]
},
"itemId": {
"type": [
"number",
"null"
]
},
"location": {
"type": [
"string",
"null"
]
},
"blurb": {
"type": [
"string",
"null"
]
},
"author": {
"type": [
"string",
"null"
]
},
"prevBook": {
"type": [
"string",
"null"
]
},
"nextBook": {
"type": [
"string",
"null"
]
},
"text": {
"type": [
"string",
"null"
]
},
"status": {
"type": [
"string",
"null"
]
},
"detail": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"null"
]
}
},
"source": {
"type": "object",
"properties": {
"page": {
"type": "string"
},
"url": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"page",
"url",
"indexGeneratedAt"
],
"additionalProperties": false
}
},
"required": [
"type",
"title",
"bookType",
"itemId",
"location",
"blurb",
"author",
"prevBook",
"nextBook",
"status",
"source"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "world"
},
"title": {
"type": "string"
},
"location": {
"type": [
"string",
"null"
]
},
"pvpType": {
"type": [
"string",
"null"
]
},
"isPreview": {
"type": [
"boolean",
"null"
]
},
"isExperimental": {
"type": [
"boolean",
"null"
]
},
"onlineSince": {
"type": [
"string",
"null"
]
},
"offlineSince": {
"type": [
"string",
"null"
]
},
"mergedInto": {
"type": [
"string",
"null"
]
},
"battleye": {
"type": [
"boolean",
"null"
]
},
"battleyeType": {
"type": [
"string",
"null"
]
},
"protectedSince": {
"type": [
"string",
"null"
]
},
"worldBoard": {
"type": [
"number",
"null"
]
},
"tradeBoard": {
"type": [
"number",
"null"
]
},
"detail": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"null"
]
}
},
"source": {
"type": "object",
"properties": {
"page": {
"type": "string"
},
"url": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"page",
"url",
"indexGeneratedAt"
],
"additionalProperties": false
}
},
"required": [
"type",
"title",
"location",
"pvpType",
"isPreview",
"isExperimental",
"onlineSince",
"offlineSince",
"mergedInto",
"battleye",
"battleyeType",
"protectedSince",
"worldBoard",
"tradeBoard",
"source"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "update"
},
"title": {
"type": "string"
},
"releaseDate": {
"type": [
"string",
"null"
]
},
"newsId": {
"type": [
"number",
"null"
]
},
"typePrimary": {
"type": [
"string",
"null"
]
},
"typeSecondary": {
"type": [
"string",
"null"
]
},
"previous": {
"type": [
"string",
"null"
]
},
"next": {
"type": [
"string",
"null"
]
},
"summary": {
"type": [
"string",
"null"
]
},
"changes": {
"type": [
"string",
"null"
]
},
"detail": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"null"
]
}
},
"source": {
"type": "object",
"properties": {
"page": {
"type": "string"
},
"url": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"page",
"url",
"indexGeneratedAt"
],
"additionalProperties": false
}
},
"required": [
"type",
"title",
"releaseDate",
"newsId",
"typePrimary",
"typeSecondary",
"previous",
"next",
"summary",
"changes",
"source"
],
"additionalProperties": false
}
]
}🟢tibia_search(query, types, include_inactive, limit, cursor)
Find Tibia pages of any kind whose name contains a substring. Items also match by the name and plural the game prints. Turns an approximate or in-game name into the exact page name tibia_get expects. With a query, shortest name first, so the closest match leads. With types and no query, lists every page of those types by title, as in "list every mount".
Input Schema
{
"type": "object",
"properties": {
"query": {
"description": "Substring to match against page names, case-insensitive. Omit it to list every page of types.",
"type": "string",
"minLength": 1
},
"types": {
"description": "Restrict to these kinds of page. Defaults to all. Required without a query.",
"type": "array",
"items": {
"type": "string",
"enum": [
"creature",
"item",
"npc",
"quest",
"spell",
"achievement",
"house",
"imbuement",
"charm",
"mount",
"outfit",
"book",
"world",
"update"
]
}
},
"include_inactive": {
"default": false,
"description": "Include deprecated, event-only and unavailable pages.",
"type": "boolean"
},
"limit": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"description": "Opaque cursor from a previous call.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"title",
"type"
],
"additionalProperties": false
}
},
"totalMatches": {
"type": "number"
},
"nextCursor": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"results",
"totalMatches",
"indexGeneratedAt"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢tibia_find_creatures(weak_to, resistant_to, experience_min, experience_max, hitpoints_min, ...)
Find Tibia creatures matching stat filters. Damage modifiers are percentages where 100 is neutral: "weak_to" means the creature takes MORE than 100% damage from that element, "resistant_to" means less. Use this for questions like "which creatures are weak to fire and give over 500 experience". Behaviour filters skip creatures whose value is unrecorded.
Input Schema
{
"type": "object",
"properties": {
"weak_to": {
"description": "Elements the creature takes extra damage from.",
"type": "array",
"items": {
"type": "string",
"enum": [
"physical",
"earth",
"fire",
"ice",
"energy",
"death",
"holy",
"drown",
"lifedrain",
"healing"
]
}
},
"resistant_to": {
"type": "array",
"items": {
"type": "string",
"enum": [
"physical",
"earth",
"fire",
"ice",
"energy",
"death",
"holy",
"drown",
"lifedrain",
"healing"
]
}
},
"experience_min": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"experience_max": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"hitpoints_min": {
"description": "Creatures whose hitpoints are unrecorded are excluded from this filter.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"hitpoints_max": {
"description": "Creatures whose hitpoints are unrecorded are excluded from this filter.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"bestiary_class": {
"description": "e.g. \"Dragon\", \"Human\".",
"type": "string"
},
"is_boss": {
"type": "boolean"
},
"sees_invisible": {
"type": "boolean"
},
"paralysable": {
"type": "boolean"
},
"pushable": {
"type": "boolean"
},
"summonable": {
"description": "true: summon cost above 0. false: 0.",
"type": "boolean"
},
"convinceable": {
"description": "true: convince cost above 0. false: 0.",
"type": "boolean"
},
"bestiary_level": {
"description": "Creatures with no recorded bestiary level are excluded from this filter.",
"type": "string",
"enum": [
"harmless",
"trivial",
"easy",
"medium",
"hard",
"challenging"
]
},
"location_contains": {
"description": "Substring of the location text.",
"type": "string"
},
"include_inactive": {
"default": false,
"type": "boolean"
},
"sort": {
"default": "experience",
"description": "experience, hitpoints and gold_per_kill: highest first.",
"type": "string",
"enum": [
"experience",
"hitpoints",
"title",
"gold_per_kill"
]
},
"limit": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"name": {
"description": "Name as the game prints it.",
"type": [
"string",
"null"
]
},
"hitpoints": {
"type": [
"number",
"null"
]
},
"experience": {
"type": [
"number",
"null"
]
},
"bestiaryClass": {
"type": [
"string",
"null"
]
},
"isBoss": {
"type": "boolean"
},
"modifiers": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"number",
"null"
]
}
},
"runsAt": {
"description": "Hit points at which it flees. 0: never flees.",
"type": [
"number",
"null"
]
},
"seesInvisible": {
"type": [
"boolean",
"null"
]
},
"paralysable": {
"type": [
"boolean",
"null"
]
},
"pushable": {
"type": [
"boolean",
"null"
]
},
"summonCost": {
"description": "Mana. 0: cannot be summoned.",
"type": [
"number",
"null"
]
},
"convinceCost": {
"description": "Mana. 0: cannot be convinced.",
"type": [
"number",
"null"
]
},
"goldPerKill": {
"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.",
"type": [
"number",
"null"
]
},
"raceId": {
"description": "Tibia client race ID, not unique: some creatures share one, such as boss phases. null: the wiki records none.",
"type": [
"number",
"null"
]
}
},
"required": [
"title",
"name",
"hitpoints",
"experience",
"bestiaryClass",
"isBoss",
"modifiers",
"runsAt",
"seesInvisible",
"paralysable",
"pushable",
"summonCost",
"convinceCost",
"goldPerKill",
"raceId"
],
"additionalProperties": false
}
},
"totalMatches": {
"type": "number"
},
"nextCursor": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"results",
"totalMatches",
"indexGeneratedAt"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢tibia_find_items(item_class, item_type, weapon_type, vocation, attack_min, ...)
Find Tibia items matching class, type and stat filters such as attack, defense, armor and required level, resistances, skill bonuses, imbuement slots, weight and hands. Use this for questions like "which two-handed swords need level 100 or less" or "which sorcerer items resist fire". Vocation and weapon type match by membership, so "knight" matches "knights". Call tibia_get on a title for the full item.
Input Schema
{
"type": "object",
"properties": {
"item_class": {
"description": "e.g. \"Weapons\", \"Armors\".",
"type": "string"
},
"item_type": {
"description": "e.g. \"Sword Weapons\".",
"type": "string"
},
"weapon_type": {
"description": "e.g. \"Sword\", \"Axe\", \"Club\".",
"type": "string"
},
"vocation": {
"description": "Matches required_vocation, e.g. \"knight\".",
"type": "string"
},
"attack_min": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"attack_max": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"defense_min": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"armor_min": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"required_level_max": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"resistant_to": {
"description": "Resists everything listed (resistance above 0).",
"type": "array",
"items": {
"type": "string",
"enum": [
"physical",
"earth",
"fire",
"ice",
"energy",
"death",
"holy",
"drown",
"lifedrain",
"manadrain",
"critical_hit"
]
}
},
"skill_bonus": {
"description": "Raises every listed skill.",
"type": "array",
"items": {
"type": "string",
"enum": [
"magic_level",
"sword",
"axe",
"club",
"distance",
"fist",
"shielding"
]
}
},
"imbuement_slots_min": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"weight_max": {
"description": "In oz. Items without a weight never match.",
"type": "number"
},
"hands": {
"type": "string",
"enum": [
"one",
"two"
]
},
"damage_type": {
"description": "Weapon element.",
"type": "string",
"enum": [
"death",
"earth",
"energy",
"fire",
"holy",
"ice",
"physical"
]
},
"leech": {
"description": "Leeches everything listed.",
"type": "array",
"items": {
"type": "string",
"enum": [
"life",
"mana"
]
}
},
"is_stackable": {
"type": "boolean"
},
"is_pickupable": {
"type": "boolean"
},
"client_ids": {
"description": "The item's client ID, any listed. Item variants can share one.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"include_inactive": {
"default": false,
"type": "boolean"
},
"sort": {
"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.",
"type": "string",
"enum": [
"title",
"weight",
"value",
"armor",
"attack",
"defense"
]
},
"limit": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"actualName": {
"description": "Name as the game prints it.",
"type": [
"string",
"null"
]
},
"itemClass": {
"type": [
"string",
"null"
]
},
"itemType": {
"type": [
"string",
"null"
]
},
"weight": {
"type": [
"number",
"null"
]
},
"valueBuy": {
"type": [
"number",
"null"
]
},
"valueBuyCurrency": {
"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.",
"type": [
"string",
"null"
]
},
"clientId": {
"type": [
"number",
"null"
]
},
"isStackable": {
"type": [
"boolean",
"null"
]
},
"isPickupable": {
"type": [
"boolean",
"null"
]
},
"attributes": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number"
]
}
}
},
"required": [
"title",
"actualName",
"itemClass",
"itemType",
"weight",
"valueBuy",
"valueBuyCurrency",
"clientId",
"isStackable",
"isPickupable",
"attributes"
],
"additionalProperties": false
}
},
"totalMatches": {
"type": "number"
},
"nextCursor": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"results",
"totalMatches",
"indexGeneratedAt"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢tibia_find_spells(vocation, level_max, group, element, spell_type, ...)
Find Tibia spells by vocation, level, group, element and type. Use this for questions like "which healing spells can a level 30 druid cast". Call tibia_get with a title for cooldowns, effect and area.
Input Schema
{
"type": "object",
"properties": {
"vocation": {
"type": "string",
"enum": [
"knight",
"sorcerer",
"druid",
"paladin",
"monk"
]
},
"level_max": {
"description": "Highest level the caster has.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"group": {
"description": "Runes are all filed under support, so find attack runes by spell_type and element.",
"type": "string",
"enum": [
"attack",
"healing",
"support",
"conjure"
]
},
"element": {
"description": "Damage element. For healing spells, use group.",
"type": "string",
"enum": [
"death",
"earth",
"energy",
"fire",
"holy",
"ice",
"physical"
]
},
"spell_type": {
"type": "string",
"enum": [
"instant",
"rune"
]
},
"is_premium": {
"type": "boolean"
},
"include_inactive": {
"default": false,
"type": "boolean"
},
"sort": {
"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.",
"type": "string",
"enum": [
"level",
"mana",
"title"
]
},
"limit": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"words": {
"type": [
"string",
"null"
]
},
"spellType": {
"type": [
"string",
"null"
]
},
"group": {
"type": [
"string",
"null"
]
},
"element": {
"type": [
"string",
"null"
]
},
"level": {
"type": [
"number",
"null"
]
},
"mana": {
"type": [
"number",
"null"
]
},
"vocations": {
"type": "array",
"items": {
"type": "string",
"enum": [
"knight",
"sorcerer",
"druid",
"paladin",
"monk"
]
}
},
"isPremium": {
"type": [
"boolean",
"null"
]
},
"isPromotion": {
"type": [
"boolean",
"null"
]
}
},
"required": [
"title",
"words",
"spellType",
"group",
"element",
"level",
"mana",
"vocations",
"isPremium",
"isPromotion"
],
"additionalProperties": false
}
},
"totalMatches": {
"type": "number"
},
"nextCursor": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"results",
"totalMatches",
"indexGeneratedAt"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢tibia_find_quests(level_max, is_premium, is_rookgaard, location_contains, include_inactive, ...)
Find Tibia quests by level, premium, Rookgaard and location, with their rewards. Use this for questions like "which quests can a level 20 character do". Call tibia_get with a title for the legend and dangers.
Input Schema
{
"type": "object",
"properties": {
"level_max": {
"description": "Highest level the character has. Quests with no level requirement always match.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"is_premium": {
"type": "boolean"
},
"is_rookgaard": {
"type": "boolean"
},
"location_contains": {
"description": "Literal substring of the location, case-insensitive.",
"type": "string",
"minLength": 1
},
"include_inactive": {
"default": false,
"type": "boolean"
},
"sort": {
"default": "level_recommended",
"description": "Levels ascend, title is alphabetical. Unknown levels come last.",
"type": "string",
"enum": [
"level_recommended",
"level_required",
"title"
]
},
"limit": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"location": {
"type": [
"string",
"null"
]
},
"levelRequired": {
"type": [
"number",
"null"
]
},
"levelRecommended": {
"type": [
"number",
"null"
]
},
"isPremium": {
"type": [
"boolean",
"null"
]
},
"estimatedTime": {
"type": [
"string",
"null"
]
},
"rewards": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"title",
"location",
"levelRequired",
"levelRecommended",
"isPremium",
"estimatedTime",
"rewards"
],
"additionalProperties": false
}
},
"totalMatches": {
"type": "number"
},
"nextCursor": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"results",
"totalMatches",
"indexGeneratedAt"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢tibia_find_houses(city, rent_max, beds_min, size_min, is_guildhall, ...)
Find Tibia houses and guildhalls by city, rent, beds and size. Use this for questions like "cheapest house in Thais with two beds". Call tibia_get with a title for its location and position.
Input Schema
{
"type": "object",
"properties": {
"city": {
"description": "Exact city name, e.g. \"Thais\", any case.",
"type": "string",
"minLength": 1
},
"rent_max": {
"description": "Highest monthly rent in gold.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"beds_min": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"size_min": {
"description": "Fewest tiles.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"is_guildhall": {
"type": "boolean"
},
"include_inactive": {
"default": false,
"type": "boolean"
},
"sort": {
"default": "rent",
"description": "rent ascends, size descends, title is alphabetical.",
"type": "string",
"enum": [
"rent",
"size",
"title"
]
},
"limit": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"city": {
"type": "string"
},
"street": {
"type": [
"string",
"null"
]
},
"rent": {
"type": [
"number",
"null"
]
},
"beds": {
"type": [
"number",
"null"
]
},
"size": {
"type": [
"number",
"null"
]
},
"rooms": {
"type": [
"number",
"null"
]
},
"floors": {
"type": [
"number",
"null"
]
},
"isGuildhall": {
"type": [
"boolean",
"null"
]
}
},
"required": [
"title",
"city",
"street",
"rent",
"beds",
"size",
"rooms",
"floors",
"isGuildhall"
],
"additionalProperties": false
}
},
"totalMatches": {
"type": "number"
},
"nextCursor": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"results",
"totalMatches",
"indexGeneratedAt"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢tibia_how_to_obtain(item_name, include_inactive)
Every in-game source for one item in a single call: which creatures drop it and how likely, which NPCs sell it and for how much (the price the player pays), and which quests reward it. Prefer this over three separate lookups.
Input Schema
{
"type": "object",
"properties": {
"item_name": {
"type": "string",
"minLength": 1,
"description": "Item page name or the name the game prints, e.g. \"Dragon Shield\"."
},
"include_inactive": {
"default": false,
"description": "Include deprecated or event-only creatures, NPCs and quests as sources.",
"type": "boolean"
}
},
"required": [
"item_name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"item": {
"type": "string"
},
"status": {
"type": [
"string",
"null"
]
},
"droppedBy": {
"type": "array",
"items": {
"type": "object",
"properties": {
"creature": {
"type": "string"
},
"chance": {
"type": [
"number",
"null"
]
},
"min": {
"type": [
"number",
"null"
]
},
"max": {
"type": [
"number",
"null"
]
}
},
"required": [
"creature",
"chance",
"min",
"max"
],
"additionalProperties": false
}
},
"soldByNpcs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"npc": {
"type": "string"
},
"city": {
"type": [
"string",
"null"
]
},
"price": {
"type": "number"
},
"currency": {
"type": "string"
}
},
"required": [
"npc",
"city",
"price",
"currency"
],
"additionalProperties": false
}
},
"questRewards": {
"type": "array",
"items": {
"type": "string"
}
},
"note": {
"type": "string"
},
"source": {
"type": "object",
"properties": {
"page": {
"type": "string"
},
"url": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"page",
"url",
"indexGeneratedAt"
],
"additionalProperties": false
}
},
"required": [
"item",
"status",
"droppedBy",
"soldByNpcs",
"questRewards",
"note",
"source"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢tibia_find_updates(text, released_after, released_before, limit, cursor)
Find Tibia game updates by text and release date, for questions like "what changed for knights in 2026" or "which update added X". Matches the text, case-insensitive for ASCII letters, in an update's title, name, summary and change list, newest first, and returns the matching change lines. For the full changes, call tibia_get with type "update" and the returned title.
Input Schema
{
"type": "object",
"properties": {
"text": {
"description": "Literal substring, e.g. \"knight\".",
"type": "string",
"minLength": 1
},
"released_after": {
"description": "YYYY-MM-DD, inclusive.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"released_before": {
"description": "YYYY-MM-DD, inclusive.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 50
},
"cursor": {
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"name": {
"type": [
"string",
"null"
]
},
"releaseDate": {
"type": [
"string",
"null"
]
},
"version": {
"type": [
"string",
"null"
]
},
"updateType": {
"type": [
"string",
"null"
]
},
"summary": {
"type": [
"string",
"null"
]
},
"matchingLines": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"title",
"name",
"releaseDate",
"version",
"updateType",
"summary",
"matchingLines"
],
"additionalProperties": false
}
},
"totalMatches": {
"type": "number"
},
"nextCursor": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"results",
"totalMatches",
"indexGeneratedAt"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢tibia_where_to_sell(items)
Answers "where do I sell all this": for each item, the active NPC paying the most, grouped by city and NPC. Prices are NPC prices in gold. Call tibia_get on an NPC for more.
Input Schema
{
"type": "object",
"properties": {
"items": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Item names, any case, as the wiki titles them or the game prints them, e.g. \"Dragon Shield\" or \"vial of lifefluid\"."
}
},
"required": [
"items"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"cities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"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.",
"type": [
"string",
"null"
]
},
"buyers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"npc": {
"type": "string"
},
"position": {
"type": "object",
"properties": {
"x": {
"type": [
"number",
"null"
]
},
"y": {
"type": [
"number",
"null"
]
},
"z": {
"type": [
"number",
"null"
]
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false,
"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."
},
"rashidSchedule": {
"type": "array",
"items": {
"type": "object",
"properties": {
"day": {
"type": "string"
},
"city": {
"type": [
"string",
"null"
]
},
"location": {
"type": [
"string",
"null"
]
},
"position": {
"type": "object",
"properties": {
"x": {
"type": [
"number",
"null"
]
},
"y": {
"type": [
"number",
"null"
]
},
"z": {
"type": [
"number",
"null"
]
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
}
},
"required": [
"day",
"city",
"location",
"position"
],
"additionalProperties": false
}
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string"
},
"input": {
"type": "string",
"description": "The name as you first wrote it."
},
"price": {
"type": "number"
}
},
"required": [
"item",
"input",
"price"
],
"additionalProperties": false
}
}
},
"required": [
"npc",
"position",
"items"
],
"additionalProperties": false
}
}
},
"required": [
"city",
"buyers"
],
"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",
"properties": {
"input": {
"type": "string"
},
"candidates": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"input",
"candidates"
],
"additionalProperties": false
},
"description": "Names more than one item goes by, with those items."
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"cities",
"noGoldBuyer",
"unknownItems",
"ambiguousItems",
"indexGeneratedAt"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢tibia_parse_loot(text, include_lines)
Parses loot messages as the game prints them, one per line, such as "12:34 Loot of a dragon: 2 small diamonds, a steel shield (active prey bonus)." It reads in-game names, not wiki titles. Gives totals by item with count and value, and entries it cannot resolve. Prices are NPC prices in gold, coins at face value. Other lines come back unparsed. Both lists stop at 100, their counts in totals do not.
Input Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 20000,
"description": "Loot messages, one per line."
},
"include_lines": {
"default": false,
"description": "Also give each line with its items, client IDs and prices.",
"type": "boolean"
}
},
"required": [
"text"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"lines": {
"description": "Each loot line, with include_lines.",
"type": "array",
"items": {
"type": "object",
"properties": {
"creature": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
},
"candidates": {
"type": "array",
"items": {
"type": "string"
},
"description": "Titles it may mean, when more than one."
}
},
"required": [
"text",
"title",
"candidates"
],
"additionalProperties": false
},
"note": {
"type": [
"string",
"null"
]
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"count": {
"description": "Null: no count from 1 to 1,000,000.",
"type": [
"number",
"null"
]
},
"item": {
"description": "Item title. Null: no single item.",
"type": [
"string",
"null"
]
},
"candidates": {
"type": "array",
"items": {
"type": "string"
},
"description": "Titles it may mean, when more than one."
},
"clientId": {
"type": [
"number",
"null"
]
},
"unitPrice": {
"description": "Coin face value, else best NPC price in gold.",
"type": [
"number",
"null"
]
},
"value": {
"description": "Null: no price, or too large to add exactly.",
"type": [
"number",
"null"
]
}
},
"required": [
"text",
"count",
"item",
"candidates",
"clientId",
"unitPrice",
"value"
],
"additionalProperties": false
}
}
},
"required": [
"creature",
"note",
"items"
],
"additionalProperties": false
}
},
"totals": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string"
},
"count": {
"type": "number"
},
"value": {
"type": [
"number",
"null"
]
}
},
"required": [
"item",
"count",
"value"
],
"additionalProperties": false
}
},
"gold": {
"type": "number",
"description": "Sum of the priced values."
},
"unresolved": {
"type": "number",
"description": "Entries with no single item."
},
"unpriced": {
"type": "number",
"description": "Entries of an item with no value."
},
"unparsed": {
"type": "number",
"description": "Lines that are no loot message."
}
},
"required": [
"items",
"gold",
"unresolved",
"unpriced",
"unparsed"
],
"additionalProperties": false
},
"unresolvedEntries": {
"type": "array",
"items": {
"type": "object",
"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."
}
},
"required": [
"line",
"text",
"candidates"
],
"additionalProperties": false
},
"description": "Entries with no single item, the first 100."
},
"unparsed": {
"type": "array",
"items": {
"type": "string"
},
"description": "Lines that are no loot message, the first 100."
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"totals",
"unresolvedEntries",
"unparsed",
"indexGeneratedAt"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢tibia_find_travel(to, from, include_inactive, sort, limit, ...)
Find boat, carpet and other travel routes to or from a place, with fares. Each row is one leg with its start (origin) and the NPC's recorded city, location and position. Rows are single legs: this does not plan journeys.
Input Schema
{
"type": "object",
"properties": {
"to": {
"description": "Exact destination, e.g. \"Svargrond\", any case.",
"type": "string",
"minLength": 1
},
"from": {
"description": "Exact start place of the leg, e.g. \"Meriana\", any case.",
"type": "string",
"minLength": 1
},
"include_inactive": {
"default": false,
"type": "boolean"
},
"sort": {
"default": "price",
"description": "price ascends with 0 fares last, npc is alphabetical.",
"type": "string",
"enum": [
"price",
"npc"
]
},
"limit": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"npc": {
"type": "string"
},
"city": {
"type": [
"string",
"null"
]
},
"subarea": {
"type": [
"string",
"null"
]
},
"location": {
"type": [
"string",
"null"
]
},
"position": {
"type": "object",
"properties": {
"x": {
"type": [
"number",
"null"
]
},
"y": {
"type": [
"number",
"null"
]
},
"z": {
"type": [
"number",
"null"
]
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"to": {
"type": "string"
},
"origin": {
"description": "Where the leg starts. null: not recorded, it starts at one of the NPC's positions.",
"type": [
"string",
"null"
]
},
"price": {
"description": "Route price in gold. 0: free or not recorded, see notes.",
"type": [
"number",
"null"
]
},
"notes": {
"type": [
"string",
"null"
]
}
},
"required": [
"npc",
"city",
"subarea",
"location",
"position",
"to",
"origin",
"price",
"notes"
],
"additionalProperties": false
}
},
"totalMatches": {
"type": "number"
},
"nextCursor": {
"type": "string"
},
"indexGeneratedAt": {
"type": "string"
}
},
"required": [
"results",
"totalMatches",
"indexGeneratedAt"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Recommended Prompts
tibia_searchtibia_searchtibia_gettibia_gettibia_searchtibia_getCommunity
Evidence