25karats — Made-to-Order Wedding & Engagement Rings
Server Details
Search and price made-to-order rings, jewelry, and lab-grown diamonds from the 25karats catalog.
- 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.6/5 across 8 of 8 tools scored.
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.
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.
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.
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.
Available Tools
8 toolsbrowse_collectionARead-onlyIdempotentInspect
Browse one collection/category page deterministically — the same product set, ordering, and filters a shopper sees on the site. Pass the collection permalink from list_collections (e.g. 'wedding-rings/womens/eternity'). Filter by style tags, metals, or sort; paginate 24 per page. Prefer search_products for free-text intent and this tool for "show me everything in X".
| Name | Required | Description | Default |
|---|---|---|---|
| cats | No | Child-category slugs on a listing-nav collection; matches the site's cats filter | |
| page | No | ||
| sort | No | Default: best sellers | |
| tags | No | Style tag slugs, e.g. ['celtic','braided'] | |
| limit | No | Max 24 | |
| metals | No | Offered metal codes, e.g. ['14K','PLAT']; price and URL use the first offered selection | |
| price_tag | No | Price-range slug or id, e.g. '501-1000'; accepts one value or an array | |
| collection | Yes | Collection permalink, with or without leading slash |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| page | No | |
| per_page | No | |
| products | No | |
| collection | Yes | |
| total_count | No | |
| applied_filters | No | |
| child_collections | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond annotations by specifying determinism ('the same product set, ordering, and filters a shopper sees'), pagination ('24 per page'), and the need for a permalink. Annotations already declare readOnly and idempotent hints, and the description complements these 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?
The description is two sentences, front-loaded with purpose and key behaviors, then usage guidance. Every sentence contributes meaning without redundancy, making it concise and well-structured.
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 complexity (8 parameters, but only 1 required) and the presence of an output schema and good annotations, the description covers essential aspects: function, inputs needed, pagination, and alternatives. It does not explicitly mention error handling or edge cases, but these are not critical for tool selection or invocation.
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 high (88%), and the description supplements by explaining that the collection permalink comes from list_collections with an example, and notes that metals' 'price and URL use the first offered selection'—details not fully captured in 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's purpose: 'Browse one collection/category page deterministically' with specific details about the product set, ordering, and filters. It explicitly contrasts with search_products, distinguishing it from the sibling tool and conveying a specific use case.
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 guidance on when to use this tool vs. search_products ('Prefer search_products for free-text intent and this tool for "show me everything in X"') and references list_collections for obtaining the permalink, giving clear context and exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Any 25karats.com product URL | |
| slug | No | Product page slug, e.g. 'floral-antique-handmade-wedding-ring' | |
| metal | No | Optionally preselect a metal variant | |
| style_code | No | Style/SKU code shown on the product page, e.g. 'HC100232' |
Output Schema
| Name | Required | Description |
|---|---|---|
| faq | No | |
| url | Yes | |
| tags | Yes | |
| brand | Yes | |
| title | Yes | |
| stones | No | |
| currency | Yes | |
| variants | Yes | |
| lead_time | Yes | |
| breadcrumb | Yes | |
| style_code | Yes | |
| description | No | |
| image_count | Yes | |
| availability | Yes | |
| pricing_note | Yes | |
| product_line | Yes | |
| customization | Yes | |
| default_image | No | |
| matching_product | No | |
| physical_details | No | |
| size_group_siblings | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
get_product_imagesARead-onlyIdempotentInspect
Every gallery image for a product with high-resolution URLs. Each image lists only renditions that actually exist, largest first — modern photography is 2048x2048 WebP at the 'original' size — plus the metal tone, band width, and finish the photo shows, and descriptive alt text. Identify the product by exactly one of slug, style_code, or url.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| slug | No | ||
| metal_tone | No | Optionally return only photos showing this metal tone | |
| style_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | Yes | |
| images | Yes | |
| style_code | Yes | |
| image_count | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior. The description additionally clarifies output details (largest first, only existing renditions), which aligns with annotations and adds transparency about result content without contradicting 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?
The description is concise, with no redundant or irrelevant wording. It packs essential details (output specifics, identifier usage) into two sentences, making it efficient and easy 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 schema, annotations, and sibling tools, the description is complete. It covers what the tool does, input constraints, and output characteristics, leaving no ambiguity for an agent to use the tool correctly.
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 description explains that url, slug, and style_code are identifier alternatives and that exactly one must be used. This adds significant meaning beyond the schema. Metal_tone is not further elaborated, but schema provides its enum and description, so overall parameter semantics are well-covered.
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 returns gallery images with high-resolution URLs and specific photo attributes (metal tone, band width, finish, alt text). It is distinct from siblings like get_product or search_products, which are for general product info or search.
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 instructs to identify the product by exactly one of slug, style_code, or url, providing clear usage guidance. However, it does not mention when to use this tool over alternatives, though that is implicit from the tool's purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_store_infoARead-onlyIdempotentInspect
25karats brand facts and policies for answering shoppers: who we are, shipping and production times, returns, warranty, resizing, engraving, financing, and contact details. Call this before answering policy questions rather than guessing.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| brand | Yes | |
| returns | Yes | |
| diamonds | Yes | |
| payments | Yes | |
| resizing | Yes | |
| warranty | Yes | |
| engraving | Yes | |
| key_pages | Yes | |
| sales_tax | Yes | |
| production_and_shipping | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive, so the description doesn't need to reiterate safety. It adds valuable context by enumerating the types of information available (shipping, returns, warranty, etc.), which helps the agent know what queries it can answer. Slight gap: no mention of output format or structure, but the existence of an output schema mitigates this.
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 a single, information-dense sentence that front-loads the core purpose. It lists many topics efficiently, but the long list could be structured more clearly (e.g., using bullet points or a colon-separated list). Still, it is concise and every phrase contributes to understanding.
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 (no params, clear policy-related scope) and the presence of an output schema (which handles return details), the description fully covers what the agent needs to know: what the tool provides and when to use it. It is complete and self-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?
The tool has zero parameters and no required fields, so the schema is trivially covered (100%). The description doesn't need to explain parameters. Per scoring guidelines, 0 params warrants a baseline of 4; the description adds no parameter-specific info, which is acceptable given the absence of 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's purpose: providing 25karats brand facts and policies for shoppers, listing specific topics (shipping, returns, warranty, etc.). It distinguishes itself from sibling tools (which focus on products/diamonds) by targeting store-level policy information.
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 instructs when to use the tool: 'Call this before answering policy questions rather than guessing.' This provides clear guidance on when to invoke it and implicitly suggests not relying on assumptions, effectively covering when-not situations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_collectionsARead-onlyIdempotentInspect
The navigable catalog taxonomy: every public collection with its permalink (for browse_collection), title, and product count, as a tree. Call once to orient; results change rarely.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| collections | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds valuable context: 'results change rarely' and 'as a tree,' which go beyond the structured annotations. It does not contradict 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 two sentences, front-loaded with 'navigable catalog taxonomy,' and contains no filler. Every phrase earns its place: the fields returned, the tree structure, and usage guidance.
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?
With zero parameters, rich annotations, an output schema, and low complexity, the description fully covers what the agent needs to know: what the list contains, how to use it, and that it changes rarely. No additional context is necessary.
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 tool has zero parameters, so the baseline is 4. The description adds meaning about the return content (permalink, title, product count) which indirectly helps the agent understand the operation, though no parameter-specific information is needed.
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 function: listing every public collection with permalink, title, and product count as a tree. It uses specific verbs and resource scope, and distinguishes itself from sibling tools like browse_collection by indicating it provides the navigable taxonomy.
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 phrase 'Call once to orient' provides clear usage context, and 'for browse_collection' indicates how the permalinks are used with a sibling tool. However, it does not explicitly state when not to use this tool or list alternative tools for other purposes, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
price_productARead-onlyIdempotentInspect
Exact live price in USD for a fully configured item — the same number the customer pays on 25karats.com (computed from current metal market pricing, not a cached feed price). Identify the item by variant_id (from get_product) or style_code, optionally with metal. For wedding bands pass ring_size/width/thickness/color/finish (option_value ids or display values from get_product); for his & hers sets pass his/her objects with those keys; for engagement rings pass stone_type and ring_size. Unset axes use the product's defaults. Returns the price, the resolved configuration, and a deep_link_url that opens the product page pre-configured for checkout. Invalid values return the list of valid ones — correct and retry. Any option group can also be set through the options object keyed by the option_id values returned by get_product (the only way to configure generic jewelry). His & hers options and engraving belong inside the respective his/her object. Inputs that do not apply to the item (stone_type on a band, top-level ring_size on a set) are rejected with the inputs that do; settings sold without a center stone say so in configuration and notes.
| Name | Required | Description | Default |
|---|---|---|---|
| her | No | His & hers sets: configuration and optional engraving for the her band | |
| his | No | His & hers sets: configuration and optional engraving for the his band | |
| url | No | ||
| slug | No | ||
| color | No | ||
| metal | No | ||
| width | No | Bands: option_value id or display value, e.g. '6' (mm) | |
| finish | No | ||
| options | No | Map option_id (from get_product) to an option_value id or display label; an alternative to the named axes for any customizable item | |
| ring_size | No | ||
| thickness | No | ||
| stone_type | No | Engagement rings with a diamond-type choice: 'natural' or 'lab' (or the id from get_product). Rejected on settings sold without a center stone (get_product shows stone_types: [] and setting_only: true) | |
| style_code | No | ||
| variant_id | No | Variant id from get_product (preferred) | |
| engraving_font | No | Wedding bands only; for H&H put this inside his/her | |
| engraving_text | No | Wedding bands only; for H&H put this inside his/her |
Output Schema
| Name | Required | Description |
|---|---|---|
| metal | Yes | Customer-facing metal name |
| notes | Yes | |
| price | Yes | |
| title | Yes | |
| currency | Yes | |
| lead_time | Yes | |
| metal_code | Yes | |
| style_code | Yes | |
| price_as_of | Yes | |
| availability | Yes | |
| configuration | Yes | |
| deep_link_url | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, but the description adds valuable behavior context: the price is computed from live metal pricing (not cached), the response includes a deep_link_url, invalid inputs return a list of valid values, and settings without a center stone are flagged in configuration/notes. No contradiction exists; the description enriches 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?
Though long, every sentence serves a distinct purpose and the text is front-loaded with the core purpose. It's logically structured by product category (bands, sets, rings) and error handling, with no redundant statements. The grammar is compact and information-dense; the conciseness is appropriate for the tool's complexity.
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 tool is complex (16 params, nested objects, output schema) but the description covers all major aspects: identification, per-product-type configuration, defaults, error recovery, generic option mapping, and special cases (engraving, settings without center stones). The presence of an output schema reduces the need to explain return structure, but the description still mentions key return components (price, resolved configuration, deep_link_url). It is complete for the intended use cases.
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?
With schema coverage at 50%, the description compensates thoroughly. It explains the priority of variant_id vs style_code, maps named axes to specific product types, clarifies the options object as an alternative for generic jewelry, and gives examples like width='6' (mm) and stone_type='natural' or 'lab'. It also clarifies nesting for his/her objects and edge cases like engraving placement, adding significant meaning 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 states a specific verb and resource: 'Exact live price in USD for a fully configured item' with explicit context that it's the same number the customer pays on 25karats.com. It clearly distinguishes itself from siblings like get_product (which retrieves product data) by focusing on pricing, and from search tools by being a computation tool for configured items.
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 and how to use the tool: identifies parameters for variant_id/style_code, specifies required inputs per product type (wedding bands, his & hers sets, engagement rings), explains handling of unset axes using defaults, and states that invalid values return valid ones for retry. It also warns about non-applicable inputs being rejected, giving clear when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_diamondsARead-onlyIdempotentInspect
Search 25karats' in-stock IGI/GIA-certified lab-grown loose diamonds (center stones for engagement rings) by shape, carat, color, clarity, cut, and price. Prices are the live customer price in USD. Each stone includes certificate details, measurements, and image/video links when available. A chosen stone is paired with a ring setting on-site.
| Name | Required | Description | Default |
|---|---|---|---|
| cut | No | Cut grade as a label or certificate code: 'Ideal' (ID) or 'Excellent' (EX) | |
| lab | No | Grading lab, e.g. IGI or GIA | |
| page | No | ||
| sort | No | ||
| color | No | One color or an array; D through K | |
| limit | No | Max 50 | |
| shape | No | One shape or an array, e.g. 'Round' or ['Oval','Emerald'] | |
| polish | No | Polish grade as a label or certificate code: 'Excellent' (EX), 'Very Good' (VG), 'Good' (GD) | |
| clarity | No | One clarity or an array, e.g. 'VS1' or ['VS1','VVS2'] | |
| stock_no | No | Exact stone lookup by stock number | |
| symmetry | No | Symmetry grade as a label or certificate code: 'Excellent' (EX) or 'Very Good' (VG) | |
| carat_max | No | ||
| carat_min | No | ||
| price_max | No | ||
| price_min | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | Yes | |
| diamonds | Yes | |
| per_page | Yes | |
| browse_url | Yes | |
| total_count | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and idempotent nature. The description adds transparency about result contents (certificate details, measurements, image/video links) and the pairing behavior with ring settings, which goes beyond annotations without contradicting them. However, it does not detail any rate limits or error behavior, but that's acceptable given 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?
The description is composed of three concise sentences, each adding distinct information: the search function, the results details, and the on-site pairing. No redundant or vague language. It is well-structured and easily digestible.
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 complex tool with 15 parameters, the description provides a solid overview of purpose and return contents. It does not explicitly explain pagination or range filtering, but given the schema descriptions for many parameters and the tool's focused nature, it is sufficiently complete for an agent to use it correctly in most cases.
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 description mentions the primary filter attributes (shape, carat, color, clarity, cut, price) but does not elaborate on the range parameters (e.g., carat_min/max, price_min/max) or pagination (page, limit). The schema descriptions cover 60% of parameters, but the tool description adds little beyond that, and missing descriptions for some parameters remain ambiguous.
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 specifies the tool's function: searching for lab-grown diamonds with specific attributes (shape, carat, color, etc.) from 25karats, including certifications, in-stock status, and purpose (engagement rings). This is a distinct and precise purpose that differentiates it from siblings like search_products or browse_collection.
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 the tool is for diamond-specific searches, but it does not explicitly state when to use it over general alternatives like search_products. However, the specialization is clear enough (only diamonds, with engagement ring context), so usage is reasonably well implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsARead-onlyIdempotentInspect
Search the 25karats made-to-order catalog (wedding bands, engagement rings, his & hers sets, fine jewelry) by keywords or a style code. Use this first when a shopper describes what they want ("braided mens wedding band", "vintage engagement ring"). Returns product cards with live starting prices in USD, image URLs, and product URLs. Follow up with get_product for options and price_product for an exact configured price. total_count is exact unless capped is true; capped counts are lower bounds imposed by the search index.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Requested page; values below 1 are clamped and reported | |
| tags | No | Every supplied style tag must match, by slug, name, or id | |
| limit | No | Requested results per page (default 10); values outside 1..24 are clamped and reported | |
| metal | No | Optional metal filter; each returned starting price and URL use this metal's variant | |
| query | Yes | Keywords or a style code (e.g. 'HC100232') | |
| category | No | Optional shopper-facing catalog category. engagement_rings / wedding_bands / his_hers_sets / jewelry select a product line; mens_rings and womens_diamond_rings select the site's men's (/wedding-rings/mens) and women's (/wedding-rings/womens) ring collections, which hold plain bands and diamond rings alike | |
| price_max | No | ||
| price_min | No | ||
| product_line | No | Optional product-line filter; category is preferred |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | Yes | |
| query | Yes | |
| capped | Yes | True when total_count reached the search index's reporting ceiling and is not exact |
| has_more | Yes | True when another page exists within the reported result window |
| per_page | Yes | |
| products | Yes | |
| pagination | Yes | |
| total_count | Yes | Exact match count unless capped is true; then this is a lower bound |
| applied_filters | Yes | Validated optional filters applied to this search |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds valuable behavioral context beyond those annotations: it returns live starting prices in USD, includes image and product URLs, explains the total_count/capped distinction, and notes that metal affects returned prices and URLs. 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?
The description is compact and front-loaded: purpose first, then usage context, then return contents, then one caveat about capped counts. Every sentence earns its place without repeating schema details or annotations.
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 9-parameter tool with an output schema present, the description is remarkably complete: it states what is searched, when to use it, what results look like, how to follow up, and the one non-obvious behavioral caveat (capped counts are lower bounds). The output schema handles return shape details, so no additional documentation burden is 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 description coverage is 78%, close to the high-coverage baseline, and the schema already documents key parameters like query, category, metal, and product_line in detail. The tool description adds some semantic context (e.g., metal variants drive the returned price/URL, style code examples), but it doesn't significantly expand parameter understanding beyond the schema's own descriptions.
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 opens with a specific verb ('Search') and defines the exact resource (the 25karats made-to-order catalog) and the scope (wedding bands, engagement rings, sets, fine jewelry). It also clarifies that search is by keywords or style code, and lists the concrete return contents, making it unmistakably distinct from sibling tools like get_product or price_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?
The description gives explicit when-to-use guidance ('Use this first when a shopper describes what they want') and prescribes follow-up tools (get_product for options, price_product for exact pricing). It doesn't explicitly name alternatives to exclude (e.g., search_diamonds for diamonds), but the contextual cues and follow-up pointers provide clear usage direction.
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
- FlicenseAqualityBmaintenanceA dedicated MCP and REST service that searches grocery retailers directly and returns reviewable product links, enabling users to find products and create handoffs without adding to carts or placing orders.7
- AlicenseAqualityAmaintenanceRead-only procurement server for KT Crystals that searches a verified catalog of 104 crystal bracelet SKUs and provides traceable sourcing checklists for loose beads, accessories, and raw materials.6MIT
- FlicenseNot gradedqualityCmaintenanceEnables conversational product search and validation for e-commerce catalogs, with hybrid retrieval and live price/stock checks from a database.
- FlicenseNot gradedqualityBmaintenanceProvides tools for searching a sneaker catalog (hybrid keyword and semantic search), retrieving product details, and checking inventory stock.