Skip to main content
Glama
sepehr071

basalam-mcp

by sepehr071

List categories

bs_categories
Read-onlyIdempotent

Browse Basalam's category tree to find category IDs for bs_search filters. List top-level or child categories, or search by name to get the matching path.

Instructions

Browse Basalam's category tree and return ids for the category_id filter of bs_search.

Without arguments lists the 12 top-level categories; pass parent_id to go one level down, or query to find a category by name anywhere in the tree (returns its path). With both, query searches only inside parent_id's subtree. Ids at any level work as filters.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryNoFind categories whose title contains this, at any depth (inside parent_id when given), e.g. 'عسل'.
parent_idNoCategory id to list the children of, e.g. 1 (food). Omit for top level.

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 cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint), so the bar is lower. The description still adds real behavioral context beyond them: what is returned (ids and, for query, the full path), the 12-item top-level count, and the interaction rule when query and parent_id are combined. It does not mention pagination or whether reads are cached/rate-limited, but for a public catalog listing that is a minor 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?

Three tight sentences, front-loaded with purpose and the downstream use case, then the branching logic. No filler, no restatement of the title.

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?

No output schema exists, but the description compensates by describing what comes back (ids, and a path for query hits). The main residual ambiguity is the exact shape of the response for a listing call (flat array vs. nested children), which the description implies but does not state.

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 baseline would be 3, but the description adds semantics the schema cannot express: the interaction between the two parameters ('with both, query searches only inside parent_id's subtree') and the downstream meaning of returned ids. The schema already covers the per-parameter examples ('عسل', parent 1 for food).

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 ('Browse Basalam's category tree and return ids') and immediately ties its output to a downstream use case, the category_id filter of bs_search. An agent can distinguish it from bs_search, bs_product, etc. without opening any schema.

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?

Explicitly enumerates the four calling modes: no arguments (12 top-level categories), parent_id alone (one level down), query alone (search whole tree by name, returns path), and both (query scoped to parent_id's subtree). It also notes that ids at any level work as filters, which tells the agent when the result is usable.

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