Valentine's Day Gifts – hand-picked gift ideas
Hand-picked gift ideas for Valentine's Day, turned into shareable wishlists fast.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"valentines-gifts": {
"url": "https://valentines-day-gifts.vercel.app/api/mcp"
}
}
}원격 엔드포인트
https://valentines-day-gifts.vercel.app/api/mcpstreamable-http할 수 있는 일
도구 목록
도구 (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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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#"
}커뮤니티
증거