Skip to main content
Glama
stupidprogrammer4

digikala-mcp

List Categories

list_categories
Read-only

Find live Digikala category IDs by Persian/English name, code, or ID substring; filter top-level or child categories to use with product search.

Instructions

Find live Digikala category IDs by Persian/English name, code, or ID substring.

Omit query to page through all categories. roots_only lists top-level categories; parent_id lists direct children. Text and parent filters can be combined. Pagination is local over the current upstream tree, ordered by numeric ID. Use category_id in search_products, with or without search text.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageYes
errorNo
marketNodigikala
page_sizeYes
categoriesNo
total_itemsNo
total_pagesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds genuinely useful behavior beyond them: pagination is local over the current upstream tree and is ordered by numeric ID, which tells the agent results are a snapshot rather than a live paged upstream query.

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?

Five short sentences, zero filler, front-loaded with the purpose and followed by filtering, pagination, then downstream usage. Every sentence 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?

An output schema exists so return values need not be described, and the description covers filtering modes, combination rules, pagination behavior, and cross-tool usage. Only the page/page_size mechanics are left thin for a tool with 0% schema coverage.

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 0%, so the description must carry the load, and it explains query, roots_only, and parent_id semantics plus filter combinability. It only weakly covers page/page_size ('page through'), leaving the defaults and 100-item cap to the schema, but the key semantics are added.

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: 'Find live Digikala category IDs' and enumerates the match keys (Persian/English name, code, ID substring). This clearly separates it from siblings like list_markets and get_category_filters, so an agent can select it without opening schemas.

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?

Tells the agent exactly how to use it in every mode: omit query to page all, roots_only for top-level, parent_id for children, and that text and parent filters combine. It also routes onward explicitly: 'Use category_id in search_products, with or without search text.'

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