Graduation Gifts – hand-picked gift ideas
Hand-picked gift ideas for graduations that assistants turn into shareable wishlists fast. SE + US.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"studenten-gifts": {
"url": "https://studenten-gifts.vercel.app/api/mcp"
}
}
}Remote endpoints
https://studenten-gifts.vercel.app/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (9)
🟢get_health
Health check for Studenten Gifts. Returns ok, storage, paapi, trackingTag (null until enrolled), defaultDomain, catalogCount, and marketplaces[] (domain, label, tagConfigured). Use this first. OpenAPI: getHealth.
Input Schema
{
"type": "object",
"properties": {}
}🟢list_marketplaces
List supported Amazon storefronts. Agents MUST pick the user's marketplace and pass it on search/catalog/resolve.
Input Schema
{
"type": "object",
"properties": {}
}🟢search_gifts(q, marketplace, locale, occasion, giftCategory, ...)
Search Amazon for Studenten / studentexamen gifts on the user's marketplace. ALWAYS pass marketplace + locale. OpenAPI: searchAmazon.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 1,
"description": "Search query, e.g. cheese board"
},
"marketplace": {
"type": "string",
"minLength": 2,
"description": "Amazon storefront domain or id for the end user, e.g. amazon.se, amazon.com, se, de. REQUIRED."
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en, sv, de, fr, es"
},
"occasion": {
"type": "string",
"enum": [
"studentexamen",
"mottagning",
"studentflak",
"graduation-dinner",
"thank-you-student",
"white-cap-party",
"afterparty",
"other"
]
},
"giftCategory": {
"type": "string",
"enum": [
"jewelry",
"flowers",
"fashion",
"tech",
"experience",
"keepsakes",
"party",
"gourmet",
"champagne-accessories",
"photo",
"practical",
"luxury"
]
},
"relationship": {
"type": "string",
"enum": [
"parent",
"friend",
"relative",
"partner"
],
"description": "Giver relationship: parent|friend|relative|partner"
},
"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, giftCategory, ...)
Paginated curated student gift starters. ALWAYS pass marketplace + locale. Search remains primary discovery. OpenAPI: getCatalog.
Input Schema
{
"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."
},
"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": [
"studentexamen",
"mottagning",
"studentflak",
"graduation-dinner",
"thank-you-student",
"white-cap-party",
"afterparty",
"other"
]
},
"giftCategory": {
"type": "string",
"enum": [
"jewelry",
"flowers",
"fashion",
"tech",
"experience",
"keepsakes",
"party",
"gourmet",
"champagne-accessories",
"photo",
"practical",
"luxury"
]
},
"giftCategories": {
"type": "string",
"description": "Comma-separated gift categories"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 24
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"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 (trackingTag null until enrolled). ALWAYS pass marketplace + locale. OpenAPI: resolveProduct.
Input Schema
{
"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."
},
"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": [
"studentexamen",
"mottagning",
"studentflak",
"graduation-dinner",
"thank-you-student",
"white-cap-party",
"afterparty",
"other"
]
},
"giftCategory": {
"type": "string",
"enum": [
"jewelry",
"flowers",
"fashion",
"tech",
"experience",
"keepsakes",
"party",
"gourmet",
"champagne-accessories",
"photo",
"practical",
"luxury"
]
},
"budgetBand": {
"type": "string"
}
},
"required": [
"marketplace",
"locale"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_wishlist(studentName, occasion, budgetBand, giftCategories, relationship, ...)
Create a student gift wishlist. Returns id, editToken, ownerUrl, shopUrl, wishlist, storage. Save editToken for add_wishlist_item. OpenAPI: createWishlist.
Input Schema
{
"type": "object",
"properties": {
"studentName": {
"type": "string"
},
"occasion": {
"type": "string",
"enum": [
"studentexamen",
"mottagning",
"studentflak",
"graduation-dinner",
"thank-you-student",
"white-cap-party",
"afterparty",
"other"
]
},
"budgetBand": {
"type": "string"
},
"giftCategories": {
"type": "array",
"items": {
"type": "string",
"enum": [
"jewelry",
"flowers",
"fashion",
"tech",
"experience",
"keepsakes",
"party",
"gourmet",
"champagne-accessories",
"photo",
"practical",
"luxury"
]
}
},
"relationship": {
"type": "string",
"enum": [
"parent",
"friend",
"relative",
"partner"
]
},
"marketplace": {
"type": "string",
"minLength": 2,
"description": "Amazon storefront domain or id for the end user, e.g. amazon.se, amazon.com, se, de. REQUIRED."
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en, sv, de, fr, es"
},
"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(studentName, occasion, budgetBand, giftCategories, relationship, ...)
One call: create a curated Swedish high-school graduation (studenten) gift wishlist and return shopUrl (share link) + ownerUrl. Preferred agent path: create a wishlist and add ASINs / keywords / search queries in one call. OpenAPI: agentCreateAndFill.
Input Schema
{
"type": "object",
"properties": {
"studentName": {
"type": "string"
},
"occasion": {
"type": "string",
"enum": [
"studentexamen",
"mottagning",
"studentflak",
"graduation-dinner",
"thank-you-student",
"white-cap-party",
"afterparty",
"other"
]
},
"budgetBand": {
"type": "string"
},
"giftCategories": {
"type": "array",
"items": {
"type": "string",
"enum": [
"jewelry",
"flowers",
"fashion",
"tech",
"experience",
"keepsakes",
"party",
"gourmet",
"champagne-accessories",
"photo",
"practical",
"luxury"
]
}
},
"relationship": {
"type": "string",
"enum": [
"parent",
"friend",
"relative",
"partner"
]
},
"marketplace": {
"type": "string",
"minLength": 2,
"description": "Amazon storefront domain or id for the end user, e.g. amazon.se, amazon.com, se, de. REQUIRED."
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en, sv, de, fr, es"
},
"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.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Wishlist id"
}
},
"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. OpenAPI: addWishlistItem.
Input Schema
{
"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#"
}Community
Evidence