Skip to main content
Glama

List categories

kh_categories
Read-onlyIdempotent

Retrieve Khanoumi's category tree with IDs, URL paths, and product counts. Use it to find a category_id for browsing, filtering, or cheapest-product searches, with optional query and max_level.

Instructions

List Khanoumi's category tree with ids, URL paths and product counts.

Use to get a category_id for kh_browse / kh_filters / kh_find_cheapest. A query searches every level; without one only levels up to max_level are listed.

Input Schema

NameRequiredDescriptionDefault
queryNoFilter on Persian name or English slug, e.g. 'ضد آفتاب' or 'shampoo'.
max_levelNoDeepest level to list when no query is given (1 = top level).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv0.2.0
    • removedInput schema / properties / max_level / title
      Removed value: -"Max Level"
    • changedInput schema / properties / query / description
      Previous value: -"Optional filter on the Persian name or English slug, any level, e.g. 'ضد آفتاب' or 'shampoo'."New value: +"Filter on Persian name or English slug, e.g. 'ضد آفتاب' or 'shampoo'."
    • removedInput schema / properties / query / title
      Removed value: -"Query"
    • removedInput schema / title
      Removed value: -"kh_categoriesArguments"
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "title": "kh_categoriesDictOutput",
      -  "type": "object"
      -}New value: +null
  2. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower. The description still adds real behavior: a query searches every level, while an unqueried call only returns levels up to max_level.

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 tight sentences, zero filler. The return contents are front-loaded and the usage guidance plus parameter behavior follow in a logical order.

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

Completeness5/5

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

There is no output schema, so the description correctly compensates by naming what is returned (ids, URL paths, product counts). Combined with the 100%-documented params and the annotation safety profile, an agent has everything needed to call it correctly.

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 100%, so the baseline is 3, but the description adds the conditional interaction between the two parameters that the schema documents only in isolation. The distinction between query mode and max_level mode is the key semantic an agent needs.

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 and resource ('List Khanoumi's category tree') plus the payload it returns (ids, URL paths, product counts). It also distinguishes itself from siblings by naming the tools that consume its category_id output.

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?

Explicitly routes the agent: use this to obtain a category_id for kh_browse, kh_filters, and kh_find_cheapest. It does not state when NOT to use it (e.g., fall back to kh_search for free-text lookup), so it is clear context rather than full when/when-not guidance.

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