Skip to main content
Glama

Server Details

Live lab grown diamond inventory, engagement ring settings, fine jewelry, and diamond buying guides.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.4/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct resource and action: diamonds, settings, jewelry, articles, company info, consultations, and checkout. The two product search tools even explicitly note that they must be paired rather than overlapped. No two tools are plausible alternatives for the same task.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern: create_, get_, read_, request_, and search_. The verbs clearly map to actions and the nouns to resources, making the API predictable.

Tool Count5/5

Eight tools is well-scoped for a retail diamond business: product search, knowledge content, company info, checkout, and consultation each have their own tool. Every tool serves a distinct customer-facing function without bloat.

Completeness5/5

The toolset covers the full purchase journey: search inventory, read buying guides, assemble a cart and pay via checkout, request a consultation, and get company details. The only conceivable minor gap is lack of order-tracking, but that is outside the apparent shopping/consultation scope.

Available Tools

8 tools
get_company_infoAda Diamonds company and showroom informationA
Read-only
Inspect

Contact details, showroom address and hours, how consultations work, and what Ada Diamonds sells. Use this to answer questions about the business rather than about a product.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextYesExplain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution."
sectionNoWhich part to return as text: contact (phone, email, hours, website), showrooms (addresses and hours), consultations (how remote and in-person consultations work), or all (default). The structured result always carries every section.all
llm_modelYesThe exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.
conversation_idNoEcho the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYesLegal company name
emailYesCustomer email address
hoursYesBusiness hours
phoneYesMain phone number
websiteYesWebsite URL
showroomsYesPhysical showrooms
inquiryUrlYesPage where a customer starts a consultation
descriptionYesWhat Ada Diamonds sells and how it works

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds no additional behavioral context such as rate limits, auth requirements, or side-effect warnings, which is acceptable given the read-only annotation.

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?

Two sentences with zero filler. The content list is front-loaded, and the usage guidance closes the description efficiently without redundancy.

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 description covers purpose and usage boundary, the output schema covers return structure, annotations cover read-only behavior, and the schema covers all parameters. Nothing an agent needs to invoke it correctly is missing.

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 100%, so the schema fully explains context, section, llm_model, and conversation_id. The description adds high-level content domains but does not enrich parameter 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 specific content categories (contact, showroom hours, consultations, what the company sells) and explicitly contrasts with product questions, distinguishing it from sibling search tools. An agent can immediately tell this is the business-information tool.

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 usage direction: use for business questions rather than product questions. It does not name the alternative search_* siblings, but the 'rather than about a product' phrasing clearly implies the boundary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_articleRead a knowledge base articleA
Read-only
Inspect

Fetch the full markdown text of one Ada Diamonds knowledge base article by slug. Use search_knowledge_base first if you don't know the slug.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesArticle slug from search_knowledge_base, e.g. "cvd-lab-diamonds" or "lab-diamond-shapes-guide"
contextYesExplain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution."
llm_modelYesThe exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.
conversation_idNoEcho the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesArticle page URL
slugYesThe slug that was requested
foundYesFalse when no article has that slug
titleYesArticle title, when found
excerptYesOne-paragraph summary, when published
markdownYesThe full article body as markdown, when found

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile and open-world nature. The description adds that it returns markdown text and is keyed by slug, which is useful but doesn't go beyond what the schema already implies. It doesn't address error behavior, response structure, or any caveats, but given the annotations carry the main burden, a 3 is appropriate.

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?

Two sentences, no filler. The core action and the routing hint are both front-loaded. Every word earns its place.

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 has a declared output schema, so the return format is handled. The description covers how to obtain the slug, which is the only non-obvious input. The analytics-only parameters (context, llm_model) are self-documented in the schema and don't require description-level detail. Nothing an agent needs to invoke this correctly is missing.

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 100%, so all four parameters have detailed descriptions in the input schema. The tool description reinforces the slug parameter's role (pointing to search for it) but adds no new semantic meaning beyond the schema. Baseline 3 is correct when the schema already documents parameters thoroughly.

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 ('Fetch'), a precise resource ('full markdown text of one Ada Diamonds knowledge base article'), and the key discriminator ('by slug'). This clearly distinguishes it from the sibling search_knowledge_base, which is about discovery, not retrieval.

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 the agent to 'Use search_knowledge_base first if you don't know the slug', providing clear routing to the appropriate sibling when the slug is unknown. This is direct and actionable guidance on when to use this tool versus the alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

request_consultationRequest a jeweler consultationAInspect

Submit a consultation request on the customer's behalf. Requires the appointments:write scope, which the customer grants through Ada's OAuth authorization flow — this tool cannot be used without their explicit approval.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoCustomer's name
emailYesCustomer's email address; the jeweler replies here
phoneNoCustomer's phone number, if they want a call
topicNoWhat the consultation is about
contextYesExplain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution."
messageNoWhat the customer is looking for, in their words
llm_modelYesThe exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.
budget_usdNoApproximate budget in US dollars
product_urlNoURL of a specific diamond, setting, or piece they are interested in
conversation_idNoEcho the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.

Output Schema

ParametersJSON Schema
NameRequiredDescription
emailYesThe customer email the request was filed under
statusYesreceived when a request was recorded; otherwise why it was not
messageYesHuman-readable outcome, including what to do next
sandboxYesTrue when a sandbox credential was used: nothing was created and nobody was contacted
referenceYesRequest reference, when received

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already indicate this is a non-read, non-destructive operation. The description adds meaningful behavioral context: it requires a specific OAuth scope, cannot be used without customer approval, and is performed on the customer's behalf. It also implicitly warns about authorization failure. It does not describe side effects (e.g., whether a confirmation email is sent), but the OAuth requirement is the most important behavioral trait and is disclosed.

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 two sentences and front-loads the core action and the critical authorization requirement. It is concise and every sentence earns its place. The only minor inefficiency is that the OAuth detail could be slightly tighter, but it is essential context, so the length is justified.

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 (10 params, 1 enum, output schema present), the description covers the most critical operational constraints: authorization, the analytics-only nature of `context` and `llm_model`, and the `conversation_id` sequencing rule. The output schema exists, so return values need not be described. A small gap is that it doesn't mention what happens after submission (e.g., whether the customer receives a confirmation), but the essential calling requirements are covered.

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 100%, so the schema already documents all 10 parameters. The description adds value by explaining the `context` parameter's strict privacy rules and the `llm_model` parameter's source and fallback behavior, which are not inferable from the schema alone. It also clarifies that `conversation_id` must be echoed from a previous server response and never invented. This goes beyond the schema's basic 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 states a specific verb ('Submit'), a clear resource ('a consultation request'), and the actor ('on the customer's behalf'). It also distinguishes itself from siblings by focusing on the consultation-request action, which none of the listed sibling tools do. The title reinforces the purpose without being a tautology.

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 clearly states a prerequisite (the `appointments:write` scope via OAuth) and that the tool cannot be used without explicit customer approval. It does not explicitly name alternative tools or when-not-to-use conditions, but the sibling list makes the alternative context clear enough. A small gap is the lack of explicit 'use this when the customer wants a consultation' guidance, but the purpose is self-evident.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_diamondsSearch loose lab diamondsA
Read-only
Inspect

Search Ada Diamonds' live loose lab grown diamond inventory by shape, carat weight, price, color, clarity, and cut. Returns currently available stones with their grading report numbers and product URLs. Use this for any question about what diamond a budget can buy. MCP Apps-enabled: hosts that support MCP Apps render the results as an interactive card grid.

ParametersJSON Schema
NameRequiredDescriptionDefault
cutNoCut grade: Ideal, Excellent, or Very Good
sortNoResult order: price_asc (default relevance), price_desc, carat_asc, or carat_desc
colorNoColor grade, D (colorless) through K
limitNoMaximum number of results to return, 1 to 50 (default 10)
shapeNoCut shape: Round, Oval, Cushion, Emerald, Pear, Radiant, Asscher, Princess, or Marquise
clarityNoClarity grade: FL, IF, VVS1, VVS2, VS1, VS2, SI1, or SI2
contextYesExplain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution."
llm_modelYesThe exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.
max_caratNoMaximum carat weight, e.g. 2
max_priceNoMaximum price of the loose stone in US dollars
min_caratNoMinimum carat weight, e.g. 1 or 1.5
min_priceNoMinimum price of the loose stone in US dollars
conversation_idNoEcho the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYesWhich catalog the results come from
itemsYesThe matching entries, best match first
queryYesThe filters that were applied (only the ones you sent)
shownYesHow many entries are in `items`
totalYesHow many catalog entries matched before the limit
browseUrlYesWeb page listing the full catalog for this search

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds value by disclosing that results are 'currently available stones' (live inventory), that it returns grading report numbers and product URLs, and that MCP Apps hosts render results as an interactive card grid. This goes beyond the annotations 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.

Conciseness4/5

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

The description is three sentences and front-loads the core purpose and scope. The first sentence is dense but efficient. The second sentence gives a clear usage cue. The third sentence about MCP Apps is useful but slightly tangential to the core invocation logic; it earns its place as behavioral context but could be trimmed. Overall, no wasted words.

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 search tool with 13 parameters, 100% schema coverage, an output schema, and read-only annotations, the description covers the essential invocation context: what is searched, what filters apply, what results contain, and when to use it. The only minor gap is that it doesn't explain the default sort behavior beyond what the schema already states, but the schema covers that. The description is complete enough for an agent to select and call the tool correctly.

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 100%, so the schema already documents all 13 parameters. The description adds a little context by naming the filter dimensions (shape, carat, price, color, clarity, cut) and noting the sort default ('price_asc (default relevance)'), but it doesn't add meaning beyond what the schema provides. Baseline 3 is appropriate.

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 ('Search'), a specific resource ('Ada Diamonds' live loose lab grown diamond inventory'), and enumerates the filter dimensions (shape, carat, price, color, clarity, cut). It also distinguishes itself from siblings by focusing on loose lab-grown diamonds and budget-based queries, which separates it from search_engagement_rings and search_jewelry.

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 says 'Use this for any question about what diamond a budget can buy,' which gives clear context for when to invoke it. It doesn't explicitly name alternatives or exclusions, but the sibling list and the phrase 'loose lab grown diamond inventory' imply when other tools (e.g., search_engagement_rings, search_jewelry) would be more appropriate. A clear when-to-use is present, but no explicit when-not-to-use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_engagement_ringsSearch engagement ring settingsA
Read-only
Inspect

Search Ada Diamonds' engagement ring settings by center-stone shape, style, and setting price. Setting prices exclude the center diamond — pair with search_diamonds to quote a complete ring. MCP Apps-enabled: hosts that support MCP Apps render the results as an interactive card grid.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFree-text match on the setting name
typeNoSetting type, e.g. Solitaire, Halo, Three Stone
limitNoMaximum number of results to return, 1 to 50 (default 10)
shapeNoCenter-stone shape the setting must accommodate, e.g. Oval
styleNoDesign style, e.g. Petite Four Prong, Trellis, Bezel
contextYesExplain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution."
llm_modelYesThe exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.
max_priceNoMaximum setting price in US dollars, excluding the center diamond
min_priceNoMinimum setting price in US dollars, excluding the center diamond
conversation_idNoEcho the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYesWhich catalog the results come from
itemsYesThe matching entries, best match first
queryYesThe filters that were applied (only the ones you sent)
shownYesHow many entries are in `items`
totalYesHow many catalog entries matched before the limit
browseUrlYesWeb page listing the full catalog for this search

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 the safety profile is covered. The description adds useful private behavior: results are setting-only with prices excluding diamonds, and rendering may become an interactive card grid in MCP Apps-enabled hosts. No contradiction 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?

Three sentences, each earning its place: purpose and filters, price-scope caveat with sibling pairing, and the MCP Apps rendering note. The core action is front-loaded with no filler or redundancy.

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 10-parameter tool, the description covers the key domain decision logic (settings vs. complete ring, pairing with search_diamonds) while the full schema documents every parameter and an output schema exists. The only minor gap is no guidance on the analytics-only parameters (context, llm_model), but those are fully described in the schema.

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 100%, so the baseline is 3. The description additionally clarifies that min_price and max_price values exclude the center diamond, which is meaningful domain semantics beyond the raw schema text, and it ties shape/style/price to the search behavior.

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 and resource, "Search Ada Diamonds' engagement ring settings," and enumerates the filter dimensions (shape, style, price), immediately distinguishing it from sibling tools like search_diamonds and search_jewelry. It clearly identifies this as the settings-specific search, not a general jewelry query.

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 concrete usage context: settings prices exclude the center diamond and should be paired with search_diamonds for a complete ring quote. It does not explicitly state when not to use this tool or name alternative searches by condition, but the pairing guidance and scope are enough for an agent to route correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_jewelrySearch fine jewelryA
Read-only
Inspect

Search Ada Diamonds' fine jewelry — wedding bands, earrings, necklaces, bracelets, and fashion rings — by category, type, diamond shape, and price. MCP Apps-enabled: hosts that support MCP Apps render the results as an interactive card grid.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFree-text match on the product name
typeNoType, e.g. Wedding Bands, Earrings, Necklaces, Bracelets, Rings
limitNoMaximum number of results to return, 1 to 50 (default 10)
shapeNoDiamond shape used in the piece, e.g. Round
contextYesExplain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution."
categoryNoCategory: Bridal or Fashion
llm_modelYesThe exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.
max_priceNoMaximum price in US dollars
min_priceNoMinimum price in US dollars
conversation_idNoEcho the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYesWhich catalog the results come from
itemsYesThe matching entries, best match first
queryYesThe filters that were applied (only the ones you sent)
shownYesHow many entries are in `items`
totalYesHow many catalog entries matched before the limit
browseUrlYesWeb page listing the full catalog for this search

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, covering safety and dynamic results. The description adds the MCP Apps rendering behavior (interactive card grid), which is a meaningful behavioral trait beyond the annotations. It does not contradict the annotations and provides useful context about how results are presented on supporting hosts.

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?

Two tight sentences: the first front-loads the core purpose and filter scope, the second adds a value-added rendering note. No wasted words or redundancy. The description earns its space efficiently.

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?

The tool has an output schema, so return format is already defined. The description covers the search scope, filterable attributes, and rendering behavior, and the annotations handle safety and open-world semantics. It does not explicitly explain pagination via conversation_id, but that is documented in the schema; overall it is complete enough for an agent to call correctly.

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 100%, so every parameter is already documented. The description adds a summary of the main filter dimensions (category, type, diamond shape, price) that map to existing schema fields, but it does not add syntax, formatting, or behavioral nuance beyond what the schema provides. This meets the baseline but adds little extra meaning.

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 uses a specific verb 'Search' with a clear resource ('Ada Diamonds' fine jewelry') and enumerates the item types (wedding bands, earrings, necklaces, bracelets, fashion rings) plus the filtering dimensions (category, type, diamond shape, price). This makes its scope distinct from siblings like search_diamonds (loose diamonds) and search_engagement_rings (a subset), even though it doesn't name them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for finished fine jewelry pieces rather than loose diamonds or specific subsets, but it does not explicitly state when to use it versus siblings such as search_diamonds or search_engagement_rings. There are no exclusions or alternative-routing cues beyond the item list, so an agent must infer usage from the resource naming.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_knowledge_baseSearch Ada Diamonds guidesA
Read-only
Inspect

Search Ada Diamonds' published guides on lab grown diamonds — the 4Cs, CVD vs HPHT growth, shape guides, certification, and buying advice. Returns article summaries and markdown URLs. Use read_article to get an article's full text.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return, 1 to 25 (default 8)
queryYesTopic to search for, matched against article titles, summaries, and slugs
contextYesExplain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution."
llm_modelYesThe exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.
conversation_idNoEcho the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYesAlways "articles"
itemsYesMatching articles
queryYesThe search terms that were used
totalYesHow many articles are in `items`
browseUrlYesWeb page listing every guide

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the agent knows this is a safe, non-mutating search. The description adds that it returns article summaries and markdown URLs, which is useful behavioral context beyond the annotations. However, it doesn't disclose pagination behavior, result ordering, or what happens with no results. With annotations covering the safety profile, a 3 is appropriate.

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?

Two sentences with zero waste. The first sentence front-loads the tool's purpose and scope, and the second provides a clear pointer to the sibling tool for the next step. Every word earns its place.

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?

The description is complete for a search tool: it states what it searches, what it returns (summaries and markdown URLs), and how to get full text. The output schema exists, so return values don't need explanation. Minor gaps like result ordering and pagination are not critical for an agent to invoke this tool correctly. The only slight gap is not explicitly distinguishing from search_diamonds, but the topic scope makes it clear.

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 100%, so the schema already documents all 5 parameters thoroughly. The description adds context about what 'query' matches against (article titles, summaries, and slugs) and that results include summaries and URLs, which slightly enriches the schema. But the description doesn't add meaning beyond what the schema provides for the other parameters (context, llm_model, conversation_id, limit). Baseline 3 is correct when schema does the heavy lifting.

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 ('Search'), a specific resource ('Ada Diamonds' published guides on lab grown diamonds'), and enumerates the covered topics (4Cs, CVD vs HPHT, shape guides, certification, buying advice). It also distinguishes itself from read_article by noting it returns summaries and URLs while read_article provides full text. This clearly differentiates it from siblings like search_diamonds and search_engagement_rings.

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 says to use read_article to get an article's full text, which provides a clear alternative for a follow-up action. It implies this tool is for finding/summarizing articles rather than reading them fully. However, it doesn't explicitly state when NOT to use this tool versus other search siblings (e.g., search_diamonds for product searches), though the topic scope makes this reasonably clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 8 tool updates
    • Changedcreate_checkout_link4 fields changed
      • addedInput schema / properties / context
        Added value: +{
        +  "description": "Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a user\", \"the customer\", or \"an account\". Example: \"Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution.\"",
        +  "type": "string"
        +}
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "description": "Echo the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.",
        +  "type": "string"
        +}
      • addedInput schema / properties / llm_model
        Added value: +{
        +  "description": "The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "items",
        -  "shipping_address"
        -]New value: +[
        +  "items",
        +  "shipping_address",
        +  "context",
        +  "llm_model"
        +]
    • Changedget_company_info4 fields changed
      • addedInput schema / properties / context
        Added value: +{
        +  "description": "Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a user\", \"the customer\", or \"an account\". Example: \"Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution.\"",
        +  "type": "string"
        +}
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "description": "Echo the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.",
        +  "type": "string"
        +}
      • addedInput schema / properties / llm_model
        Added value: +{
        +  "description": "The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess.",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "context",
        +  "llm_model"
        +]
    • Changedread_article4 fields changed
      • addedInput schema / properties / context
        Added value: +{
        +  "description": "Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a user\", \"the customer\", or \"an account\". Example: \"Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution.\"",
        +  "type": "string"
        +}
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "description": "Echo the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.",
        +  "type": "string"
        +}
      • addedInput schema / properties / llm_model
        Added value: +{
        +  "description": "The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "slug"
        -]New value: +[
        +  "slug",
        +  "context",
        +  "llm_model"
        +]
    • Changedrequest_consultation4 fields changed
      • addedInput schema / properties / context
        Added value: +{
        +  "description": "Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a user\", \"the customer\", or \"an account\". Example: \"Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution.\"",
        +  "type": "string"
        +}
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "description": "Echo the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.",
        +  "type": "string"
        +}
      • addedInput schema / properties / llm_model
        Added value: +{
        +  "description": "The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "email"
        -]New value: +[
        +  "email",
        +  "context",
        +  "llm_model"
        +]
    • Changedsearch_diamonds5 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / context
        Added value: +{
        +  "description": "Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a user\", \"the customer\", or \"an account\". Example: \"Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution.\"",
        +  "type": "string"
        +}
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "description": "Echo the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.",
        +  "type": "string"
        +}
      • addedInput schema / properties / llm_model
        Added value: +{
        +  "description": "The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess.",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "context",
        +  "llm_model"
        +]
    • Changedsearch_engagement_rings5 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / context
        Added value: +{
        +  "description": "Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a user\", \"the customer\", or \"an account\". Example: \"Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution.\"",
        +  "type": "string"
        +}
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "description": "Echo the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.",
        +  "type": "string"
        +}
      • addedInput schema / properties / llm_model
        Added value: +{
        +  "description": "The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess.",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "context",
        +  "llm_model"
        +]
    • Changedsearch_jewelry5 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / context
        Added value: +{
        +  "description": "Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a user\", \"the customer\", or \"an account\". Example: \"Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution.\"",
        +  "type": "string"
        +}
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "description": "Echo the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.",
        +  "type": "string"
        +}
      • addedInput schema / properties / llm_model
        Added value: +{
        +  "description": "The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess.",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "context",
        +  "llm_model"
        +]
    • Changedsearch_knowledge_base4 fields changed
      • addedInput schema / properties / context
        Added value: +{
        +  "description": "Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a user\", \"the customer\", or \"an account\". Example: \"Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution.\"",
        +  "type": "string"
        +}
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "description": "Echo the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.",
        +  "type": "string"
        +}
      • addedInput schema / properties / llm_model
        Added value: +{
        +  "description": "The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "query"
        -]New value: +[
        +  "query",
        +  "context",
        +  "llm_model"
        +]
  2. 4 tool updates
    • Changedcreate_checkout_link2 fields changed
      • addedInput schema / properties / env
        Added value: +{
        +  "description": "sandbox returns a simulated link and creates no Stripe session; production mints a live, payable Stripe Checkout link. Defaults to sandbox for anonymous callers and to the credential's environment otherwise. A sandbox credential is always sandbox.",
        +  "enum": [
        +    "production",
        +    "sandbox"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / properties / sandbox / description
        Previous value: -"True on a sandbox credential: the link is simulated and nothing is payable"New value: +"True when the link is simulated (sandbox): nothing is payable and no Stripe session was created. False means the link is live and payable."
    • Changedsearch_diamonds1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedsearch_engagement_rings1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedsearch_jewelry1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
  3. 1 tool update
    • Addedcreate_checkout_link
  4. 7 tool updates
    • First observedget_company_info
    • First observedread_article
    • First observedrequest_consultation
    • First observedsearch_diamonds
    • First observedsearch_engagement_rings
    • First observedsearch_jewelry
    • First observedsearch_knowledge_base

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Jewellery sizing and gemstone grading tools by FITINY. Carat-to-millimetre conversion for moissanite, diamond and cubic zirconia corrected for each stone's density — every chart online is calculated for diamond, which is wrong for moissanite by about 9%. Also covers GIA colour (D-K) and clarity (FL-SI) scales, ISO 8653 ring size conversion across US/UK/EU, necklace lengths and stud diameter.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Provides live US healthcare cost data including procedure cost estimates, provider pricing, insurance coverage rules, and medical bill analysis using real hospital transparency and CMS data.
    12
    46 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Franchise evaluation tools built from 81+ closed deals. Validate FDD investment ranges, identify red flags, assess readiness, and connect with a free franchise consultant. E-2 visa guide in English and Spanish.
    8
    6 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources