Skip to main content
Glama

25karats — Made-to-Order Wedding & Engagement Rings

get_product

Read-onlyIdempotent

Full detail for one product: metal variants with live starting prices, the complete customization matrix (ring sizes, widths, thickness, color, finish, stone type, engraving rules) with the ids to echo into price_product, stone specifications, physical dimensions, size-group siblings, matching pieces, and the default image. Identify the product by exactly one of slug, style_code, or url (any 25karats product URL works).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoAny 25karats.com product URL
slugNoProduct page slug, e.g. 'floral-antique-handmade-wedding-ring'
metalNoOptionally preselect a metal variant
style_codeNoStyle/SKU code shown on the product page, e.g. 'HC100232'

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
faqNo
urlYes
tagsYes
brandYes
titleYes
stonesNo
currencyYes
variantsYes
lead_timeYes
breadcrumbYes
style_codeYes
descriptionNo
image_countYes
availabilityYes
pricing_noteYes
product_lineYes
customizationYes
default_imageNo
matching_productNo
physical_detailsNo
size_group_siblingsNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description correctly avoids repeating that. It adds valuable contextual behavior such as 'live starting prices' and 'ids to echo into price_product', enriching the tool's data interaction model without contradicting 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the purpose and then lists contents in a parenthetical list. Every phrase adds useful information with no redundancy, making it highly efficient.

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 a full output schema and annotations provided, the description covers all operational essentials: it lists the exact data returned, the identification methods, and the relationship to price_product. For a read-only product detail tool, it is fully complete.

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% with all four parameters documented. The description adds the critical constraint that exactly one of slug, style_code, or url must be used, and clarifies that metal is an optional preselection, which goes beyond the schema by defining usage constraints and relationships.

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 starts with 'Full detail for one product' and enumerates specific data areas (metal variants, customization matrix, stone specs, etc.), giving a clear, specific verb+resource scope. It distinguishes itself from siblings like search_products (which lists) and price_product (which prices) by focusing on single-product detail retrieval.

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?

Explicitly instructs how to identify the product ('exactly one of slug, style_code, or url') and even references using the returned ids to echo into price_product, implying a workflow. However, it does not explicitly state when not to use this tool or contrast with alternatives beyond this implicit distinction.

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.6/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: browse_collection is for deterministic category browsing while search_products is for free-text discovery, and get_product, get_product_images, and price_product each cover a separate aspect of product research. The diamond search is also cleanly separated from catalog product search.

Naming Consistency5/5

All eight tools follow a consistent snake_case verb_noun pattern: browse_, get_, list_, price_, and search_. Any variability is purely semantic (e.g., list_collections vs browse_collection) rather than a style mismatch.

Tool Count5/5

Eight tools is well-scoped for a made-to-order jewelry e-commerce assistant: taxonomy, product search/browse, product detail, images, pricing, diamond inventory, and store policy information are all covered without redundant or unnecessary tools.

Completeness5/5

The tool set covers the full shopper journey: discover collections, search products, inspect product details and images, configure and price a product, research diamonds, and find store policies. The deep_link_url from price_product provides an effective handoff to checkout, eliminating any hard dead end.

Resources