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

A
Description quality
100%
Schema completeness
74%
Naming quality
98%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,075Tokens (tool definitions)
~2.0 KBTypical response size
Moderate attention impact (1.62% of 128k context)

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-http

What it can do

Tool inventory

Tools (9)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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

Rate this Server

Evidence

Recent observations

verifiedversion not recorded9 tools