Skip to main content
Glama

Apostle — AI Men's Skincare Commerce

search_products

Read-only

Browse and search the product catalog. Use when the user wants to see what's available, look up specific products, browse by category, compare options, or asks 'show me' / 'what do you have.' Do not use when the user needs personalized recommendations based on skin concerns — use skincare_recommend instead. Returns all matching products with prices, images, and checkout. Unlike skincare_recommend, this does not score or filter — it shows everything that matches so the user can decide.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query (e.g. 'vitamin c serum', 'anti-aging', 'moisturizer under $50')
categoryNoFilter by exact product category from the catalog (e.g. 'serum', 'treatment', 'cleanser', 'moisturizer'). Do not guess categories — only use this if the user explicitly mentions a catalog category. For general queries like 'devices' or 'bundles', use the query parameter instead.
max_priceNoFilter to products at or below this price
max_resultsNoMaximum products to return (default 10). Only set this if the user specifies a count — e.g. 'show me 2 devices' → 2. Otherwise leave it unset and the default will return all relevant matches up to 10.

TDQS

A4.7/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true and destructiveHint=false, which the description aligns with. The description adds that the tool returns matching products with prices, images, and checkout, and that it does not score or filter like skincare_recommend. This enriches transparency beyond annotations, though it could mention pagination or rate limits.

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?

The description is four sentences, well-structured with clear sections: purpose, usage guidelines, return behavior, and comparison. Every sentence earns its place; no redundancy. Front-loaded with the primary purpose.

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?

Given 4 parameters, no output schema, and the tool's search/browse nature, the description covers expected usage, edge cases (when not to use), and return behavior. The sibling list provides further context. No gaps identified.

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 is 3. The description adds context for the category parameter ('Do not guess categories – only use if user explicitly mentions a catalog category'), which adds decision-making value beyond the schema. No major gaps, but does not elaborate on max_price or max_results beyond schema defaults.

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 clearly states the tool's purpose: 'Browse and search the product catalog.' It lists specific use cases (look up products, browse by category, compare options) and distinguishes from sibling tool skincare_recommend. The verb 'search' and resource 'product catalog' are explicit.

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?

Provides explicit when-to-use ('user wants to see what's available...') and when-not-to-use ('Do not use when user needs personalized recommendations – use skincare_recommend instead'). Also explains behavioral difference from the sibling tool, giving clear guidance on tool selection.

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.

TDQS

A4/5.0
Disambiguation3/5

Most tools have distinct purposes, but there is clear overlap between 'recommend' and the deprecated 'skincare_recommend', and 'shop' as a routing tool could be ambiguous with 'search_products' and 'recommend'. Descriptions help but are not fully disambiguating.

Naming Consistency2/5

Naming patterns are inconsistent: some use verb_noun (e.g., check_inventory, compare_products), while others are single words (shop) or use a noun prefix (skincare_cart, skincare_recommend). The deprecated duplicate 'skincare_recommend' further disrupts consistency.

Tool Count5/5

14 tools is well within the 3-15 range and covers the necessary functions for a skincare commerce server: product lookup, search, recommendation, comparison, compatibility, inventory, checkout, deals, research notes, and issue reporting. No excess or deficiency.

Completeness4/5

The tool set covers core commerce workflows: browsing, product details, recommendations, checkout, deals, and compatibility checks. Minor gaps exist (e.g., order history or user profile management) but are outside the apparent scope. The deprecated duplicate is a minor inefficiency.

Resources