Apostle — AI Men's Skincare Commerce
Server Details
Search, compare, and buy Apostle men's skincare: tinted moisturizer, face wash, and sets.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 14 of 14 tools scored.
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 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.
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.
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.
Available Tools
14 toolscheck_compatibilityARead-onlyInspect
Check which products are compatible with a given product. For devices, shows required consumables (e.g., conductive gel for MIRA). For topicals, shows which devices they work with. Use when a customer asks 'what gel do I need with MIRA?' or 'does this serum work with CryoSculpt?'
| Name | Required | Description | Default |
|---|---|---|---|
| product | Yes | Product name or SKU to check compatibility for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, which the description aligns with. The description adds behavioral context (two modes for devices vs topicals) beyond annotations, enhancing transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no fluff. First sentence states purpose, second explains dual behavior, third gives usage examples. Information is front-loaded and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks description of output format or what 'compatible' means in the response. With no output schema, the agent might need to guess the return shape. However, the examples imply a list, and the tool's simplicity partially compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for the 'product' parameter. The description adds value by explaining how the parameter is used in two compatibility scenarios (device->consumable, topical->device), which aids agent understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'Check' and resource 'compatible products', clearly distinguishes from siblings like compare_products and recommend, and gives concrete examples for devices and topicals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use with example customer queries ('what gel do I need with MIRA?', 'does this serum work with CryoSculpt?'), providing clear context. Does not explicitly state when not to use, but examples suffice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_inventoryARead-onlyInspect
Check if a product is currently available. Uses Shopify Storefront API to verify real-time stock status. Use when a customer asks 'is MIRA in stock?' or before recommending a product.
| Name | Required | Description | Default |
|---|---|---|---|
| product | Yes | Product name or SKU to check availability for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows it's a safe read operation. The description adds that it uses the Shopify Storefront API for real-time verification, which is helpful but not essential beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. The key action is front-loaded, and the usage guidance is concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description is complete enough. It could mention the return type (e.g., boolean or stock level), but the current context is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description of the parameter. The description does not add additional semantics beyond what's in the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks product availability, with a specific verb ('Check if a product is currently available') and resource ('inventory'). It distinguishes itself from siblings like 'check_compatibility' and 'recommend' by focusing on stock status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use the tool ('when a customer asks 'is MIRA in stock?' or before recommending a product'), providing clear context. It does not explicitly mention when not to use it, but the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_productsARead-onlyInspect
Compare two or more products side by side. Use when the user asks to compare, says 'X vs Y', or wants to decide between options. Do not use for single product lookup — use get_product instead. Returns structured comparison with shared attributes, differences, tradeoffs, and a decision hint.
| Name | Required | Description | Default |
|---|---|---|---|
| products | Yes | Product titles or SKUs to compare (e.g. ['MIRA', 'CryoSculpt']) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only nature is clear. The description adds value by detailing the return structure (shared attributes, differences, tradeoffs, decision hint), which is useful for an agent. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no wasted words. The core purpose is front-loaded in the first sentence, and the description efficiently covers usage guidance and output without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description sufficiently explains the return value. For a simple comparison tool with one parameter and good annotations, the description is complete and covers all necessary aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter 'products' is well-described in the schema (array of strings, min/max items, description). The tool description does not add additional semantics beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Compare two or more products side by side', specifying the action (compare) and resource (products). It explicitly distinguishes from sibling tools by directing single product lookups to get_product.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use scenarios ('user asks to compare, says 'X vs Y', or wants to decide between options') and when-not-to-use ('Do not use for single product lookup — use get_product instead'), along with description of the return value.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_checkoutAInspect
Create a checkout URL for one or more products. Pass variant IDs (items) and/or product URLs (product_urls). When a product URL is provided (e.g. https://laluer.com/products/mira), the tool resolves it to a variant ID automatically — no catalog import needed. Supports discount codes, cart notes, and selling plans. Do not use unless the user wants to buy — use search_products or skincare_recommend first. Returns a direct Shopify checkout link the user can click to buy.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Cart note visible to the merchant | |
| items | No | Products to add to cart by variant ID | |
| decision_id | No | Decision Check ID from a prior /validate call. Required when this merchant enforces authority-gated checkout (require_authority_for_checkout); ignored otherwise. | |
| product_urls | No | Products to add to cart by URL — resolved to variant IDs automatically | |
| discount_code | No | Discount code to apply (e.g. 'WELCOME10') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true. The description adds valuable behavioral details: it resolves product URLs to variant IDs automatically without needing a catalog import, returns a Shopify checkout link, and supports discount codes. However, it does not mention authentication requirements, rate limits, or error handling, which would enhance transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (four sentences) and well-structured. It starts with the primary purpose, then explains the two input methods, followed by key features, and ends with usage guidance. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters, no output schema, and moderate complexity, the description covers the main aspects: what the tool does, how to provide products, and the ordering workflow relative to siblings. It does not detail what happens when both items and product_urls are provided, or how to handle errors, but for a checkout tool this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds context beyond the schema: it explains the distinction between 'items' (variant IDs) and 'product_urls' (URLs that are auto-resolved), and mentions that product_urls bypass catalog import. This adds meaningful semantics to the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a checkout URL for products. It specifies the two input methods (variant IDs and product URLs) and distinguishes from sibling tools by explicitly noting when not to use it (e.g., 'Do not use unless the user wants to buy — use search_products or skincare_recommend first').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use and when-not-to-use guidance ('Do not use unless the user wants to buy — use search_products or skincare_recommend first'). It also lists supported features (discount codes, cart notes, selling plans), giving clear context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deals_discountsARead-onlyInspect
Show available bundles, deals, and ask about discount codes. Use when a customer asks about deals, bundles, savings, or says 'do you have any discounts?' Also use when multiple items are in cart to suggest bundle savings. Always ask if the customer has a discount code.
| Name | Required | Description | Default |
|---|---|---|---|
| discount_code | No | Customer's discount code if they have one |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnly=true and destructive=false. The description adds context about asking for discount codes, which is conversational. No contradictions, but could clarify that it does not actually apply discounts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each with a clear purpose: definition of tool, usage triggers, and an actionable instruction. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter, the description covers when, what, and the key behavior. Could mention that discounts are not applied by this tool, but overall complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter 'discount_code' described. The description adds value by linking the parameter to the action of asking the customer, providing behavioral context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool shows bundles, deals, and asks about discount codes, distinguishing it from sibling tools like recommend or check_inventory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly specifies when to use: when customers ask about deals, bundles, savings, or have discount codes, and when multiple items are in cart. Also gives an imperative to always ask for a discount code.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productARead-onlyInspect
Get full details for a specific product by SKU or title. Use when the user asks about a specific product by name (e.g. 'tell me about MIRA', 'show me the serum'). Do not use for browsing or recommendations — use search_products or skincare_recommend. Returns a widget card with the product details, image, price, and checkout button.
| Name | Required | Description | Default |
|---|---|---|---|
| sku | No | Exact product SKU (e.g. 'LL-4632379916336') | |
| title | No | Product title to search for (fuzzy match) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds that it returns a widget card with product details, image, price, and checkout button, confirming read-only behavior. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose, second provides usage guidance and return info. No redundant words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage, and return format sufficiently. Could mention what happens if product not found or if both parameters provided, but overall complete for a simple read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with descriptions for both parameters (sku and title). The description reiterates these as lookup methods but does not add new semantics beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description starts with a clear verb 'Get' and specific resource 'full details for a specific product by SKU or title'. It distinguishes from sibling tools like search_products and skincare_recommend by specifying exact lookup vs browsing/recommendations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use ('when the user asks about a specific product by name') and when not to use ('Do not use for browsing or recommendations') and provides alternative tools ('use search_products or skincare_recommend').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_research_noteARead-onlyInspect
Get the summary and URL of a specific SearchShopAI Research Note by its slug (returned by search_research_notes).
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The note slug, e.g. 'the-ai-attribution-blind-spot' |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read. The description adds that it returns summary and URL specifically. No contradictions, but no further behavioral details beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Front-loaded with action and resource. Efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple with one parameter and no output schema. Description clarifies return fields (summary and URL) and origin of slug. Adequate for a single-note retrieval tool, though lacks response structure details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a well-described slug parameter including maxLength and example. The description does not add additional meaning beyond the schema; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Get the summary and URL' and the resource 'Specific SearchShopAI Research Note', and specifies the method 'by its slug'. It also distinguishes from sibling search_research_notes by noting the slug comes from that tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage sequence: first use search_research_notes to get slugs, then this tool. It does not explicitly state when not to use or list alternatives, but the context is clear enough for an agent to infer correct usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommendARead-onlyInspect
Get a personalized product recommendation with domain-expert scoring, safety notes, and transaction authority. Use when the user wants advice, has a concern, or asks what to buy. Returns scored products with checkout URLs, safety assessment, and authority state (SHOULD/CAN/SHOULDNT/ESCALATE/CANT).
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Filter to a specific brand | |
| query | Yes | Natural language query about product needs | |
| domain | No | Product domain (e.g. 'skincare', 'beauty_devices'). Auto-detected from merchant if omitted. | |
| strategy | No | Optional offer strategy override |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description adds value by detailing the output: scored products with safety assessment and authority state. It discloses behavioral traits beyond annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, each serving a distinct purpose: purpose, usage, and output. No redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, usage, and output elements (scored products, checkout URLs, safety, authority). However, with no output schema, it lacks structural details like format or pagination, which would be helpful for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The tool description does not add extra semantics for parameters, relying on the schema descriptions which are already present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a clear verb and resource: 'Get a personalized product recommendation'. It distinguishes itself from siblings by highlighting domain-expert scoring, safety notes, and authority state, which are unique features not seen in sibling names like 'search_products' or 'shop'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use: 'Use when the user wants advice, has a concern, or asks what to buy.' This provides clear contextual guidance, though it does not mention when not to use or name specific alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (e.g. 'vitamin c serum', 'anti-aging', 'moisturizer under $50') | |
| category | No | Filter 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_price | No | Filter to products at or below this price | |
| max_results | No | Maximum 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. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
search_research_notesARead-onlyInspect
Search SearchShopAI's Research Notes blog — data studies, playbooks, and field notes on agentic commerce (AI attribution, MCP, AI catalog accuracy, ChatGPT ads). Returns matching articles with titles, summaries, and URLs. Use when asked what SearchShopAI has written or published about a topic.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Topic or keywords, e.g. 'attribution', 'MCP', 'hallucinated prices' |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. Description adds that it returns articles with titles, summaries, and URLs, providing useful behavioral context beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. First sentence states purpose and examples, second sentence states when to use. Well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description adequately covers input, output, and usage context. No missing critical information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter 'query' with schema description and maxLength. The description provides example values like 'attribution', 'MCP', adding practical guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches SearchShopAI's Research Notes blog and returns matching articles with titles, summaries, and URLs. It includes example topics like 'attribution', 'MCP', etc., and distinguishes from sibling get_research_note which retrieves a single note.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use when asked what SearchShopAI has written or published about a topic.' This provides clear context, though it does not list alternatives or when not to use. Sibling tools like search_products or check_compatibility are clearly different.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shopARead-onlyInspect
Start here for any shopping request. Pass the shopper's COMPLETE request in their own words and this tool will understand it and route to the right capability (personalized recommendation, catalog search, product lookup, or comparison), preserving every qualifier — concerns, skin type, budget, brand, medical context. Prefer this tool whenever the request is conversational or carries any nuance. The granular tools (search_products, get_product, compare_products, create_checkout) remain available as precise follow-ups.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Secondary hint only — brand filter if stated. | |
| intent | No | Secondary hint only — the primary signal is `request`. | |
| request | Yes | The shopper's complete request in their own words. Include every detail: concern, skin type, budget, brand, product names, questions, medical context. Do not summarize or drop qualifiers. | |
| budget_max | No | Secondary hint only — maximum budget if stated. | |
| product_refs | No | Secondary hint only — exact product titles/SKUs when already known. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds behavioral context: the tool understands natural language, routes to capabilities, and preserves qualifiers. It does not contradict annotations and provides useful insight beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the key instruction, and every sentence adds value. No redundancy or wasted words. The structure makes it easy for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, 14 sibling tools, no output schema), the description explains the tool's role and relation to siblings. However, it does not describe the return format or what the agent can expect after routing, which is a gap. Output schema is absent, so the description should hint at output structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 meaning beyond the schema by emphasizing to pass the shopper's complete request verbatim and noting that other parameters are secondary hints. This reinforces correct usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Start here for any shopping request.' It specifies the verb ('route') and the resource ('shopping request'), and distinguishes from sibling granular tools by explicitly naming them as precise follow-ups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: 'Prefer this tool whenever the request is conversational or carries any nuance.' It also indicates when not to use it by referencing granular tools as alternatives for precise follow-ups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skincare_cartAInspect
Create a buyable shopping cart with a real checkout URL. Two modes: (1) Pass 'products' array with specific product names. (2) Pass 'query' string to auto-recommend and cart. Do not use for browsing or recommendations — use search_products or skincare_recommend first. Returns a widget with the cart items and a working checkout link.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Natural language query to auto-recommend products. Only used if products array is not provided. | |
| products | No | Specific product titles to add to the cart | |
| strategy | No | Optional offer strategy override when using query mode |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate mutability (readOnlyHint=false) and the description clarifies it creates a cart and returns a working checkout link. However, it does not disclose potential side effects like cart persistence or cart lifetime, which would be helpful for complete transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise at 4 sentences, front-loading the core purpose and then breaking down modes and exclusions. Every sentence adds non-redundant information, making it efficient for an AI agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no required parameters and no output schema, the description fills the gap by stating what is returned ('a widget with the cart items and a working checkout link'). It covers the primary behavior, but could mention edge cases like what happens if both modes are invoked or if no products are found.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides good descriptions for all three parameters (100% coverage). The tool description adds value by explaining the two usage modes and how parameters interact (e.g., 'query' used only if 'products' not provided), which is not evident from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear verb-resource pair ('Create a buyable shopping cart') and specifies two distinct modes (products array vs query). It also explicitly distinguishes itself from sibling tools like search_products and skincare_recommend, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use ('to create a cart with checkout URL') and when-not-to-use ('Do not use for browsing or recommendations'), along with clear alternative tools ('use search_products or skincare_recommend first'). This provides excellent guidance for an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skincare_recommendARead-onlyInspect
(Deprecated: use 'recommend' instead. Works identically.) Get a personalized Apostle product recommendation with ingredient-aware scoring, safety notes, and routine building. Use when the user wants advice on what to buy, needs help choosing between products, has a specific skin concern (acne, aging, dryness, sensitivity, etc.), wants a routine, or asks "what should I use for X." Do not use for browsing or listing products — use search_products instead. Returns scored products with explanations, usage instructions, and Shopify checkout. This tool analyzes ingredients, irritation risk, and product compatibility — use it over search_products when the user needs guidance, not just a product list.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Filter to a specific brand only (e.g. 'Glossier', 'CeraVe', 'The Ordinary'). Use when the user asks for products from a specific brand. | |
| query | Yes | Natural language query about skin concerns (e.g. 'I have oily acne-prone skin and want something gentle under $30') | |
| strategy | No | Optional offer strategy override: starter, gentle, budget, glow_safe, minimal, strong, fallback |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and non-destructive behavior. Description adds value by explaining it analyzes ingredients, irritation risk, and product compatibility, and returns scored products with explanations and checkout. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is comprehensive yet efficient, starting with deprecation notice, then purpose, usage guidelines, and behavioral details. Each sentence serves a purpose, though slightly verbose with redundant clarification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 3 parameters, no output schema, and annotations present, the description covers the tool's purpose, usage context, return value (scored products with explanations), and sibling differentiation. Could hint at pagination or limits but adequate for decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with detailed descriptions for all three parameters. Description does not add significant parameter-specific information beyond what schema provides, though it reinforces the natural language use case for query.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool provides personalized product recommendations with ingredient-aware scoring, safety notes, and routine building. It explicitly distinguishes from siblings like search_products (for browsing) and recommend (deprecation alias).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (user wants advice, has skin concerns, needs routine) and when not to use (browsing/listing products, directs to search_products). Also identifies the replacement tool (recommend) due to deprecation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skincare_report_issueAInspect
Report when a tool result was unhelpful, incomplete, or wrong. Call this whenever you override a recommendation, skip a cart result, or notice the engine output doesn't match what the user needs. Do not use proactively — only when you observe an actual issue. This helps improve the engine.
| Name | Required | Description | Default |
|---|---|---|---|
| tool_name | Yes | Which tool had the issue (skincare_recommend, skincare_cart, skincare_report_issue) | |
| issue_type | Yes | Type of issue | |
| user_query | No | The original user query if available | |
| description | Yes | What went wrong and what you expected instead | |
| expected_products | No | What products should have been recommended |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate no special read-only, open-world, or destructive hints. The description clarifies it is a feedback mechanism ('This helps improve the engine'), implying a side-effect operation. No contradiction, and it adds behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only three sentences, front-loaded with the core purpose, followed by usage examples and a boundary. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a feedback tool with five parameters (three required) and no output schema, the description sufficiently covers purpose, usage, and behavioral context. No additional details on return values are needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all five parameters described in the schema. The description does not add additional parameter details beyond the schema, which is acceptable at the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to report when a tool result was unhelpful, incomplete, or wrong. It uses specific verbs ('report', 'call this whenever') and distinguishes from siblings by being a feedback tool, not a recommendation or cart tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use the tool ('whenever you override a recommendation, skip a cart result, or notice the engine output doesn't match') and when not to ('Do not use proactively — only when you observe an actual issue'). This clearly differentiates from alternative actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Flicense-qualityCmaintenanceDTC competitor intelligence: catalog snapshots, price history, cross-brand product comparison, and drop/restock detection for 84 Shopify-powered brands. Pay-per-call via Apify.
- AlicenseAqualityBmaintenanceSearch ethical, origin-verified products and brands from 30+ countries. Find Canadian, sustainable, vegan, and cruelty-free alternatives with affiliate purchase links.644MIT
- Flicense-qualityCmaintenanceSearches and analyzes competitor ads and content across Meta, Google, Instagram, TikTok, and YouTube with AI-powered creative analysis and cross-platform brand discovery.1