Skip to main content
Glama

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.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4.6/5 across 8 of 8 tools scored.

Server CoherenceA
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.

Available Tools

8 tools
browse_collectionA
Read-onlyIdempotent
Inspect

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".

ParametersJSON Schema
NameRequiredDescriptionDefault
catsNoChild-category slugs on a listing-nav collection; matches the site's cats filter
pageNo
sortNoDefault: best sellers
tagsNoStyle tag slugs, e.g. ['celtic','braided']
limitNoMax 24
metalsNoOffered metal codes, e.g. ['14K','PLAT']; price and URL use the first offered selection
price_tagNoPrice-range slug or id, e.g. '501-1000'; accepts one value or an array
collectionYesCollection permalink, with or without leading slash

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
pageNo
per_pageNo
productsNo
collectionYes
total_countNo
applied_filtersNo
child_collectionsNo
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Browse 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.

Usage Guidelines5/5

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_productA
Read-onlyIdempotent
Inspect

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).

ParametersJSON 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

ParametersJSON Schema
NameRequiredDescription
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
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.

get_product_imagesA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
slugNo
metal_toneNoOptionally return only photos showing this metal tone
style_codeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
titleYes
imagesYes
style_codeYes
image_countYes
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_infoA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
brandYes
returnsYes
diamondsYes
paymentsYes
resizingYes
warrantyYes
engravingYes
key_pagesYes
sales_taxYes
production_and_shippingYes
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 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.

Usage Guidelines5/5

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_collectionsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
collectionsYes
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's 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.

Usage Guidelines4/5

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_productA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
herNoHis & hers sets: configuration and optional engraving for the her band
hisNoHis & hers sets: configuration and optional engraving for the his band
urlNo
slugNo
colorNo
metalNo
widthNoBands: option_value id or display value, e.g. '6' (mm)
finishNo
optionsNoMap option_id (from get_product) to an option_value id or display label; an alternative to the named axes for any customizable item
ring_sizeNo
thicknessNo
stone_typeNoEngagement 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_codeNo
variant_idNoVariant id from get_product (preferred)
engraving_fontNoWedding bands only; for H&H put this inside his/her
engraving_textNoWedding bands only; for H&H put this inside his/her

Output Schema

ParametersJSON Schema
NameRequiredDescription
metalYesCustomer-facing metal name
notesYes
priceYes
titleYes
currencyYes
lead_timeYes
metal_codeYes
style_codeYes
price_as_ofYes
availabilityYes
configurationYes
deep_link_urlYes
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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_diamondsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cutNoCut grade as a label or certificate code: 'Ideal' (ID) or 'Excellent' (EX)
labNoGrading lab, e.g. IGI or GIA
pageNo
sortNo
colorNoOne color or an array; D through K
limitNoMax 50
shapeNoOne shape or an array, e.g. 'Round' or ['Oval','Emerald']
polishNoPolish grade as a label or certificate code: 'Excellent' (EX), 'Very Good' (VG), 'Good' (GD)
clarityNoOne clarity or an array, e.g. 'VS1' or ['VS1','VVS2']
stock_noNoExact stone lookup by stock number
symmetryNoSymmetry grade as a label or certificate code: 'Excellent' (EX) or 'Very Good' (VG)
carat_maxNo
carat_minNo
price_maxNo
price_minNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYes
diamondsYes
per_pageYes
browse_urlYes
total_countYes
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_productsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoRequested page; values below 1 are clamped and reported
tagsNoEvery supplied style tag must match, by slug, name, or id
limitNoRequested results per page (default 10); values outside 1..24 are clamped and reported
metalNoOptional metal filter; each returned starting price and URL use this metal's variant
queryYesKeywords or a style code (e.g. 'HC100232')
categoryNoOptional 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_maxNo
price_minNo
product_lineNoOptional product-line filter; category is preferred

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYes
queryYes
cappedYesTrue when total_count reached the search index's reporting ceiling and is not exact
has_moreYesTrue when another page exists within the reported result window
per_pageYes
productsYes
paginationYes
total_countYesExact match count unless capped is true; then this is a lower bound
applied_filtersYesValidated optional filters applied to this search
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Read-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.
    6
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources