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 by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 59 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.2/5.0

Scored across 8 tools

Disambiguation5/5

Each tool has a clearly distinct role: separate search tools for diamonds, engagement ring settings, fine jewelry, and knowledge base, plus distinct checkout, consultation, company-info, and article-reading tools. The descriptions explicitly clarify boundaries such as settings excluding center diamonds and jewelry covering non-engagement categories.

Naming Consistency5/5

All tool names use consistent snake_case with a verb_noun pattern: create_checkout_link, get_company_info, read_article, request_consultation, and four search_* tools. No mixed conventions or vague verbs.

Tool Count5/5

Eight tools are well-scoped for a diamond retailer's conversational commerce surface. Each tool earns its place by covering search, knowledge, checkout, consultation, and business info without redundancy.

Completeness4/5

The surface covers the core buying journey: inventory search, setting pairing, fine jewelry browsing, knowledge lookup, company info, checkout, and consultation. Minor gaps exist around order status, returns, or post-purchase support, but agents can work around them via knowledge base or company info.

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.

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

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.

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

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, so the safety profile is covered. The description usefully adds the return format (full markdown text), but says nothing about failure behavior for missing/invalid slugs or rate limits. Adequate but not rich beyond structured fields.

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, front-loaded with the core action and followed by the alternative-routing guidance. Zero wasted text.

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?

A simple read tool with an output schema, 100% schema coverage, and annotations covering safety. Purpose, input sourcing, and alternative routing are all present; 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 documents all four parameters including the slug's provenance and the analytics params. The description reinforces that the slug comes from search_knowledge_base, but adds no syntax or format detail beyond the schema. 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?

States a specific verb (fetch), resource (one Ada Diamonds knowledge base article), scope (by slug), and return format (full markdown text). An agent can distinguish it from search_knowledge_base without opening either schema.

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 names the alternative (search_knowledge_base) and the condition that selects it ("if you don't know the slug"). Nothing about when to call this vs the sibling is left to inference.

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.

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

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

A3.8/5.0
Behavior4/5

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

Beyond the annotations, the description adds critical behavioral context: the tool requires the `appointments:write` scope and cannot be used without the customer's explicit OAuth approval. It does not contradict the annotations, though it could say more about what happens after submission.

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 focused sentences with zero waste. The purpose is front-loaded, followed immediately by the authorization prerequisite.

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 rich schema coverage, annotations, and an output schema, the description provides enough context for correct invocation. Its only meaningful gap is the absence of explicit guidance on when to use this tool versus sibling search or checkout tools.

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 10 parameters, including required fields and the enum for `topic`. The description adds no parameter-specific meaning beyond what the schema provides, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/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: 'Submit a consultation request on the customer's behalf.' This clearly identifies the action and object, though it does not explicitly distinguish the tool from siblings such as create_checkout_link or 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 Guidelines3/5

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

The description implies usage by saying it submits a consultation request on the customer's behalf, and it adds an important OAuth prerequisite. However, it does not state when to choose this tool over alternatives or when not to use it, leaving routing guidance largely implied.

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.

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

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 and openWorldHint, so the safety profile is covered. The description adds genuinely new behavior: it returns live available stones with grading report numbers and product URLs, and it discloses MCP Apps host rendering into an interactive card grid — a trait not visible in any structured field.

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 tight sentences: capability and filters first, return shape second, usage and host-rendering note last. No filler, and the most decision-relevant content is front-loaded.

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?

With 13 params, full schema coverage, an output schema, and annotations, the description covers purpose, return content, usage, and UI behavior adequately. It omits any mention of pagination/limit behavior and the analytics-only context/llm_model parameters, but the schema fully documents those, so the gap is minor.

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 coverage is 100%, so all 13 parameters, including enums and limits, are already documented in the schema. The description restates the filter dimensions (shape, carat, price, color, clarity, cut) without adding format, default, or interaction details beyond what the schema provides, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

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

States a specific verb and resource ('search ... live loose lab grown diamond inventory') and enumerates the filterable dimensions, which implicitly separates it from search_jewelry and search_engagement_rings. It stops short of an explicit contrast with those siblings, leaving some ambiguity for a query like 'find a diamond ring under $5k'.

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?

'Use this for any question about what diamond a budget can buy' gives a clear positive usage condition tied to budget-driven browsing. No exclusion is given for when to prefer the ring/jewelry siblings instead, so the routing is clear but not complete.

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.

NameRequiredDescriptionDefault
qNoFree text, e.g. "east west bezel"; typo tolerant, best match first
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

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.2/5.0
Behavior4/5

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

Goes beyond the readOnly/openWorld annotations by disclosing the price-composition rule (setting only, no center stone) and the rendering behavior on MCP Apps hosts (interactive card grid). Missing items: pagination limits and what conversation_id enables, though the schema covers the latter.

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 tight sentences: purpose first, then the commercial caveat and pairing, then the rendering note. Nothing redundant or padded.

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?

An output schema exists and return values don't need explaining; the description still flags the card-grid rendering, which helps set expectations. Combined with annotations and full schema coverage, an agent has enough to invoke 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 coverage is 100%, so all ten parameters are self-documented; the description's price-exclusion note largely repeats what min_price/max_price already say. No added meaning for q, type, shape, or style 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?

Names a specific verb and resource ('search engagement ring settings') plus the discovery axes (shape, style, price), which separates it from search_diamonds and the broader search_jewelry. An agent can route to it without opening the schema.

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 states the pairing pattern: setting prices exclude the center diamond, so quote a complete ring via search_diamonds. That is clear context, but there is no explicit 'use this instead of search_jewelry when...' exclusion.

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.

NameRequiredDescriptionDefault
qNoFree text, e.g. "east west bezel"; typo tolerant, best match first
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

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

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, openWorldHint), so the bar is lower. The description adds a genuinely non-structured behavioral trait: hosts supporting MCP Apps render results as an interactive card grid, which affects how the agent should present the response. It does not mention result caps/pagination beyond the schema, but the schema already states the 1-50 limit.

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, zero filler, and the core purpose plus covered product families are front-loaded before the rendering caveat. Nothing repeats the title or the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is not needed, and the annotations and 100% schema coverage carry most of the remaining burden. What is missing is disambiguation from sibling search tools and any note on result ordering or empty-result behavior, which matters for a 10-parameter search with openWorld semantics.

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 baseline is 3; every parameter including the unusual context/llm_model/conversation_id contract is fully documented in the schema. The description only echoes the facet names (category, type, diamond shape, price) without adding format or matching semantics beyond what the schema says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

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

States a specific verb and resource ('Search Ada Diamonds' fine jewelry') and enumerates the product families covered plus the filter dimensions. It never distinguishes itself from the close siblings search_diamonds and search_engagement_rings, so the boundary of 'jewelry' versus 'loose stones' or 'engagement rings' is left implicit.

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?

Usage is implied by the listed facets (category, type, shape, price) which tells the agent this is the faceted catalog-search tool. There is no explicit when-to-use/when-not guidance, and with three overlapping search siblings in the tool list, the agent gets no rule for choosing among them.

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.

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

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

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so safety is covered; the description adds that results are summaries plus markdown URLs rather than full content, which is a real behavioral constraint driving the read_article handoff. It adds nothing about ranking, coverage limits, or empty-result behavior.

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 short sentences with zero filler: what it searches, what it returns, and where to go next. The most decision-relevant information (scope of content) is front-loaded.

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?

An output schema exists so return values need no explanation, and annotations cover the safety profile; the description still supplies the one thing the structured data cannot — that this is a summaries-only index paired with read_article. Nothing needed to call 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%, including limit bounds and the oddly specific context/llm_model/conversation_id requirements, so the schema carries all parameter meaning. The description only implies that the query is topical, adding no syntax, matching behavior, or query-construction guidance 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?

States a specific verb (search) and a precisely bounded resource (Ada Diamonds' published guides), then enumerates the content domains covered — 4Cs, CVD vs HPHT, shapes, certification, buying advice. This clearly separates it from the product-oriented siblings like search_diamonds and search_jewelry without the agent needing to open schemas.

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

Usage Guidelines4/5

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

Gives an explicit next-step rule: use read_article to get an article's full text, which tells the agent when this tool's output is insufficient. It lacks an explicit exclusion statement for the other search_* siblings (diamonds, jewelry, rings), relying on the content-domain wording to imply the split.

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. 7 tool updates
    • Changedcreate_checkout_link4 fields changed
      • removedOutput schema / properties / expires_at / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / expires_at / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / url / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / url / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedread_article6 fields changed
      • removedOutput schema / properties / excerpt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / excerpt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / markdown / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / markdown / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / title / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / title / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedrequest_consultation4 fields changed
      • removedOutput schema / properties / email / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / email / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / reference / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reference / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedsearch_diamonds18 fields changed
      • removedOutput schema / properties / items / items / properties / carat / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / carat / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / items / items / properties / certificate / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / certificate / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / items / items / properties / clarity / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / clarity / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / items / items / properties / color / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / color / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / items / items / properties / cut / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / cut / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / items / items / properties / lab / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / lab / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / items / items / properties / measurements / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / measurements / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / items / items / properties / price / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / price / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / items / items / properties / shape / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / shape / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedsearch_engagement_rings9 fields changed
      • changedOutput schema / properties / items / items / properties / image / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "alt": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Alt text, when the catalog has one"
        -      },
        -      "url": {
        -        "description": "Image URL on the Ada Diamonds CDN",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "url",
        -      "alt"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "alt": {
        +        "description": "Alt text, when the catalog has one",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "Image URL on the Ada Diamonds CDN",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "url",
        +      "alt"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / items / items / properties / platinumUpcharge / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / platinumUpcharge / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / items / items / properties / priceFrom / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / priceFrom / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / items / items / properties / style / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / style / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / properties / items / items / properties / type / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / type / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedsearch_jewelry9 fields changed
      • removedOutput schema / properties / items / items / properties / category / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / category / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / items / items / properties / image / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "alt": {
        -        "anyOf": [
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Alt text, when the catalog has one"
        -      },
        -      "url": {
        -        "description": "Image URL on the Ada Diamonds CDN",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "url",
        -      "alt"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "alt": {
        +        "description": "Alt text, when the catalog has one",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "Image URL on the Ada Diamonds CDN",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "url",
        +      "alt"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / items / items / properties / priceFrom / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / priceFrom / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / items / items / properties / priceMax / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / priceMax / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / properties / items / items / properties / type / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / type / type
        Added value: +[
        +  "string",
        +  "null"
        +]
    • Changedsearch_knowledge_base2 fields changed
      • removedOutput schema / properties / items / items / properties / excerpt / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / items / items / properties / excerpt / type
        Added value: +[
        +  "string",
        +  "null"
        +]
  2. 2 tool updates
    • Changedsearch_engagement_rings1 field changed
      • changedInput schema / properties / q / description
        Previous value: -"Free-text match on the setting name"New value: +"Free text, e.g. \"east west bezel\"; typo tolerant, best match first"
    • Changedsearch_jewelry1 field changed
      • changedInput schema / properties / q / description
        Previous value: -"Free-text match on the product name"New value: +"Free text, e.g. \"east west bezel\"; typo tolerant, best match first"
  3. 1 tool update
    • Changedcreate_checkout_link1 field changed
      • addedInput schema / properties / items / maxItems
        Added value: +20
  4. 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"
        +]
  5. 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
  6. 1 tool update
    • Addedcreate_checkout_link
  7. 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
    A
    quality
    C
    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
    56 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
    4 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources