Girlfriend Gifts – hand-picked gift ideas
Server Details
Hand-picked gift ideas for her (partner gifts), turned into shareable wishlists fast.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 9 tools
The wishlist lifecycle tools (create_wishlist, add_wishlist_item, get_wishlist) are distinct, but create_and_fill intentionally overlaps with create_wishlist+add_wishlist_item, and get_catalog/search_gifts/resolve_product all touch 'find gifts for a list' with fuzzier boundaries. The descriptions do clarify the preferred-path and catalog-vs-search distinction, so an agent can mostly pick correctly, but there are a couple of confusable pairs.
Eight of nine tools follow a clean verb_noun snake_case pattern (add_wishlist_item, create_wishlist, get_catalog, list_marketplaces, resolve_product, search_gifts), which is highly readable. create_and_fill breaks the noun pattern and reads like a mode rather than a resource action, a minor inconsistency.
Nine tools is well within a healthy range and each maps to a real task: discovery (list_marketplaces, search_gifts, get_catalog, resolve_product), wishlist building (create_wishlist, add_wishlist_item, create_and_fill), retrieval (get_wishlist), and diagnostics (get_health). Nothing feels padded or redundant enough to cut.
The surface covers create, read, and add-item for wishlists, but there is no update_wishlist, remove/delete item, or delete/list-all wishlists operation, so agents can build a list yet cannot edit or clean it up. Marketplace and product resolution are reasonably covered, leaving the wishlist mutation lifecycle notably incomplete.
Available Tools
9 toolsadd_wishlist_itemAdd wish itemAInspect
Add an item to a gift list / wishlist (shopping-list building). Requires editToken from create. Body: name/title plus asin, url (pasted /dp), searchKeywords, or catalogId. Token storage may return a new id — update bookmarks. Prefer buyUrl in responses. OpenAPI: addWishlistItem.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Wishlist id | |
| url | No | ||
| asin | No | ||
| name | No | ||
| emoji | No | ||
| title | No | ||
| locale | No | User locale, e.g. en, sv, de, fr, es | |
| catalogId | No | ||
| editToken | Yes | X-Edit-Token from create/mutate response | |
| marketplace | No | Amazon storefront domain or id for the end user, e.g. amazon.com, amazon.se, us, se, de. REQUIRED — curated catalogs with real /dp ASINs on amazon.se (Sweden, default) and amazon.com (United States: marketplace=amazon.com → https://www.amazon.com/dp/ASIN links); other marketplaces get romantic search deep-links. | |
| searchKeywords | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false and openWorldHint=true; the description adds genuinely new behavior: the editToken requirement, the caveat that token storage may return a new id so bookmarks must be updated, and a preference for buyUrl in responses. That is meaningful context beyond the annotations, though nothing is said about error handling or duplicate items.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense and front-loaded: purpose first, then token requirement, then body inputs and caveats. The telegraphic style and the trailing 'OpenAPI: addWishlistItem' reference are low-value filler, but nothing is bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, it covers the token lifecycle and item identity but omits the response shape beyond a buyUrl hint, the marketplace parameter's practical necessity, and behavior on invalid/incomplete identity inputs. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 36% across 11 params, so the description must compensate; it does add useful semantics ('url (pasted /dp)' and the either/or item-identity options) but leaves emoji, locale, and the critical marketplace requirement unaddressed. Partial compensation warrants a 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource: 'Add an item to a gift list / wishlist', and parenthetically scopes it as shopping-list building. It names the prerequisite token (from create) but does not explicitly contrast with siblings like create_and_fill or create_wishlist, so sibling differentiation is only implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the prerequisite ('Requires editToken from create') and lists the alternative item-identity inputs (asin, url, searchKeywords, catalogId), which implies when this call applies. But it never says 'use create_and_fill instead when…' or covers failure/duplicate cases, so guidance remains implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_and_fillOne-shot create and fillAInspect
Preferred agent path for list-building: create a gift wishlist and fill it with ASINs / keywords / search queries in one call. Returns id, editToken, ownerUrl, shopUrl. Pass marketplace + locale. OpenAPI: agentCreateAndFill.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | User locale, e.g. en, sv, de, fr, es | |
| occasion | No | ||
| itemAsins | No | ||
| styleTags | No | ||
| budgetBand | No | ||
| itemQueries | No | Each query is searched and added as a wish | |
| marketplace | No | Amazon storefront domain or id for the end user, e.g. amazon.com, amazon.se, us, se, de. REQUIRED — curated catalogs with real /dp ASINs on amazon.se (Sweden, default) and amazon.com (United States: marketplace=amazon.com → https://www.amazon.com/dp/ASIN links); other marketplaces get romantic search deep-links. | |
| itemKeywords | No | ||
| relationship | No | ||
| recipientName | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say it writes and is open-world; the description adds real behavior: the exact return fields (id, editToken, ownerUrl, shopUrl) and the marketplace-dependent outcome (curated real /dp ASINs on amazon.se/amazon.com vs. romantic search deep-links elsewhere). Reversibility and rate/size limits are not covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the purpose and the routing hint, then returns, then required inputs. The trailing 'OpenAPI: agentCreateAndFill' reference is marginal but harmless.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter composite write tool with no output schema, the description covers returns and marketplace behavior well but leaves the majority of optional parameters (occasion, styleTags, budgetBand, relationship, recipientName) unexplained, so an agent cannot tell how they affect the created list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 30%, so the description must compensate but does not. It mentions marketplace, locale, and the ASINs/keywords/queries triplet, but occasion, styleTags, budgetBand, relationship, and recipientName are explained nowhere — and it is unclear whether those shape the fill or are just metadata.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific compound verb and resource: create a gift wishlist and fill it with ASINs/keywords/search queries in one call. The 'one-shot' framing implicitly distinguishes it from the create_wishlist + add_wishlist_item pair, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Preferred agent path for list-building' gives a clear selection signal against the sibling create_wishlist/add_wishlist_item workflow. It stops short of stating when NOT to use this composite path (e.g., adding to an existing list), so it is not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_wishlistCreate wishlistAInspect
Create a girlfriend/wife gift list / wishlist for shopping-list building. Returns id, editToken, ownerUrl (she edits), shopUrl (he/agent shops), wishlist, storage. Save editToken for add_wishlist_item. If storage is token, later mutations may return a new id — always use the latest. OpenAPI: createWishlist.
| Name | Required | Description | Default |
|---|---|---|---|
| items | No | ||
| locale | No | User locale, e.g. en, sv, de, fr, es | |
| occasion | No | ||
| styleTags | No | ||
| budgetBand | No | ||
| marketplace | No | Amazon storefront domain or id for the end user, e.g. amazon.com, amazon.se, us, se, de. REQUIRED — curated catalogs with real /dp ASINs on amazon.se (Sweden, default) and amazon.com (United States: marketplace=amazon.com → https://www.amazon.com/dp/ASIN links); other marketplaces get romantic search deep-links. | |
| relationship | No | ||
| recipientName | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false and openWorldHint=true; the description adds real value beyond that by enumerating the return fields (id, editToken, ownerUrl, shopUrl, wishlist, storage) and by warning that token storage can cause later mutations to return a new id. That id-instability caveat is exactly the kind of behavior annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense and front-loaded: purpose first, then return shape, then the critical token caveat. The trailing 'OpenAPI: createWishlist' is filler that adds nothing for an agent, and the run-on return-field list is terse to the point of being hard to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description usefully covers return values and the editToken lifecycle, including a downstream-compatible warning about changing ids. What it lacks is any guidance on the input parameters, which is a gap for an 8-parameter tool, though the enum values are largely self-describing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 8 parameters and only 25% schema description coverage, the description must compensate for the semantics gap, but it explains none of them — marketplace, locale, occasion, budgetBand, styleTags, relationship, and recipientName are never mentioned. Its only parameter-adjacent note concerns the returned editToken, which is output, not input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a girlfriend/wife gift list / wishlist') plus its use case ('shopping-list building'), which is far more than the name/title alone. However, it never distinguishes itself from the sibling create_and_fill, which an agent could plausibly confuse with a create-and-populate operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives one concrete workflow instruction ('Save editToken for add_wishlist_item'), which implies the create-then-add-items sequence. But there is no explicit when-to-use/when-not guidance and no routing between create_wishlist, create_and_fill, and add_wishlist_item, so the agent must infer the choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_catalogCurated gift catalogARead-onlyInspect
Curated girlfriend/wife gift catalogs for building shopping lists and wishlists: 245 amazon.se /dp ASINs (default) and a separate US catalog of ASINs verified live on amazon.com (pass marketplace=amazon.com → https://www.amazon.com/dp/ASIN buy links, tagged with the server-configured amazon.com tag when set). On other marketplaces catalogMode is search-ideas. ALWAYS pass marketplace + locale. OpenAPI: getCatalog.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Full-text filter | |
| locale | Yes | User locale, e.g. en, sv, de, fr, es | |
| occasion | No | ||
| styleTag | No | ||
| styleTags | No | Comma-separated style tags | |
| budgetBand | No | ||
| marketplace | Yes | Amazon storefront domain or id for the end user, e.g. amazon.com, amazon.se, us, se, de. REQUIRED — curated catalogs with real /dp ASINs on amazon.se (Sweden, default) and amazon.com (United States: marketplace=amazon.com → https://www.amazon.com/dp/ASIN links); other marketplaces get romantic search deep-links. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and open-world, and the description adds real behavioral value beyond them: the default catalog vs the separate US catalog, live verification of US ASINs, tagging behavior, and the silent mode switch to search-ideas on non-US/SE marketplaces. It omits return shape, pagination, and whether all 245 entries come back at once.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and the key marketplace behavior, and every clause carries information. The nested parentheses and arrow notations make it denser than ideal, but there is little outright waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, no output schema, and only 57% schema coverage, the description should say more about what a catalog entry contains and how the enum filters (occasion, styleTag, budgetBand) affect results. Marketplace behavior is covered well; the rest of the surface is not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 57%, and the description only elaborates on two parameters (marketplace and locale), leaving q, occasion, styleTag(s), and budgetBand behavior unexplained beyond the enum names. The marketplace explanation is genuinely useful (different catalogs per domain), but it does not compensate for the undocumented filtering semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (curated gift catalogs of /dp ASINs) with concrete scope: 245 amazon.se ASINs by default plus a separate verified amazon.com catalog. It implicitly distinguishes itself from search-based siblings by describing a fixed curated catalog and a search-ideas fallback on other marketplaces, though it never names the alternative tool outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear operational guidance: 'ALWAYS pass marketplace + locale', pass marketplace=amazon.com to get the US catalog, and other marketplaces degrade to catalogMode search-ideas. It lacks an explicit comparison to search_gifts or a when-not-to-use condition, keeping it below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_healthHealth & service infoARead-onlyInspect
Health check for Girlfriend Gifts romantic gift inspiration. Returns ok, storage, paapi, trackingTag, defaultDomain, catalogCount (amazon.se), catalogCounts per storefront (amazon.se + amazon.com), marketplaceIds. Use list_marketplaces to discover storefronts. OpenAPI: getHealth.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, and the description adds real value on top by listing exactly what the response contains (ok, storage, paapi, trackingTag, defaultDomain, catalogCount per storefront, marketplaceIds). With no output schema, this field enumeration is the only disclosure of return shape. It stops short of describing failure modes or what a non-ok status implies, keeping it at a 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose, then the returned fields, then the related-tool pointer – a sensible order. The phrase 'Girlfriend Gifts romantic gift inspiration' is decorative and could be trimmed, and the field list is a dense run-on, but overall it is compact with no repeated information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only diagnostic with no output schema, the description covers both what the call does and what it returns, which is what an agent needs to invoke and interpret it. It leaves out authentication requirements and result-interpretation guidance, which would push it to a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies; no parameter semantics are needed or missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('health check' for the Girlfriend Gifts service) and enumerates the returned fields, which clearly separates it from the data-retrieval siblings like get_catalog or search_gifts. The marketing tagline 'romantic gift inspiration' adds a little noise, but the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the name 'health check' – there is no explicit 'call this when you need to verify service status or before retrying failed requests'. The one routing hint ('Use list_marketplaces to discover storefronts') points to a sibling but does not explain when get_health itself should be chosen over that or any other tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wishlistGet wishlistARead-onlyInspect
Fetch a wishlist by id. Returns wishlist items with buyUrl/linkType when available, plus ownerUrl and shopUrl. OpenAPI: getWishlist.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Wishlist id (short Redis id or t.* token) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds genuine behavioral context beyond that: the response carries buyUrl/linkType fields only 'when available' (conditional fields) plus ownerUrl and shopUrl, which tells the agent to expect nullable enrichment data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and selector, followed by the return summary. The trailing 'OpenAPI: getWishlist' is a minor traceability tag with no real cost.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully supplies the return shape, and for a single-parameter read-only tool that covers what an agent needs to call it correctly. Only edge cases (not-found behavior, id format validation) are unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents the id as 'Wishlist id (short Redis id or t.* token)'. The description's 'by id' adds nothing beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (fetch a wishlist) plus the key selector (by id), which is clearly distinguishable from siblings like create_wishlist or add_wishlist_item. It also names the main return contents, so the agent knows what it gets back; it stops short of explicitly routing against siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance and no mention of alternatives such as create_wishlist or add_wishlist_item. The only inference available is that you need a wishlist id in hand, which is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_marketplacesList Amazon marketplacesARead-onlyInspect
List supported Amazon storefronts (id, domain, label, defaultLocale, currencyHint, tagConfigured). Agents MUST pick the user's marketplace and pass it on search/catalog/resolve.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint and openWorldHint already declare the safety profile, so the description only needs to add context. It contributes the shape of the returned records and the cross-tool dependency, but says nothing about how many marketplaces exist, ordering, or stability of the list. Useful additive context, but not rich behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the resource and returned fields front-loaded before the actionable instruction. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description covers the essentials: what comes back and how it must be used downstream. Minor gaps remain around the meaning of individual fields and whether the list is static, but an agent can call this correctly as written.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so there is nothing to disambiguate and the baseline is 4. The description's field enumeration describes return values rather than inputs, which is a bonus given no output schema exists, but it does not explain what fields like tagConfigured or currencyHint mean.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and resource (supported Amazon storefronts) and enumerates the returned fields, so the agent knows exactly what this call yields. It also frames the tool's role relative to the siblings that consume its output (search/catalog/resolve), which differentiates it from every other tool in the group.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Agents MUST pick the user's marketplace and pass it on search/catalog/resolve" gives an explicit prerequisite workflow and names the downstream tools that need it. It stops short of stating exclusions (e.g., skip this call when the marketplace is already known or cached), so it is not a full when/when-not guide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_productResolve buy / inspiration linkARead-onlyInspect
Resolve an ASIN, pasted Amazon /dp/ URL, or keywords to a buyUrl (product /dp or romantic search). ALWAYS pass marketplace + locale for the user. Does not invent Associates tags — uses server-configured tags per storefront. OpenAPI: resolveProduct.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Pasted Amazon product URL | |
| asin | No | 10-char Amazon ASIN | |
| locale | Yes | User locale, e.g. en, sv, de, fr, es | |
| keywords | No | Search keywords if no ASIN | |
| occasion | No | ||
| styleTag | No | ||
| budgetBand | No | ||
| marketplace | Yes | Amazon storefront domain or id for the end user, e.g. amazon.com, amazon.se, us, se, de. REQUIRED — curated catalogs with real /dp ASINs on amazon.se (Sweden, default) and amazon.com (United States: marketplace=amazon.com → https://www.amazon.com/dp/ASIN links); other marketplaces get romantic search deep-links. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds genuinely new behavior: no invented Associates tags, server-configured per-storefront tags, amazon.se default, and that non-curated marketplaces degrade to romantic search deep-links rather than /dp. That fallback disclosure is exactly the kind of context annotations cannot carry. It omits error/failure behavior, keeping it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences that front-load what the tool returns before the usage constraint. The trailing "OpenAPI: resolveProduct" is an operationId restatement that adds no decision value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with no output schema, the description covers the two required params and the output shape well, but leaves three enum filters unexplained despite their likely influence on the generated search link. Adequate, not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 63%, and the description adds real meaning for marketplace (domain vs id, per-storefront catalog behavior) and locale. But occasion, styleTag, and budgetBand are never explained in either schema or description, so their effect on resolution is left to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb (Resolve) and enumerates its accepted inputs (ASIN, pasted /dp/ URL, keywords) plus the produced artifact (buyUrl). That output framing distinguishes it cleanly from siblings like search_gifts and get_catalog, which the description implicitly routes around.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"ALWAYS pass marketplace + locale for the user" gives a hard usage constraint, and the input enumeration implies when to pick this tool (you have an ASIN/URL/keywords). It never explicitly contrasts with search_gifts or says when not to use it, so it falls short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_giftsSearch girlfriend / wife giftsARead-onlyInspect
Search Amazon for romantic partner gifts to build a recommendation or shopping list. Returns PA-API products when configured for the default storefront, otherwise romantic search deep-link cards + catalogMatches. ALWAYS pass marketplace + locale. OpenAPI: searchAmazon.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query, e.g. pearl earrings | |
| limit | No | ||
| locale | Yes | User locale, e.g. en, sv, de, fr, es | |
| occasion | No | ||
| styleTag | No | Style / category filter | |
| budgetBand | No | ||
| marketplace | Yes | Amazon storefront domain or id for the end user, e.g. amazon.com, amazon.se, us, se, de. REQUIRED — curated catalogs with real /dp ASINs on amazon.se (Sweden, default) and amazon.com (United States: marketplace=amazon.com → https://www.amazon.com/dp/ASIN links); other marketplaces get romantic search deep-links. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly and openWorld, and the description adds genuinely new behavior: rich PA-API product results when a storefront is configured, otherwise deep-link cards plus catalogMatches. This explains the variable return shape, which is the main behavioral risk here; auth and rate-limit behavior remain unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with purpose, then return behavior, then the mandatory-parameter rule. The trailing 'OpenAPI: searchAmazon' pointer is terse but low-cost.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the necessary work of explaining what comes back (products vs. deep-link cards vs. catalogMatches) and which parameters are non-negotiable. Remaining gaps are the semantics of the occasion/budget filters and result-count behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 57%, with q, locale, marketplace and styleTag documented. The description reinforces the mandatory marketplace/locale but adds nothing about the undocumented occasion and budgetBand enums or the limit cap, so it only marginally exceeds the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search Amazon for romantic partner gifts') plus the downstream purpose ('build a recommendation or shopping list'). It is clearly distinct from wishlist/catalog siblings, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by 'to build a recommendation or shopping list', and there is a hard directive to 'ALWAYS pass marketplace + locale'. However, there is no when-not guidance and no mention of when an agent should prefer get_catalog or resolve_product instead.
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.
6 tool updates
- Changed
add_wishlist_item1 field changed- changed
Input schema / properties / marketplace / descriptionPrevious value: -"Amazon storefront domain or id for the end user, e.g. amazon.com, amazon.se, us, se, de. REQUIRED — catalog has 100+ real /dp ASINs on amazon.se; other marketplaces get romantic search deep-links."New value: +"Amazon storefront domain or id for the end user, e.g. amazon.com, amazon.se, us, se, de. REQUIRED — curated catalogs with real /dp ASINs on amazon.se (Sweden, default) and amazon.com (United States: marketplace=amazon.com → https://www.amazon.com/dp/ASIN links); other marketplaces get romantic search deep-links."
- Changed
create_and_fill1 field changed- changed
Input schema / properties / marketplace / descriptionPrevious value: -"Amazon storefront domain or id for the end user, e.g. amazon.com, amazon.se, us, se, de. REQUIRED — catalog has 100+ real /dp ASINs on amazon.se; other marketplaces get romantic search deep-links."New value: +"Amazon storefront domain or id for the end user, e.g. amazon.com, amazon.se, us, se, de. REQUIRED — curated catalogs with real /dp ASINs on amazon.se (Sweden, default) and amazon.com (United States: marketplace=amazon.com → https://www.amazon.com/dp/ASIN links); other marketplaces get romantic search deep-links."
- Changed
create_wishlist1 field changed- changed
Input schema / properties / marketplace / descriptionPrevious value: -"Amazon storefront domain or id for the end user, e.g. amazon.com, amazon.se, us, se, de. REQUIRED — catalog has 100+ real /dp ASINs on amazon.se; other marketplaces get romantic search deep-links."New value: +"Amazon storefront domain or id for the end user, e.g. amazon.com, amazon.se, us, se, de. REQUIRED — curated catalogs with real /dp ASINs on amazon.se (Sweden, default) and amazon.com (United States: marketplace=amazon.com → https://www.amazon.com/dp/ASIN links); other marketplaces get romantic search deep-links."
- Changed
get_catalog1 field changed- changed
Input schema / properties / marketplace / descriptionPrevious value: -"Amazon storefront domain or id for the end user, e.g. amazon.com, amazon.se, us, se, de. REQUIRED — catalog has 100+ real /dp ASINs on amazon.se; other marketplaces get romantic search deep-links."New value: +"Amazon storefront domain or id for the end user, e.g. amazon.com, amazon.se, us, se, de. REQUIRED — curated catalogs with real /dp ASINs on amazon.se (Sweden, default) and amazon.com (United States: marketplace=amazon.com → https://www.amazon.com/dp/ASIN links); other marketplaces get romantic search deep-links."
- Changed
resolve_product1 field changed- changed
Input schema / properties / marketplace / descriptionPrevious value: -"Amazon storefront domain or id for the end user, e.g. amazon.com, amazon.se, us, se, de. REQUIRED — catalog has 100+ real /dp ASINs on amazon.se; other marketplaces get romantic search deep-links."New value: +"Amazon storefront domain or id for the end user, e.g. amazon.com, amazon.se, us, se, de. REQUIRED — curated catalogs with real /dp ASINs on amazon.se (Sweden, default) and amazon.com (United States: marketplace=amazon.com → https://www.amazon.com/dp/ASIN links); other marketplaces get romantic search deep-links."
- Changed
search_gifts1 field changed- changed
Input schema / properties / marketplace / descriptionPrevious value: -"Amazon storefront domain or id for the end user, e.g. amazon.com, amazon.se, us, se, de. REQUIRED — catalog has 100+ real /dp ASINs on amazon.se; other marketplaces get romantic search deep-links."New value: +"Amazon storefront domain or id for the end user, e.g. amazon.com, amazon.se, us, se, de. REQUIRED — curated catalogs with real /dp ASINs on amazon.se (Sweden, default) and amazon.com (United States: marketplace=amazon.com → https://www.amazon.com/dp/ASIN links); other marketplaces get romantic search deep-links."
9 tool updates
- First observed
add_wishlist_item - First observed
create_and_fill - First observed
create_wishlist - First observed
get_catalog - First observed
get_health - First observed
get_wishlist - First observed
list_marketplaces - First observed
resolve_product - First observed
search_gifts
Related MCP Connectors
Hand-picked gift ideas for Valentine's Day, turned into shareable wishlists fast.
Hand-picked gift ideas for Christmas gift games, turned into shareable wishlists fast.
Hand-picked gift ideas for birthdays that assistants turn into shareable wishlists fast. SE + US.
Hand-picked gift ideas for trips and travel, turned into shareable wishlists fast.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceRecommends gifts and drafts messages based on relationship, occasion, budget, and vibe.-
- FlicenseNot gradedqualityBmaintenanceEnables users to generate tailored gift suggestions and handwritten card messages from relationship context, recipient interests, urgency, and budget. It also factors social connections and milestones into occasion planning.7-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to browse public wishlists, check available gifts within budget, reserve items, and draft coordination messages without scraping or clicking through the UI.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to create, manage, and discover family gift registries. Users can add links from Amazon, Target, and more through natural language.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.