Santa Wishlist – hand-picked gift ideas

Hand-picked gift ideas for kids' Christmas, turned into shareable wishlists fast.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
72%
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,513Tokens (tool definitions)
~2.2 KBTypical response size
Moderate attention impact (1.96% 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": {
    "santa-gifts": {
      "url": "https://santa-wish.vercel.app/api/mcp"
    }
  }
}

Remote endpoints

https://santa-wish.vercel.app/api/mcpstreamable-http

What it can do

Tool inventory

Tools (9)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_health

Health check for Santa Wishlist gift inspiration. Returns ok, storage, paapi, trackingTag, defaultDomain, catalogCount, and marketplaces[] (domain, label, tagConfigured). amazon.se (default) and amazon.com (US) are the primary storefronts. OpenAPI: getHealth.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢list_marketplaces

List supported Amazon storefronts (domain, label, currencyHint, tagConfigured). Same data as get_health.marketplaces. Pass the user's marketplace (amazon.com for US, amazon.se for Sweden) on search/catalog/resolve/create.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢search_gifts(q, country, marketplace, locale, ageBand, ...)

Search kids Christmas gift ideas for the user's store (amazon.com for US, amazon.se default). Returns kids-filtered search link cards + curated catalogMatches (English on amazon.com). q is optional. OpenAPI: searchAmazon.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Search query, e.g. LEGO City (default: christmas gifts for kids)"
    },
    "country": {
      "type": "string",
      "description": "ISO country of the shopper, e.g. US or SE (used when marketplace is omitted)"
    },
    "marketplace": {
      "type": "string",
      "description": "Amazon storefront for the end user: amazon.com (US) or amazon.se (Sweden, default); also uk, de, fr… Order: marketplace → country → locale/Accept-Language (en-US ⇒ amazon.com) → amazon.se. amazon.se returns curated /dp product links; amazon.com returns English search links tagged for amazon.com."
    },
    "locale": {
      "type": "string",
      "description": "User locale, e.g. en-US, sv, de. en-US switches to amazon.com when marketplace is omitted."
    },
    "ageBand": {
      "type": "string",
      "enum": [
        "0-2",
        "3-5",
        "6-8",
        "9-12"
      ]
    },
    "interest": {
      "type": "string",
      "enum": [
        "toys",
        "books",
        "sports",
        "craft",
        "tech",
        "outdoor",
        "games"
      ],
      "description": "Category filter"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "default": 10
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_catalog(country, marketplace, locale, q, ageBand, ...)

Paginated hand-picked kids gift catalog (~600 on amazon.se, ~560 English items on amazon.com). amazon.se: /dp product links with SEK price hints. amazon.com: English names, tagged amazon.com search links, no SEK prices (catalogMode search-ideas). OpenAPI: getCatalog.

Input Schema

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "description": "ISO country of the shopper, e.g. US or SE (used when marketplace is omitted)"
    },
    "marketplace": {
      "type": "string",
      "description": "Amazon storefront for the end user: amazon.com (US) or amazon.se (Sweden, default); also uk, de, fr… Order: marketplace → country → locale/Accept-Language (en-US ⇒ amazon.com) → amazon.se. amazon.se returns curated /dp product links; amazon.com returns English search links tagged for amazon.com."
    },
    "locale": {
      "type": "string",
      "description": "User locale, e.g. en-US, sv, de. en-US switches to amazon.com when marketplace is omitted."
    },
    "q": {
      "type": "string",
      "description": "Full-text filter"
    },
    "ageBand": {
      "type": "string",
      "enum": [
        "0-2",
        "3-5",
        "6-8",
        "9-12"
      ]
    },
    "interest": {
      "type": "string",
      "enum": [
        "toys",
        "books",
        "sports",
        "craft",
        "tech",
        "outdoor",
        "games"
      ]
    },
    "interests": {
      "type": "string",
      "description": "Comma-separated interests"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 24
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0
    },
    "ids": {
      "type": "string",
      "description": "Comma-separated catalog ids"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢resolve_product(country, marketplace, locale, asin, url, ...)

Resolve an ASIN, pasted Amazon /dp/ URL, or keywords to a buyUrl for the user's store (amazon.com or amazon.se). Curated catalog ASINs on amazon.com become English search links. With no input it returns a default kids gift search. OpenAPI: resolveProduct.

Input Schema

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "description": "ISO country of the shopper, e.g. US or SE (used when marketplace is omitted)"
    },
    "marketplace": {
      "type": "string",
      "description": "Amazon storefront for the end user: amazon.com (US) or amazon.se (Sweden, default); also uk, de, fr… Order: marketplace → country → locale/Accept-Language (en-US ⇒ amazon.com) → amazon.se. amazon.se returns curated /dp product links; amazon.com returns English search links tagged for amazon.com."
    },
    "locale": {
      "type": "string",
      "description": "User locale, e.g. en-US, sv, de. en-US switches to amazon.com when marketplace is omitted."
    },
    "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"
    },
    "ageBand": {
      "type": "string",
      "enum": [
        "0-2",
        "3-5",
        "6-8",
        "9-12"
      ]
    },
    "category": {
      "type": "string",
      "enum": [
        "toys",
        "books",
        "sports",
        "craft",
        "tech",
        "outdoor",
        "games"
      ]
    },
    "preferSearch": {
      "type": "boolean"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_wishlist(marketplace, country, childName, ageBand, interests, ...)

Create a kids Christmas wishlist. Pass marketplace (amazon.com for US, amazon.se default) so buy links match the shopper's store. Returns id, editToken, shopUrl, ownerUrl, parentUrl, kidUrl, 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.

Input Schema

{
  "type": "object",
  "properties": {
    "marketplace": {
      "type": "string",
      "description": "Amazon storefront for the end user: amazon.com (US) or amazon.se (Sweden, default); also uk, de, fr… Order: marketplace → country → locale/Accept-Language (en-US ⇒ amazon.com) → amazon.se. amazon.se returns curated /dp product links; amazon.com returns English search links tagged for amazon.com."
    },
    "country": {
      "type": "string",
      "description": "ISO country of the shopper, e.g. US or SE (used when marketplace is omitted)"
    },
    "childName": {
      "type": "string"
    },
    "ageBand": {
      "type": "string",
      "enum": [
        "0-2",
        "3-5",
        "6-8",
        "9-12"
      ]
    },
    "interests": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "toys",
          "books",
          "sports",
          "craft",
          "tech",
          "outdoor",
          "games"
        ]
      }
    },
    "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(marketplace, country, locale, childName, ageBand, ...)

One call: create a curated kids' Christmas gift wishlist and return shopUrl (share link) + ownerUrl. Preferred agent path: create a wishlist and add ASINs / keywords / search queries in one call (or give only ageBand/interests to auto-fill curated picks). Pass marketplace=amazon.com for US shoppers (amazon.se default). Returns id, editToken, shopUrl, ownerUrl, parentUrl, kidUrl. OpenAPI: agentCreateAndFill.

Input Schema

{
  "type": "object",
  "properties": {
    "marketplace": {
      "type": "string",
      "description": "Amazon storefront for the end user: amazon.com (US) or amazon.se (Sweden, default); also uk, de, fr… Order: marketplace → country → locale/Accept-Language (en-US ⇒ amazon.com) → amazon.se. amazon.se returns curated /dp product links; amazon.com returns English search links tagged for amazon.com."
    },
    "country": {
      "type": "string",
      "description": "ISO country of the shopper, e.g. US or SE (used when marketplace is omitted)"
    },
    "locale": {
      "type": "string",
      "description": "User locale, e.g. en-US, sv, de. en-US switches to amazon.com when marketplace is omitted."
    },
    "childName": {
      "type": "string"
    },
    "ageBand": {
      "type": "string",
      "enum": [
        "0-2",
        "3-5",
        "6-8",
        "9-12"
      ]
    },
    "interests": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "toys",
          "books",
          "sports",
          "craft",
          "tech",
          "outdoor",
          "games"
        ]
      }
    },
    "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"
    },
    "count": {
      "type": "integer",
      "minimum": 1,
      "maximum": 12,
      "description": "If no items are given, auto-fill this many curated picks for the age band/interests (default 6)"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_wishlist(id, marketplace)

Fetch a wishlist by id. Returns items with buyUrl/linkType for the list's store (override with marketplace), plus shopUrl, parentUrl and kidUrl. OpenAPI: getWishlist.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "Wishlist id (short Redis id or t.* token)"
    },
    "marketplace": {
      "type": "string",
      "description": "Amazon storefront for the end user: amazon.com (US) or amazon.se (Sweden, default); also uk, de, fr… Order: marketplace → country → locale/Accept-Language (en-US ⇒ amazon.com) → amazon.se. amazon.se returns curated /dp product links; amazon.com returns English search links tagged for amazon.com."
    }
  },
  "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. Token storage may return a new id — update bookmarks. 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