Santa Wish MCP
A remote MCP server that enables AI agents to create curated Christmas gift wishlists for children. It supports searching for gift ideas based on age and interests, building a wishlist, and generating shareable links for shoppers on Amazon US or Amazon Sweden marketplaces.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://santa-wish.vercel.app/api/mcpWhat you can do with it
- Create a Santa wishlist for a child based on age and interests
- Search for curated gift ideas on Amazon US or Sweden
- Generate a shareable shop link for gift-givers
Source and maintenance
Protocol and capabilities
- Server
- santa-wishlist 1.2.0
- MCP protocol
- 2025-06-18
- Tools
- 9 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
9 advertised
get_health — Health & marketplaces
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.
{
"type": "object",
"properties": {}
}{
"readOnlyHint": true,
"openWorldHint": true
}list_marketplaces — List Amazon 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.
{
"type": "object",
"properties": {}
}{
"readOnlyHint": true,
"openWorldHint": true
}search_gifts — Search kids gifts
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"type": "string",
"description": "Search query, e.g. LEGO City (default: christmas gifts for kids)"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
},
"locale": {
"type": "string",
"description": "User locale, e.g. en-US, sv, de. en-US switches to amazon.com when marketplace is omitted."
},
"ageBand": {
"enum": [
"0-2",
"3-5",
"6-8",
"9-12"
],
"type": "string"
},
"country": {
"type": "string",
"description": "ISO country of the shopper, e.g. US or SE (used when marketplace is omitted)"
},
"interest": {
"enum": [
"toys",
"books",
"sports",
"craft",
"tech",
"outdoor",
"games"
],
"type": "string",
"description": "Category filter"
},
"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."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true
}get_catalog — Curated gift catalog
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"type": "string",
"description": "Full-text filter"
},
"ids": {
"type": "string",
"description": "Comma-separated catalog ids"
},
"limit": {
"type": "integer",
"default": 24,
"maximum": 100,
"minimum": 1
},
"locale": {
"type": "string",
"description": "User locale, e.g. en-US, sv, de. en-US switches to amazon.com when marketplace is omitted."
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0
},
"ageBand": {
"enum": [
"0-2",
"3-5",
"6-8",
"9-12"
],
"type": "string"
},
"country": {
"type": "string",
"description": "ISO country of the shopper, e.g. US or SE (used when marketplace is omitted)"
},
"interest": {
"enum": [
"toys",
"books",
"sports",
"craft",
"tech",
"outdoor",
"games"
],
"type": "string"
},
"interests": {
"type": "string",
"description": "Comma-separated interests"
},
"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."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true
}resolve_product — Resolve buy / inspiration link
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"url": {
"type": "string",
"description": "Pasted Amazon product URL"
},
"asin": {
"type": "string",
"description": "10-char Amazon ASIN"
},
"locale": {
"type": "string",
"description": "User locale, e.g. en-US, sv, de. en-US switches to amazon.com when marketplace is omitted."
},
"ageBand": {
"enum": [
"0-2",
"3-5",
"6-8",
"9-12"
],
"type": "string"
},
"country": {
"type": "string",
"description": "ISO country of the shopper, e.g. US or SE (used when marketplace is omitted)"
},
"category": {
"enum": [
"toys",
"books",
"sports",
"craft",
"tech",
"outdoor",
"games"
],
"type": "string"
},
"keywords": {
"type": "string",
"description": "Search keywords if no ASIN"
},
"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."
},
"preferSearch": {
"type": "boolean"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true
}create_wishlist — Create wishlist
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"asin": {
"type": "string"
},
"name": {
"type": "string"
},
"emoji": {
"type": "string"
},
"title": {
"type": "string"
},
"catalogId": {
"type": "string"
},
"searchKeywords": {
"type": "string"
}
},
"additionalProperties": false
}
},
"ageBand": {
"enum": [
"0-2",
"3-5",
"6-8",
"9-12"
],
"type": "string"
},
"country": {
"type": "string",
"description": "ISO country of the shopper, e.g. US or SE (used when marketplace is omitted)"
},
"childName": {
"type": "string"
},
"interests": {
"type": "array",
"items": {
"enum": [
"toys",
"books",
"sports",
"craft",
"tech",
"outdoor",
"games"
],
"type": "string"
}
},
"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."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": true
}create_and_fill — One-shot create and fill
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"count": {
"type": "integer",
"maximum": 12,
"minimum": 1,
"description": "If no items are given, auto-fill this many curated picks for the age band/interests (default 6)"
},
"locale": {
"type": "string",
"description": "User locale, e.g. en-US, sv, de. en-US switches to amazon.com when marketplace is omitted."
},
"ageBand": {
"enum": [
"0-2",
"3-5",
"6-8",
"9-12"
],
"type": "string"
},
"country": {
"type": "string",
"description": "ISO country of the shopper, e.g. US or SE (used when marketplace is omitted)"
},
"childName": {
"type": "string"
},
"interests": {
"type": "array",
"items": {
"enum": [
"toys",
"books",
"sports",
"craft",
"tech",
"outdoor",
"games"
],
"type": "string"
}
},
"itemAsins": {
"type": "array",
"items": {
"type": "string"
}
},
"itemQueries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Each query is searched and added as a wish"
},
"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."
},
"itemKeywords": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": true
}get_wishlist — Get wishlist
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"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."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true
}add_wishlist_item — Add wish item
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id",
"editToken"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Wishlist id"
},
"url": {
"type": "string"
},
"asin": {
"type": "string"
},
"name": {
"type": "string"
},
"emoji": {
"type": "string"
},
"title": {
"type": "string"
},
"catalogId": {
"type": "string"
},
"editToken": {
"type": "string",
"minLength": 1,
"description": "X-Edit-Token from create/mutate response"
},
"searchKeywords": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": true
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 661 ms
- 95th percentile latency
- 661 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 661 ms · metadata changed · 9 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http santa-wish-mcp https://santa-wish.vercel.app/api/mcpCodex
codex mcp add santa-wish-mcp --url https://santa-wish.vercel.app/api/mcpCursor
{
"mcpServers": {
"santa-wish-mcp": {
"url": "https://santa-wish.vercel.app/api/mcp"
}
}
}Cline
{
"mcpServers": {
"santa-wish-mcp": {
"type": "streamableHttp",
"url": "https://santa-wish.vercel.app/api/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"santa-wish-mcp": {
"type": "http",
"url": "https://santa-wish.vercel.app/api/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http santa-wish-mcp https://santa-wish.vercel.app/api/mcpClaude Desktop
{
"mcpServers": {
"santa-wish-mcp": {
"url": "https://santa-wish.vercel.app/api/mcp"
}
}
}Windsurf
{
"mcpServers": {
"santa-wish-mcp": {
"serverUrl": "https://santa-wish.vercel.app/api/mcp"
}
}
}Let your agent find its tools
Find servers like Santa Wish MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.