Skip to main content
Glama

Final POS – Custom POS Builder

List modifier placements

hub_get_category_modifiers
Read-only

Where modifiers are actually asked: one row per category↔modifier link, with that category’s own rules (required, min, max, order). This is what makes a modifier reach the till, so use it to answer "what options does this category ask" or "where is this modifier used". Narrow to one category with categoryId. Remember products also inherit their ancestors’ links, so a subcategory asks more than its own rows show. The id on each row is the LINK id — that is what update_category_modifier and unlink_modifier_from_category take.

Input Schema

NameRequiredDescriptionDefault
categoryIdNoCategory id from get_categories. Omit for every category

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnly/no-destructive annotations, it discloses non-obvious behavior: products inherit ancestors' links so a subcategory returns effectively more options than its own rows, and the row 'id' is the LINK id consumed by two named write tools. Those are exactly the traits that prevent misuse of the returned ids.

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?

The core identity is front-loaded in the first clause, and each subsequent sentence carries distinct payload (use cases, scoping, inheritance, id semantics). It is slightly dense with four sentences, but none is filler.

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?

With no output schema, the description carries the return-shape burden and does so: row grain (one per link), the per-category rule fields (required, min, max, order), and the id's meaning. An agent has everything needed to call it and interpret the result.

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%, so the parameter's meaning ('Category id from get_categories. Omit for every category') is already documented in the schema. The description reinforces the narrowing behavior but adds no format or syntax detail beyond it, so the baseline 3 applies.

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 precise verb+resource: it returns 'one row per category↔modifier link' with the category's own rules. It is clearly distinguishable from hub_get_modifiers (modifier definitions) because it is framed as 'where modifiers are actually asked.' The named relation to update_category_modifier and unlink_modifier_from_category sharpens its identity further.

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 concrete use cases ('what options does this category ask', 'where is this modifier used') and tells the agent to narrow with categoryId. What is missing is an explicit when-not / alternative routing, e.g. telling the agent to use hub_get_modifiers when it wants modifier definitions rather than placements.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.