Valentine's Day Gifts – hand-picked gift ideas
Hand-picked gift ideas for Valentine's Day, turned into shareable wishlists fast.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"valentines-gifts": {
"url": "https://valentines-day-gifts.vercel.app/api/mcp"
}
}
}Puntos de conexión remotos
https://valentines-day-gifts.vercel.app/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (9)
🟢get_health
Health check for Valentine's Day gift inspiration. Returns ok, storage, paapi, trackingTag, defaultDomain, catalogCount, tagConfigured, and marketplaces[] (domain, label, tagConfigured). Use this first to discover supported Amazon storefronts. OpenAPI: getHealth.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟢list_marketplaces
List supported Amazon storefronts (domain, label, currencyHint, tagConfigured). Same data as get_health.marketplaces. Agents MUST pick the user's marketplace and pass it on search/catalog/resolve.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟢search_gifts(q, marketplace, locale, occasion, interest, ...)
Search Amazon for Valentine's / romantic gift ideas on the user's marketplace. Returns PA-API products when configured for the default storefront, otherwise romantic-filtered search deep-link cards + catalogMatches. Prefer buyUrl / trackingTag in results. ALWAYS pass marketplace + locale for the end user. OpenAPI: searchAmazon.
Esquema de entrada
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 1,
"description": "Search query, e.g. heart necklace"
},
"marketplace": {
"type": "string",
"minLength": 2,
"description": "Amazon storefront domain or id for the end user, e.g. amazon.se, amazon.com, se, de. REQUIRED — curated ASINs produce /dp links on amazon.se and amazon.com (US); other marketplaces get romantic search deep-links."
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en, sv, de, fr, es"
},
"occasion": {
"type": "string",
"enum": [
"valentines",
"galentines",
"last-minute",
"anniversary",
"just-because"
]
},
"interest": {
"type": "string",
"enum": [
"jewelry",
"beauty",
"fragrance",
"candy",
"cards",
"decor",
"spa",
"personalized"
],
"description": "Gift category filter"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"default": 10
}
},
"required": [
"q",
"marketplace",
"locale"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_catalog(marketplace, locale, q, occasion, interest, ...)
Paginated curated Valentine gift starters. On amazon.se and amazon.com items include /dp/ASIN buy links (separate curated catalogs per store); on other marketplaces catalogMode is search-ideas. ALWAYS pass marketplace + locale. Search (search_gifts) remains primary discovery. OpenAPI: getCatalog.
Esquema de entrada
{
"type": "object",
"properties": {
"marketplace": {
"type": "string",
"minLength": 2,
"description": "Amazon storefront domain or id for the end user, e.g. amazon.se, amazon.com, se, de. REQUIRED — curated ASINs produce /dp links on amazon.se and amazon.com (US); other marketplaces get romantic search deep-links."
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en, sv, de, fr, es"
},
"q": {
"type": "string",
"description": "Full-text filter"
},
"occasion": {
"type": "string",
"enum": [
"valentines",
"galentines",
"last-minute",
"anniversary",
"just-because"
]
},
"interest": {
"type": "string",
"enum": [
"jewelry",
"beauty",
"fragrance",
"candy",
"cards",
"decor",
"spa",
"personalized"
]
},
"categories": {
"type": "string",
"description": "Comma-separated categories"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 24
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"ids": {
"type": "string",
"description": "Comma-separated catalog ids"
}
},
"required": [
"marketplace",
"locale"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢resolve_product(marketplace, locale, asin, url, keywords, ...)
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 (omit tag= until real IDs are set). OpenAPI: resolveProduct.
Esquema de entrada
{
"type": "object",
"properties": {
"marketplace": {
"type": "string",
"minLength": 2,
"description": "Amazon storefront domain or id for the end user, e.g. amazon.se, amazon.com, se, de. REQUIRED — curated ASINs produce /dp links on amazon.se and amazon.com (US); other marketplaces get romantic search deep-links."
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en, sv, de, fr, es"
},
"asin": {
"type": "string",
"description": "10-char Amazon ASIN"
},
"url": {
"type": "string",
"description": "Pasted Amazon product URL"
},
"keywords": {
"type": "string",
"description": "Search keywords if no ASIN"
},
"occasion": {
"type": "string",
"enum": [
"valentines",
"galentines",
"last-minute",
"anniversary",
"just-because"
]
},
"category": {
"type": "string",
"enum": [
"jewelry",
"beauty",
"fragrance",
"candy",
"cards",
"decor",
"spa",
"personalized"
]
},
"preferSearch": {
"type": "boolean"
}
},
"required": [
"marketplace",
"locale"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_wishlist(recipientName, occasion, categories, styleTags, budgetBand, ...)
Create a Valentine's gift wishlist. Returns id, editToken, ownerUrl, shopUrl, wishlist, storage. Save editToken for add_wishlist_item. Fields: recipientName, occasion, categories (not Santa childName/ageBand). Optional styleTags, budgetBand, relationship. If storage is token, later mutations may return a new id — always use the latest. OpenAPI: createWishlist.
Esquema de entrada
{
"type": "object",
"properties": {
"recipientName": {
"type": "string"
},
"occasion": {
"type": "string",
"enum": [
"valentines",
"galentines",
"last-minute",
"anniversary",
"just-because"
]
},
"categories": {
"type": "array",
"items": {
"type": "string",
"enum": [
"jewelry",
"beauty",
"fragrance",
"candy",
"cards",
"decor",
"spa",
"personalized"
]
}
},
"styleTags": {
"type": "array",
"items": {
"type": "string"
}
},
"budgetBand": {
"type": "string"
},
"relationship": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"name": {
"type": "string"
},
"asin": {
"type": "string"
},
"url": {
"type": "string"
},
"searchKeywords": {
"type": "string"
},
"catalogId": {
"type": "string"
},
"emoji": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_and_fill(recipientName, occasion, categories, styleTags, budgetBand, ...)
One call: create a curated Valentine's Day (Alla hjärtans dag) gift wishlist and return shopUrl (share link) + ownerUrl. Preferred agent path: create a Valentine wishlist and add ASINs / keywords / search queries in one call. Returns id, editToken, ownerUrl, shopUrl. Use recipientName, occasion, categories (not childName/ageBand). OpenAPI: agentCreateAndFill.
Esquema de entrada
{
"type": "object",
"properties": {
"recipientName": {
"type": "string"
},
"occasion": {
"type": "string",
"enum": [
"valentines",
"galentines",
"last-minute",
"anniversary",
"just-because"
]
},
"categories": {
"type": "array",
"items": {
"type": "string",
"enum": [
"jewelry",
"beauty",
"fragrance",
"candy",
"cards",
"decor",
"spa",
"personalized"
]
}
},
"styleTags": {
"type": "array",
"items": {
"type": "string"
}
},
"budgetBand": {
"type": "string"
},
"relationship": {
"type": "string"
},
"itemAsins": {
"type": "array",
"items": {
"type": "string"
}
},
"itemKeywords": {
"type": "array",
"items": {
"type": "string"
}
},
"itemQueries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Each query is searched and added as a wish"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_wishlist(id)
Fetch a wishlist by id. Returns wishlist items with buyUrl/linkType when available, plus ownerUrl and shopUrl. OpenAPI: getWishlist.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Wishlist id (short Redis id or t.* token)"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡add_wishlist_item(id, editToken, name, title, asin, ...)
Add an item to a wishlist. Requires editToken from create. Body: name/title plus asin, url (pasted /dp), searchKeywords, or catalogId. Prefer buyUrl in responses. Token storage may return a new id — update bookmarks. OpenAPI: addWishlistItem.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Wishlist id"
},
"editToken": {
"type": "string",
"minLength": 1,
"description": "X-Edit-Token from create/mutate response"
},
"name": {
"type": "string"
},
"title": {
"type": "string"
},
"asin": {
"type": "string"
},
"url": {
"type": "string"
},
"searchKeywords": {
"type": "string"
},
"catalogId": {
"type": "string"
},
"emoji": {
"type": "string"
}
},
"required": [
"id",
"editToken"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Comunidad
Evidencia