Skip to main content
Glama

ulta_product

Read-only

One Ulta Beauty product's full detail: name, brand, description, category, pricing, rating, review count, images, and every purchasable color/shade variant. product_id is taken from a search result's product_id field or a product page's URL (e.g. pimprod2020260). sku is optional and selects a specific color/shade variant; an omitted or invalid sku still resolves the base product using its own default variant.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "product_id": "<product_id>",
      "sku": "<sku>"
    },
    "name": "ulta_product"
  }
}

Input Schema

NameRequiredDescriptionDefault
skuYesNumeric Ulta sku id selecting a specific color/shade variant
product_idYes

Output Schema

NameRequiredDescriptionDefault
dataYesThe tool result payload (shape varies per tool; see each tool's docs resource).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / sku / description
      Added value: +"Numeric Ulta sku id selecting a specific color/shade variant"
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds genuinely useful behavior beyond them: it discloses that an omitted or invalid sku falls back to the product's own default variant, and it describes the breadth of the returned detail set.

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 sentences, front-loaded with the payload description, then parameter sourcing, then variant behavior. The field list is dense but each item earns its place by aiding tool selection.

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?

For a read-only lookup with an output schema and annotation coverage, the description is largely complete and even enumerates return fields for selection purposes. The unresolved required-vs-optional mismatch for sku slightly undermines an agent's ability to call it with full confidence.

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?

With only 50% schema coverage (product_id has no schema description), the description compensates by giving the product_id format (e.g. 'pimprod2020260'), its provenance, and the meaning of sku including fallback. One caveat: the schema lists sku as required while the description calls it optional, an inconsistency the description does not reconcile.

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 ('One Ulta Beauty product's full detail') and enumerates the exact payload (name, brand, pricing, rating, review count, images, color/shade variants), which clearly separates it from siblings like ulta_search, ulta_product_reviews, and ulta_product_questions.

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?

Gives clear sourcing context ('product_id is taken from a search result's product_id field or a product page's URL') and explains when to supply sku versus omit it. It stops short of explicitly naming ulta_search as the tool to obtain product_id, so it is strong but not a full when/when-not routing rule.

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.