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

tibia_search

Read-only

Find Tibia pages by name substring or list all pages of selected types; resolve approximate or in-game names to exact titles for follow-up lookups.

Instructions

Find Tibia pages of any kind whose name contains a substring. Items also match by the name and plural the game prints. Turns an approximate or in-game name into the exact page name tibia_get expects. With a query, shortest name first, so the closest match leads. With types and no query, lists every page of those types by title, as in "list every mount".

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "tibia_search"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
queryNoSubstring to match against page names, case-insensitive. Omit it to list every page of types.
typesNoRestrict to these kinds of page. Defaults to all. Required without a query.
cursorNoOpaque cursor from a previous call.
include_inactiveNoInclude deprecated, event-only and unavailable pages.

Output Schema

NameRequiredDescriptionDefault
resultsYes
nextCursorNo
totalMatchesYes
indexGeneratedAtYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.22.0
    • addedOutput schema / properties / results / items / properties / articleId
      Added value: +{
      +  "type": "number"
      +}
    • changedOutput schema / properties / results / items / required
      Previous value: -[
      -  "title",
      -  "type"
      -]New value: +[
      +  "title",
      +  "type",
      +  "articleId"
      +]
  2. Changed1 schema field changedv0.13.0
    • changedInput schema / properties / types / description
      Previous value: -"Restrict to these kinds of page. Defaults to all fourteen. Required without a query."New value: +"Restrict to these kinds of page. Defaults to all. Required without a query."
  3. Changed3 schema fields changedv0.10.0
    • changedInput schema / properties / query / description
      Previous value: -"Substring to match against page names, case-insensitive."New value: +"Substring to match against page names, case-insensitive. Omit it to list every page of types."
    • changedInput schema / properties / types / description
      Previous value: -"Restrict to these kinds of page. Defaults to all fourteen."New value: +"Restrict to these kinds of page. Defaults to all fourteen. Required without a query."
    • removedInput schema / required
      Removed value: -[
      -  "query"
      -]
  4. Changed8 schema fields changedv0.5.0
    • 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"
      +}
  5. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and openWorldHint=false, so safety need not be re-stated, and the description adds genuinely non-obvious behavior beyond them: shortest-name-first ordering, plural/in-game-name matching for items, and the two result modes. Pagination ordering caveats and the effect of include_inactive on results are left implicit, which is the main gap.

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?

Four tight sentences, front-loaded with the core action, followed by the follow-up tool relationship and then the two result modes. There is no filler and the ordering ('closest match leads') is placed with the mode it describes.

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 an output schema present, return-value explanation is rightly omitted, and the description covers both invocation modes, ordering, and the natural next call. What is missing is the boundary against the type-specific find_* siblings and any note on paging through large category listings via cursor.

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 coverage is 80%, so the baseline is 3, and the description earns a bump by adding semantics the schema lacks: item pages match the plural names the game prints, and query/limit interaction is implied by 'shortest name first'. The relational rule that types is required when query is omitted is stated in prose as well as the schema. limit, cursor, and include_inactive receive no added meaning.

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

Purpose4/5

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

States a specific verb and resource ('Find Tibia pages ... whose name contains a substring') and scopes it as covering any page kind, plus an explicit downstream relationship: it converts an approximate name into the exact page name tibia_get expects. It does not, however, distinguish itself from the many type-specific siblings (tibia_find_creatures, tibia_find_items, tibia_find_spells), which overlap heavily with the types-filtered mode.

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 two concrete usage modes with their conditions: a query returns ordered matches so the closest leads, while types-without-query enumerates a whole category ('list every mount'). It also names the downstream use (feeding tibia_get) and the 'approximate or in-game name' resolution case. It stops short of saying when to prefer it over the type-specific tibia_find_* tools.

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