Skip to main content
Glama
tibia-sh
by tibia-sh

tibiawiki-mcp

An MCP server for TibiaWiki. It lets an AI assistant answer the questions the wiki itself cannot:

  • Which creatures are weak to fire and give over 500 experience?

  • What drops a Dragon Shield, and how likely is it?

  • Where do I buy a Steel Helmet, and for how much?

Every answer comes from a SQLite snapshot of the wiki that installs with the server. Queries return in milliseconds and work offline. The server makes no network calls.

Use it

Hosted, nothing to install

Add https://mcp.tibia.sh/wiki to your MCP client as a remote server. It needs no account and no key. In claude.ai, add it as a custom connector.

It allows about 300 messages a minute per IP address and writes no request logs. The landing page at https://mcp.tibia.sh shows the versions it runs. tibia-sh/mcp.tibia.sh has the details.

Claude Code

Install it as a plugin, from your terminal. You get the server and a skill that teaches the agent the traps in the data, like damage modifiers where 100 is neutral:

claude plugin marketplace add tibia-sh/tibiawiki-mcp
claude plugin install tibiawiki-mcp@tibiawiki-mcp

Any other MCP client

Add this to your client's MCP configuration, for example claude_desktop_config.json for Claude Desktop or .cursor/mcp.json for Cursor. It needs Node 22.13 or later:

{
  "mcpServers": {
    "tibiawiki": { "command": "npx", "args": ["-y", "@tibia.sh/tibiawiki-mcp"] }
  }
}

The first start downloads the package and its 18 MB index. After that it works offline.

Related MCP server: tibiawiki_en_mcp

Tools

You ask questions, and your assistant calls these:

Tool

Answers

tibia_search

"Is there a page called roughly X?"

tibia_get

"Tell me everything about X." X can be a creature, item, NPC, quest or spell

tibia_find_creatures

"Which creatures match these stats?"

tibia_find_items

"Which items match these stats?"

tibia_how_to_obtain

"Where do I get X?" Drops, vendors and quest rewards in one call

The server tells your assistant how to read the data, for example that a damage modifier of 100 is neutral. What the skill adds lists the traps.

How fresh the data is

The index is a snapshot. Every answer says when it was taken, as indexGeneratedAt. It ships as its own package, @tibia.sh/tibiawiki-data, rebuilt every week and released when the wiki changed. A fresh install gets the newest one. The hosted server follows each release by itself.

Why it exists

TibiaWiki runs on Fandom without Cargo, Semantic MediaWiki or CirrusSearch, so there is no way to query it by attribute. Every structured value is trapped inside Infobox wikitext, and the built-in search returns Dragon Necklace for fire resistant dragon. The public REST API over the same wiki exposes exactly one query parameter. Building a local index is the only way to ask a real question.

More

Attribution

Data from TibiaWiki (https://tibia.fandom.com), licensed CC BY-SA. Tibia is made by CipSoft; game content and images are copyright CipSoft GmbH.

The index is generated by tibiawiki-sql (Apache-2.0). Images are deliberately never fetched or stored.

This project's own code is MIT licensed, see LICENSE. That covers the code only. The data it serves is CC BY-SA and not ours to relicense.

Available Tools

5 tools
tibia_find_creaturesA
Read-only
Inspect

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".

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoexperience
limitNo
cursorNo
is_bossNo
weak_toNoElements the creature takes extra damage from.
resistant_toNo
hitpoints_maxNoCreatures whose hitpoints are unrecorded are excluded from this filter.
hitpoints_minNoCreatures whose hitpoints are unrecorded are excluded from this filter.
bestiary_classNoe.g. "Dragon", "Human".
experience_maxNo
experience_minNo
include_inactiveNo
location_containsNoSubstring of the location text.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
nextCursorNo
totalMatchesYes
indexGeneratedAtYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes beyond the readOnlyHint annotation by explaining the semantic meaning of the damage modifiers ('weak_to' means more than 100% damage, 'resistant_to' means less). This is critical for correct filter usage and is not derivable from the schema alone. It does not mention pagination or return format, but annotations already indicate a read-only, safe operation, and output schema exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler. The first sentence states the purpose, the second immediately clarifies the most non-trivial semantic detail and provides an example. Information is front-loaded and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 13 parameters and an output schema, the description covers the essential tricky part (damage modifiers) and gives a usage example. It does not explain defaults for parameters like limit, sort, or include_inactive, but those are present in the schema. The exclusion of unrecorded hitpoints is documented in the schema for the relevant parameters. Overall, the description is sufficient for an agent to call the tool correctly, though it could explicitly mention that filters combine logically and that results are returned as a list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 38%, leaving many parameters (sort, limit, cursor, is_boss, experience_min/max, etc.) undocumented in both schema and description. The description compensates for the damage-modifier parameters (weak_to, resistant_to) by explaining their meaning, but does not add value for the remaining parameters, which are fairly self-explanatory but still nominally under-documented. This partial compensation warrants a 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Find') and the resource ('Tibia creatures') with a specific scope ('matching stat filters'). It distinguishes from siblings: tibia_get and tibia_search likely retrieve specific entities, tibia_find_items is for items, and tibia_how_to_obtain is a process. The tool's purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a concrete example of when to use the tool ('which creatures are weak to fire and give over 500 experience'), which strongly implies typical usage scenarios. It does not explicitly mention alternatives or when not to use this tool, but the example is illustrative enough for an agent to recognize suitable queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tibia_find_itemsA
Read-only
Inspect

Find Tibia items matching class, type and stat filters such as attack, defense, armor and required level. Use this for questions like "which two-handed swords need level 100 or less". Vocation and weapon type match by membership, so "knight" matches "knights".

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNotitle
limitNo
cursorNo
vocationNoMatches required_vocation, e.g. "knight".
armor_minNo
item_typeNoe.g. "Sword Weapons".
attack_maxNo
attack_minNo
item_classNoe.g. "Weapons", "Armors".
defense_minNo
weapon_typeNoe.g. "Sword", "Axe", "Club".
include_inactiveNo
required_level_maxNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes
nextCursorNo
totalMatchesYes
indexGeneratedAtYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, covering safety. The description adds behavioral nuance beyond annotations: the membership matching rule ('knight' matches 'knights') and the fact that filters are stat-based. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the purpose and a clarifying example. Every clause earns its place, and the membership nuance is integrated naturally without bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a filter-based search tool with 13 optional parameters, an output schema, and read-only annotations, the description covers the primary use case and key behavior. It doesn't explain pagination (cursor/limit) or the include_inactive flag, but these are secondary to the core query pattern. Adequate for an agent to invoke it correctly in most scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 31%, and the description mentions 'attack, defense, armor and required level' but doesn't explain the min/max variants or that these are range filters. The example implies required_level_max, but many parameters (sort, limit, cursor, include_inactive) are left unexplained. It adds some meaning beyond the schema but does not fully compensate for the low coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Find'), resource ('Tibia items'), and scope ('matching class, type and stat filters'). The example query clarifies the exact kind of question it answers, distinguishing it from sibling tools like tibia_search (likely broader) and tibia_find_creatures (creatures, not items).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete use case ('which two-handed swords need level 100 or less') and a membership nuance for vocation/weapon type. It doesn't explicitly state when not to use it or contrast with alternatives, but the example strongly implies the appropriate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tibia_getA
Read-only
Inspect

Full detail for one named Tibia page of any kind: creature (with its loot table, abilities and max damage), item, npc, quest, spell, achievement, house, imbuement, charm, mount, outfit, book, world or update. Takes an exact page name — use tibia_search first if it is uncertain. Pass type to disambiguate 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 extra sprite layers (a second effect the scene draws), '?' an unrecognised value. effectTiles counts effect tiles only. effectOnCaster says whether the caster is caught in its own effect; it is stated by the wiki, not read off the grid.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPage name, e.g. "Dragon Lord". Case-insensitive.
typeNoRestrict the lookup to one kind of page.
verbosityNo"detailed" adds extra descriptive columns.concise
include_inactiveNoInclude deprecated, event-only and unavailable pages. Applies to the requested page.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description wisely does not repeat that. It adds substantial non-obvious behavior: the full grammar of creature ability `area` grids, the meaning of effectTiles, and the caveat that effectOnCaster is wiki-stated rather than read from the grid. That is exactly the kind of context structured fields cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and usage guidance are front-loaded, and the later area-grid passage is dense but not padded. Each clause adds a distinct semantic fact. It is longer than typical descriptions, but the length is justified by the genuinely complex output format it explains.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With four parameters, 100% schema coverage, an output schema, and readOnly annotations, the description covers lookup semantics and the one deeply non-obvious output field. It does not describe missing-page behavior in prose, but that is not required given the output schema and the search-first instruction.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The prose adds meaning beyond the schema by explaining that `name` must be exact and that `type` resolves shared-name collisions. It does not add much for verbosity/include_inactive, but those are fully described in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names the operation ('Full detail') and the resource ('one named Tibia page') and enumerates every page kind, clearly distinguishing it from the search/find siblings. It even routes to tibia_search for uncertain names, so an agent can immediately tell what tibia_get is for.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to use tibia_search first when the page name is uncertain and to pass `type` to disambiguate shared names. This gives concrete decision rules for the main usage choices without leaving them to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tibia_how_to_obtainA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
item_nameYesItem page name, e.g. "Dragon Shield".
include_inactiveNoInclude deprecated or event-only creatures, NPCs and quests as sources.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes
noteYes
sourceYes
statusYes
droppedByYes
soldByNpcsYes
questRewardsYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description adds no contradictory behavior. It adds useful context about the returned information (drop rates, NPC prices, quest rewards) without needing to restate the read-only nature. It does not cover rate limits or auth, but the simple read-only profile makes this adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero filler: the first front-loads the core purpose and resource scope, the second gives the usage preference. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool with an output schema and read-only annotations, the description covers what it does and when to use it. The only minor gap is not explicitly explaining when include_inactive should be true, but the schema already documents it, so no critical information is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with both item_name and include_inactive described in the input schema. The description adds the single-item aggregation context but does not elaborate parameter behavior, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource ('one item') and action ('Every in-game source ... in a single call'), enumerating creature drops, NPC sales, and quest rewards. This clearly differentiates it from siblings like tibia_find_items and tibia_find_creatures by emphasizing aggregation across source types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit guidance: 'Prefer this over three separate lookups,' which tells the agent when to choose this tool instead of performing multiple queries. It does not name the specific alternatives or exclusion conditions, but the context is clear enough for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv0.5.0
    • Changedtibia_find_creatures15 fields changed
      • removedInput schema / additionalProperties
        Removed value: -{}
      • addedInput schema / properties / bestiary_class
        Added value: +{
        +  "description": "e.g. \"Dragon\", \"Human\".",
        +  "type": "string"
        +}
      • addedInput schema / properties / cursor
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / experience_max
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / experience_min
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / hitpoints_max
        Added value: +{
        +  "description": "Creatures whose hitpoints are unrecorded are excluded from this filter.",
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / hitpoints_min
        Added value: +{
        +  "description": "Creatures whose hitpoints are unrecorded are excluded from this filter.",
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / include_inactive
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedInput schema / properties / is_boss
        Added value: +{
        +  "type": "boolean"
        +}
      • addedInput schema / properties / limit
        Added value: +{
        +  "default": 25,
        +  "maximum": 100,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / location_contains
        Added value: +{
        +  "description": "Substring of the location text.",
        +  "type": "string"
        +}
      • addedInput schema / properties / resistant_to
        Added value: +{
        +  "items": {
        +    "enum": [
        +      "physical",
        +      "earth",
        +      "fire",
        +      "ice",
        +      "energy",
        +      "death",
        +      "holy",
        +      "drown",
        +      "lifedrain",
        +      "healing"
        +    ],
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / sort
        Added value: +{
        +  "default": "experience",
        +  "enum": [
        +    "experience",
        +    "hitpoints",
        +    "title"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / weak_to
        Added value: +{
        +  "description": "Elements the creature takes extra damage from.",
        +  "items": {
        +    "enum": [
        +      "physical",
        +      "earth",
        +      "fire",
        +      "ice",
        +      "energy",
        +      "death",
        +      "holy",
        +      "drown",
        +      "lifedrain",
        +      "healing"
        +    ],
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "indexGeneratedAt": {
        +      "type": "string"
        +    },
        +    "nextCursor": {
        +      "type": "string"
        +    },
        +    "results": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "bestiaryClass": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "experience": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "hitpoints": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "isBoss": {
        +            "type": "boolean"
        +          },
        +          "modifiers": {
        +            "additionalProperties": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "propertyNames": {
        +              "type": "string"
        +            },
        +            "type": "object"
        +          },
        +          "title": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "title",
        +          "hitpoints",
        +          "experience",
        +          "bestiaryClass",
        +          "isBoss",
        +          "modifiers"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "totalMatches": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "results",
        +    "totalMatches",
        +    "indexGeneratedAt"
        +  ],
        +  "type": "object"
        +}
    • Changedtibia_find_items15 fields changed
      • removedInput schema / additionalProperties
        Removed value: -{}
      • addedInput schema / properties / armor_min
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / attack_max
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / attack_min
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / cursor
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / defense_min
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / include_inactive
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedInput schema / properties / item_class
        Added value: +{
        +  "description": "e.g. \"Weapons\", \"Armors\".",
        +  "type": "string"
        +}
      • addedInput schema / properties / item_type
        Added value: +{
        +  "description": "e.g. \"Sword Weapons\".",
        +  "type": "string"
        +}
      • addedInput schema / properties / limit
        Added value: +{
        +  "default": 25,
        +  "maximum": 100,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / required_level_max
        Added value: +{
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • addedInput schema / properties / sort
        Added value: +{
        +  "default": "title",
        +  "enum": [
        +    "title",
        +    "weight",
        +    "value"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / vocation
        Added value: +{
        +  "description": "Matches required_vocation, e.g. \"knight\".",
        +  "type": "string"
        +}
      • addedInput schema / properties / weapon_type
        Added value: +{
        +  "description": "e.g. \"Sword\", \"Axe\", \"Club\".",
        +  "type": "string"
        +}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "indexGeneratedAt": {
        +      "type": "string"
        +    },
        +    "nextCursor": {
        +      "type": "string"
        +    },
        +    "results": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "attributes": {
        +            "additionalProperties": {
        +              "type": [
        +                "string",
        +                "number"
        +              ]
        +            },
        +            "propertyNames": {
        +              "type": "string"
        +            },
        +            "type": "object"
        +          },
        +          "itemClass": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "itemType": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "title": {
        +            "type": "string"
        +          },
        +          "valueBuy": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "weight": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "title",
        +          "itemClass",
        +          "itemType",
        +          "weight",
        +          "valueBuy",
        +          "attributes"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "totalMatches": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "results",
        +    "totalMatches",
        +    "indexGeneratedAt"
        +  ],
        +  "type": "object"
        +}
    • Changedtibia_get7 fields changed
      • removedInput schema / additionalProperties
        Removed value: -{}
      • addedInput schema / properties / include_inactive
        Added value: +{
        +  "default": false,
        +  "description": "Include deprecated, event-only and unavailable pages. Applies to the requested page.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / name
        Added value: +{
        +  "description": "Page name, e.g. \"Dragon Lord\". Case-insensitive.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • addedInput schema / properties / type
        Added value: +{
        +  "description": "Restrict the lookup to one kind of page.",
        +  "enum": [
        +    "creature",
        +    "item",
        +    "npc",
        +    "quest",
        +    "spell",
        +    "achievement",
        +    "house",
        +    "imbuement",
        +    "charm",
        +    "mount",
        +    "outfit",
        +    "book",
        +    "world",
        +    "update"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / verbosity
        Added value: +{
        +  "default": "concise",
        +  "description": "\"detailed\" adds extra descriptive columns.",
        +  "enum": [
        +    "concise",
        +    "detailed"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "name"
        +]
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "abilities": {
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "area": {
        +                "anyOf": [
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "ascii": {
        +                        "type": "string"
        +                      },
        +                      "cells": {
        +                        "items": {
        +                          "type": "number"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "effectOnCaster": {
        +                        "type": "boolean"
        +                      },
        +                      "effectTiles": {
        +                        "type": "number"
        +                      },
        +                      "height": {
        +                        "type": "number"
        +                      },
        +                      "key": {
        +                        "type": "string"
        +                      },
        +                      "width": {
        +                        "type": "number"
        +                      }
        +                    },
        +                    "required": [
        +                      "key",
        +                      "width",
        +                      "height",
        +                      "cells",
        +                      "ascii",
        +                      "effectTiles",
        +                      "effectOnCaster"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "effect": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "element": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "name": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "name",
        +              "effect",
        +              "element",
        +              "area"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "armor": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "bestiaryClass": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "detail": {
        +          "additionalProperties": {
        +            "type": [
        +              "string",
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "experience": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "hitpoints": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "image": {
        +          "anyOf": [
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "descriptionUrl": {
        +                  "type": "string"
        +                },
        +                "fileName": {
        +                  "type": "string"
        +                },
        +                "height": {
        +                  "type": "number"
        +                },
        +                "mimeType": {
        +                  "type": "string"
        +                },
        +                "url": {
        +                  "type": "string"
        +                },
        +                "width": {
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "fileName",
        +                "url",
        +                "descriptionUrl",
        +                "width",
        +                "height",
        +                "mimeType"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "Sprite image link. Dimensions are pixels, not map squares."
        +        },
        +        "isBoss": {
        +          "type": "boolean"
        +        },
        +        "loot": {
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "chance": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "item": {
        +                "type": "string"
        +              },
        +              "max": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "min": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "item",
        +              "chance",
        +              "min",
        +              "max"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "maxDamage": {
        +          "anyOf": [
        +            {
        +              "additionalProperties": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "propertyNames": {
        +                "type": "string"
        +              },
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "modifiers": {
        +          "additionalProperties": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "sounds": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "source": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "indexGeneratedAt": {
        +              "type": "string"
        +            },
        +            "page": {
        +              "type": "string"
        +            },
        +            "url": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "page",
        +            "url",
        +            "indexGeneratedAt"
        +          ],
        +          "type": "object"
        +        },
        +        "speed": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "status": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "const": "creature",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "image",
        +        "title",
        +        "hitpoints",
        +        "experience",
        +        "armor",
        +        "speed",
        +        "bestiaryClass",
        +        "isBoss",
        +        "status",
        +        "modifiers",
        +        "loot",
        +        "abilities",
        +        "maxDamage",
        +        "sounds",
        +        "source"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "attributes": {
        +          "additionalProperties": {
        +            "type": [
        +              "string",
        +              "number"
        +            ]
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "detail": {
        +          "additionalProperties": {
        +            "type": [
        +              "string",
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "image": {
        +          "anyOf": [
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "descriptionUrl": {
        +                  "type": "string"
        +                },
        +                "fileName": {
        +                  "type": "string"
        +                },
        +                "height": {
        +                  "type": "number"
        +                },
        +                "mimeType": {
        +                  "type": "string"
        +                },
        +                "url": {
        +                  "type": "string"
        +                },
        +                "width": {
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "fileName",
        +                "url",
        +                "descriptionUrl",
        +                "width",
        +                "height",
        +                "mimeType"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "Sprite image link. Dimensions are pixels, not map squares."
        +        },
        +        "isMarketable": {
        +          "type": [
        +            "boolean",
        +            "null"
        +          ]
        +        },
        +        "itemClass": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "itemType": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "keys": {
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "location": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "material": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "name": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "notes": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "number": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "title": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "title",
        +              "number",
        +              "name",
        +              "material",
        +              "location",
        +              "notes"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "proficiencyPerks": {
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "effect": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "level": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "skill": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "level",
        +              "effect",
        +              "skill"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "sounds": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "source": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "indexGeneratedAt": {
        +              "type": "string"
        +            },
        +            "page": {
        +              "type": "string"
        +            },
        +            "url": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "page",
        +            "url",
        +            "indexGeneratedAt"
        +          ],
        +          "type": "object"
        +        },
        +        "status": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "storeOffers": {
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "amount": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "currency": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "price": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "price",
        +              "amount",
        +              "currency"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "const": "item",
        +          "type": "string"
        +        },
        +        "typeSecondary": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "valueBuy": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "valueSell": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "weight": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "image",
        +        "title",
        +        "itemClass",
        +        "itemType",
        +        "typeSecondary",
        +        "weight",
        +        "valueBuy",
        +        "valueSell",
        +        "isMarketable",
        +        "status",
        +        "attributes",
        +        "keys",
        +        "storeOffers",
        +        "proficiencyPerks",
        +        "sounds",
        +        "source"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "city": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "destinations": {
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "name": {
        +                "type": "string"
        +              },
        +              "notes": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "price": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "name",
        +              "price",
        +              "notes"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "detail": {
        +          "additionalProperties": {
        +            "type": [
        +              "string",
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "gender": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "image": {
        +          "anyOf": [
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "descriptionUrl": {
        +                  "type": "string"
        +                },
        +                "fileName": {
        +                  "type": "string"
        +                },
        +                "height": {
        +                  "type": "number"
        +                },
        +                "mimeType": {
        +                  "type": "string"
        +                },
        +                "url": {
        +                  "type": "string"
        +                },
        +                "width": {
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "fileName",
        +                "url",
        +                "descriptionUrl",
        +                "width",
        +                "height",
        +                "mimeType"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "Sprite image link. Dimensions are pixels, not map squares."
        +        },
        +        "jobs": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "location": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "position": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "x": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "y": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "z": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "x",
        +            "y",
        +            "z"
        +          ],
        +          "type": "object"
        +        },
        +        "races": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "rashidSchedule": {
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "city": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "day": {
        +                "type": "string"
        +              },
        +              "location": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "position": {
        +                "additionalProperties": false,
        +                "properties": {
        +                  "x": {
        +                    "type": [
        +                      "number",
        +                      "null"
        +                    ]
        +                  },
        +                  "y": {
        +                    "type": [
        +                      "number",
        +                      "null"
        +                    ]
        +                  },
        +                  "z": {
        +                    "type": [
        +                      "number",
        +                      "null"
        +                    ]
        +                  }
        +                },
        +                "required": [
        +                  "x",
        +                  "y",
        +                  "z"
        +                ],
        +                "type": "object"
        +              }
        +            },
        +            "required": [
        +              "day",
        +              "city",
        +              "location",
        +              "position"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "source": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "indexGeneratedAt": {
        +              "type": "string"
        +            },
        +            "page": {
        +              "type": "string"
        +            },
        +            "url": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "page",
        +            "url",
        +            "indexGeneratedAt"
        +          ],
        +          "type": "object"
        +        },
        +        "status": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "subarea": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "const": "npc",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "image",
        +        "title",
        +        "gender",
        +        "city",
        +        "subarea",
        +        "location",
        +        "position",
        +        "status",
        +        "jobs",
        +        "races",
        +        "destinations",
        +        "source"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "dangers": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "detail": {
        +          "additionalProperties": {
        +            "type": [
        +              "string",
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "isPremium": {
        +          "type": [
        +            "boolean",
        +            "null"
        +          ]
        +        },
        +        "legend": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "levelRecommended": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "levelRequired": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "location": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "questLog": {
        +          "type": [
        +            "boolean",
        +            "null"
        +          ]
        +        },
        +        "rewards": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "source": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "indexGeneratedAt": {
        +              "type": "string"
        +            },
        +            "page": {
        +              "type": "string"
        +            },
        +            "url": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "page",
        +            "url",
        +            "indexGeneratedAt"
        +          ],
        +          "type": "object"
        +        },
        +        "status": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "const": "quest",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "title",
        +        "location",
        +        "levelRequired",
        +        "levelRecommended",
        +        "isPremium",
        +        "questLog",
        +        "legend",
        +        "status",
        +        "dangers",
        +        "rewards",
        +        "source"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "areaShape": {
        +          "anyOf": [
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "affectedTiles": {
        +                  "type": "number"
        +                },
        +                "ascii": {
        +                  "type": "string"
        +                },
        +                "cells": {
        +                  "items": {
        +                    "type": "number"
        +                  },
        +                  "type": "array"
        +                },
        +                "corroborated": {
        +                  "type": "boolean"
        +                },
        +                "derivedFrom": {
        +                  "const": "animation",
        +                  "type": "string"
        +                },
        +                "height": {
        +                  "type": "number"
        +                },
        +                "sourceImage": {
        +                  "type": "string"
        +                },
        +                "sourceUrl": {
        +                  "type": "string"
        +                },
        +                "width": {
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "width",
        +                "height",
        +                "cells",
        +                "ascii",
        +                "affectedTiles",
        +                "derivedFrom",
        +                "sourceImage",
        +                "sourceUrl",
        +                "corroborated"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "Tiles a spell covers, read from its wiki animation."
        +        },
        +        "cooldown": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "detail": {
        +          "additionalProperties": {
        +            "type": [
        +              "string",
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "element": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "image": {
        +          "anyOf": [
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "descriptionUrl": {
        +                  "type": "string"
        +                },
        +                "fileName": {
        +                  "type": "string"
        +                },
        +                "height": {
        +                  "type": "number"
        +                },
        +                "mimeType": {
        +                  "type": "string"
        +                },
        +                "url": {
        +                  "type": "string"
        +                },
        +                "width": {
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "fileName",
        +                "url",
        +                "descriptionUrl",
        +                "width",
        +                "height",
        +                "mimeType"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "Sprite image link. Dimensions are pixels, not map squares."
        +        },
        +        "isPremium": {
        +          "type": [
        +            "boolean",
        +            "null"
        +          ]
        +        },
        +        "level": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "mana": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "soul": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "source": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "indexGeneratedAt": {
        +              "type": "string"
        +            },
        +            "page": {
        +              "type": "string"
        +            },
        +            "url": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "page",
        +            "url",
        +            "indexGeneratedAt"
        +          ],
        +          "type": "object"
        +        },
        +        "spellType": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "status": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "const": "spell",
        +          "type": "string"
        +        },
        +        "words": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "areaShape",
        +        "image",
        +        "title",
        +        "words",
        +        "spellType",
        +        "element",
        +        "mana",
        +        "level",
        +        "soul",
        +        "isPremium",
        +        "cooldown",
        +        "status",
        +        "source"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "achievementId": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "description": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "detail": {
        +          "additionalProperties": {
        +            "type": [
        +              "string",
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "grade": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "isPremium": {
        +          "type": [
        +            "boolean",
        +            "null"
        +          ]
        +        },
        +        "isSecret": {
        +          "type": [
        +            "boolean",
        +            "null"
        +          ]
        +        },
        +        "points": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "source": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "indexGeneratedAt": {
        +              "type": "string"
        +            },
        +            "page": {
        +              "type": "string"
        +            },
        +            "url": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "page",
        +            "url",
        +            "indexGeneratedAt"
        +          ],
        +          "type": "object"
        +        },
        +        "spoiler": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "status": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "const": "achievement",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "title",
        +        "grade",
        +        "points",
        +        "description",
        +        "spoiler",
        +        "isSecret",
        +        "isPremium",
        +        "achievementId",
        +        "status",
        +        "source"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "beds": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "city": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "detail": {
        +          "additionalProperties": {
        +            "type": [
        +              "string",
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "floors": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "houseId": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "isGuildhall": {
        +          "type": [
        +            "boolean",
        +            "null"
        +          ]
        +        },
        +        "location": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "position": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "x": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "y": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "z": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "x",
        +            "y",
        +            "z"
        +          ],
        +          "type": "object"
        +        },
        +        "rent": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "rooms": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "size": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "source": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "indexGeneratedAt": {
        +              "type": "string"
        +            },
        +            "page": {
        +              "type": "string"
        +            },
        +            "url": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "page",
        +            "url",
        +            "indexGeneratedAt"
        +          ],
        +          "type": "object"
        +        },
        +        "status": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "street": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "const": "house",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "title",
        +        "houseId",
        +        "city",
        +        "street",
        +        "location",
        +        "beds",
        +        "rent",
        +        "size",
        +        "rooms",
        +        "floors",
        +        "position",
        +        "isGuildhall",
        +        "status",
        +        "source"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "category": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "detail": {
        +          "additionalProperties": {
        +            "type": [
        +              "string",
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "effect": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "image": {
        +          "anyOf": [
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "descriptionUrl": {
        +                  "type": "string"
        +                },
        +                "fileName": {
        +                  "type": "string"
        +                },
        +                "height": {
        +                  "type": "number"
        +                },
        +                "mimeType": {
        +                  "type": "string"
        +                },
        +                "url": {
        +                  "type": "string"
        +                },
        +                "width": {
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "fileName",
        +                "url",
        +                "descriptionUrl",
        +                "width",
        +                "height",
        +                "mimeType"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "Sprite image link. Dimensions are pixels, not map squares."
        +        },
        +        "imbuementType": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "materials": {
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "amount": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "item": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "item",
        +              "amount"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "slots": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "source": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "indexGeneratedAt": {
        +              "type": "string"
        +            },
        +            "page": {
        +              "type": "string"
        +            },
        +            "url": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "page",
        +            "url",
        +            "indexGeneratedAt"
        +          ],
        +          "type": "object"
        +        },
        +        "status": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "tier": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "const": "imbuement",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "image",
        +        "title",
        +        "tier",
        +        "category",
        +        "imbuementType",
        +        "effect",
        +        "slots",
        +        "status",
        +        "materials",
        +        "source"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "charmType": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "costs": {
        +          "items": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "type": "array"
        +        },
        +        "detail": {
        +          "additionalProperties": {
        +            "type": [
        +              "string",
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "effect": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "image": {
        +          "anyOf": [
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "descriptionUrl": {
        +                  "type": "string"
        +                },
        +                "fileName": {
        +                  "type": "string"
        +                },
        +                "height": {
        +                  "type": "number"
        +                },
        +                "mimeType": {
        +                  "type": "string"
        +                },
        +                "url": {
        +                  "type": "string"
        +                },
        +                "width": {
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "fileName",
        +                "url",
        +                "descriptionUrl",
        +                "width",
        +                "height",
        +                "mimeType"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "Sprite image link. Dimensions are pixels, not map squares."
        +        },
        +        "source": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "indexGeneratedAt": {
        +              "type": "string"
        +            },
        +            "page": {
        +              "type": "string"
        +            },
        +            "url": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "page",
        +            "url",
        +            "indexGeneratedAt"
        +          ],
        +          "type": "object"
        +        },
        +        "status": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "const": "charm",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "image",
        +        "title",
        +        "charmType",
        +        "effect",
        +        "costs",
        +        "status",
        +        "source"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "achievement": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "detail": {
        +          "additionalProperties": {
        +            "type": [
        +              "string",
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "image": {
        +          "anyOf": [
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "descriptionUrl": {
        +                  "type": "string"
        +                },
        +                "fileName": {
        +                  "type": "string"
        +                },
        +                "height": {
        +                  "type": "number"
        +                },
        +                "mimeType": {
        +                  "type": "string"
        +                },
        +                "url": {
        +                  "type": "string"
        +                },
        +                "width": {
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "fileName",
        +                "url",
        +                "descriptionUrl",
        +                "width",
        +                "height",
        +                "mimeType"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ],
        +          "description": "Sprite image link. Dimensions are pixels, not map squares."
        +        },
        +        "isBuyable": {
        +          "type": [
        +            "boolean",
        +            "null"
        +          ]
        +        },
        +        "lightColor": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "lightRadius": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "price": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "source": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "indexGeneratedAt": {
        +              "type": "string"
        +            },
        +            "page": {
        +              "type": "string"
        +            },
        +            "url": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "page",
        +            "url",
        +            "indexGeneratedAt"
        +          ],
        +          "type": "object"
        +        },
        +        "speed": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "status": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "tamingMethod": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "const": "mount",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "image",
        +        "title",
        +        "speed",
        +        "tamingMethod",
        +        "isBuyable",
        +        "price",
        +        "achievement",
        +        "lightColor",
        +        "lightRadius",
        +        "status",
        +        "source"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "achievement": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "detail": {
        +          "additionalProperties": {
        +            "type": [
        +              "string",
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "fullPrice": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "isBought": {
        +          "type": [
        +            "boolean",
        +            "null"
        +          ]
        +        },
        +        "isPremium": {
        +          "type": [
        +            "boolean",
        +            "null"
        +          ]
        +        },
        +        "isTournament": {
        +          "type": [
        +            "boolean",
        +            "null"
        +          ]
        +        },
        +        "outfitType": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "quests": {
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "quest": {
        +                "type": "string"
        +              },
        +              "unlockType": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "quest",
        +              "unlockType"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "source": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "indexGeneratedAt": {
        +              "type": "string"
        +            },
        +            "page": {
        +              "type": "string"
        +            },
        +            "url": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "page",
        +            "url",
        +            "indexGeneratedAt"
        +          ],
        +          "type": "object"
        +        },
        +        "status": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "const": "outfit",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "title",
        +        "outfitType",
        +        "isPremium",
        +        "isBought",
        +        "isTournament",
        +        "fullPrice",
        +        "achievement",
        +        "status",
        +        "quests",
        +        "source"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "author": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "blurb": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "bookType": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "detail": {
        +          "additionalProperties": {
        +            "type": [
        +              "string",
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "itemId": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "location": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "nextBook": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "prevBook": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "source": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "indexGeneratedAt": {
        +              "type": "string"
        +            },
        +            "page": {
        +              "type": "string"
        +            },
        +            "url": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "page",
        +            "url",
        +            "indexGeneratedAt"
        +          ],
        +          "type": "object"
        +        },
        +        "status": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "text": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "const": "book",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "title",
        +        "bookType",
        +        "itemId",
        +        "location",
        +        "blurb",
        +        "author",
        +        "prevBook",
        +        "nextBook",
        +        "status",
        +        "source"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "battleye": {
        +          "type": [
        +            "boolean",
        +            "null"
        +          ]
        +        },
        +        "battleyeType": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "detail": {
        +          "additionalProperties": {
        +            "type": [
        +              "string",
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "isExperimental": {
        +          "type": [
        +            "boolean",
        +            "null"
        +          ]
        +        },
        +        "isPreview": {
        +          "type": [
        +            "boolean",
        +            "null"
        +          ]
        +        },
        +        "location": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "mergedInto": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "offlineSince": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "onlineSince": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "protectedSince": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "pvpType": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "source": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "indexGeneratedAt": {
        +              "type": "string"
        +            },
        +            "page": {
        +              "type": "string"
        +            },
        +            "url": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "page",
        +            "url",
        +            "indexGeneratedAt"
        +          ],
        +          "type": "object"
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "tradeBoard": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "type": {
        +          "const": "world",
        +          "type": "string"
        +        },
        +        "worldBoard": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "title",
        +        "location",
        +        "pvpType",
        +        "isPreview",
        +        "isExperimental",
        +        "onlineSince",
        +        "offlineSince",
        +        "mergedInto",
        +        "battleye",
        +        "battleyeType",
        +        "protectedSince",
        +        "worldBoard",
        +        "tradeBoard",
        +        "source"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "changes": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "detail": {
        +          "additionalProperties": {
        +            "type": [
        +              "string",
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "newsId": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "next": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "previous": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "releaseDate": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "source": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "indexGeneratedAt": {
        +              "type": "string"
        +            },
        +            "page": {
        +              "type": "string"
        +            },
        +            "url": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "page",
        +            "url",
        +            "indexGeneratedAt"
        +          ],
        +          "type": "object"
        +        },
        +        "summary": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "const": "update",
        +          "type": "string"
        +        },
        +        "typePrimary": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "typeSecondary": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "title",
        +        "releaseDate",
        +        "newsId",
        +        "typePrimary",
        +        "typeSecondary",
        +        "previous",
        +        "next",
        +        "summary",
        +        "changes",
        +        "source"
        +      ],
        +      "type": "object"
        +    }
        +  ],
        +  "type": "object"
        +}
    • Changedtibia_how_to_obtain5 fields changed
      • removedInput schema / additionalProperties
        Removed value: -{}
      • addedInput schema / properties / include_inactive
        Added value: +{
        +  "default": false,
        +  "description": "Include deprecated or event-only creatures, NPCs and quests as sources.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / item_name
        Added value: +{
        +  "description": "Item page name, e.g. \"Dragon Shield\".",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "item_name"
        +]
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "droppedBy": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "chance": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "creature": {
        +            "type": "string"
        +          },
        +          "max": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "min": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "creature",
        +          "chance",
        +          "min",
        +          "max"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "item": {
        +      "type": "string"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "questRewards": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "soldByNpcs": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "city": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "currency": {
        +            "type": "string"
        +          },
        +          "npc": {
        +            "type": "string"
        +          },
        +          "price": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "npc",
        +          "city",
        +          "price",
        +          "currency"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "source": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "indexGeneratedAt": {
        +          "type": "string"
        +        },
        +        "page": {
        +          "type": "string"
        +        },
        +        "url": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "page",
        +        "url",
        +        "indexGeneratedAt"
        +      ],
        +      "type": "object"
        +    },
        +    "status": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    }
        +  },
        +  "required": [
        +    "item",
        +    "status",
        +    "droppedBy",
        +    "soldByNpcs",
        +    "questRewards",
        +    "note",
        +    "source"
        +  ],
        +  "type": "object"
        +}
    • Changedtibia_search8 fields changed
      • removedInput schema / additionalProperties
        Removed value: -{}
      • addedInput schema / properties / cursor
        Added value: +{
        +  "description": "Opaque cursor from a previous call.",
        +  "type": "string"
        +}
      • addedInput schema / properties / include_inactive
        Added value: +{
        +  "default": false,
        +  "description": "Include deprecated, event-only and unavailable pages.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / limit
        Added value: +{
        +  "default": 25,
        +  "maximum": 100,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / query
        Added value: +{
        +  "description": "Substring to match against page names, case-insensitive.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • addedInput schema / properties / types
        Added value: +{
        +  "description": "Restrict to these kinds of page. Defaults to all fourteen.",
        +  "items": {
        +    "enum": [
        +      "creature",
        +      "item",
        +      "npc",
        +      "quest",
        +      "spell",
        +      "achievement",
        +      "house",
        +      "imbuement",
        +      "charm",
        +      "mount",
        +      "outfit",
        +      "book",
        +      "world",
        +      "update"
        +    ],
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / required
        Added value: +[
        +  "query"
        +]
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "indexGeneratedAt": {
        +      "type": "string"
        +    },
        +    "nextCursor": {
        +      "type": "string"
        +    },
        +    "results": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "title": {
        +            "type": "string"
        +          },
        +          "type": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "title",
        +          "type"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "totalMatches": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "results",
        +    "totalMatches",
        +    "indexGeneratedAt"
        +  ],
        +  "type": "object"
        +}
  2. 5 tool updatesv0.1.0
    • First observedtibia_find_creatures
    • First observedtibia_find_items
    • First observedtibia_get
    • First observedtibia_how_to_obtain
    • First observedtibia_search

TDQS

A4.4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool serves a unique purpose: fetching page details, searching names, filtering creatures/items by stats, and retrieving item sources. No overlap; tibia_get handles all page types while the others are specialized queries.

Naming Consistency5/5

All tools share the 'tibia_' prefix and follow a clear verb/resource pattern: get, search, find_creatures, find_items, how_to_obtain. Consistent and predictable.

Tool Count5/5

Five tools cover the core wiki lookup operations without redundancy. The scope is well-defined for a read-only wiki server, neither too sparse nor bloated.

Completeness4/5

Covers retrieval comprehensively: exact lookup, fuzzy search, filtered searches for two resource types, and a combined source query. Minor gaps like listing all pages of a type or batch lookups exist but are not critical for typical usage.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    A server that downloads, parses, and indexes TibiaWiki content, providing 19 MCP tools for AI agents to query structured data such as creatures, items, and quests.
    -
  • A
    license
    A
    quality
    B
    maintenance
    Provides read-only Arknights intelligence over MCP, enabling structured queries about stages, enemies, operators, and modules with region tagging and evidence-backed analysis. It uses versioned SQLite snapshots and never fetches upstream data at query time.
    13
    Apache 2.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables agents to search a local, fully offline personal document library (Markdown/txt/PDF/docx) via SQLite FTS5 trigram search with subject-terminology expansion, returning every hit with its domain, document title, section path, and page or offset provenance. It also exposes domain statistics, incremental ingestion, and document deprecation as tools, alongside a read-only, runtime-persona-scoped ask/coverage mode.
    -