Make a wishlist page that friends and family can claim gifts from.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when the user wants a wishlist or gift registry page that friends and family can claim gifts from, for a birthday, Christmas or another holiday, a baby shower or a wedding. Takes a title, 1 to 80 items (name, optional note, price range text, store name and quantity up to 20) and whether the owner wants to see claims (hidden by default). Publishes a hosted page: friends see what is still available and claim it with their first name. Returns a shared link for friends and a private owner link. Does not accept links in items (name the store instead). Does not buy or track gifts.
The wishlist, e.g. [{"name":"Wool scarf","price":"$20-30"},{"name":"Hiking socks","quantity":2}].
List title shown on the page, e.g. Maya's 8th birthday.
Short note for friends, e.g. Sizes: shirt M, shoes 38. No links.
IANA time zone for claim times, e.g. Europe/Berlin. Default America/New_York.
First name of the person the gifts are for, e.g. Maya.
Date of the birthday or holiday as YYYY-MM-DD, e.g. 2026-12-25.
true = the owner page shows who claimed what. Default false (claims hidden to keep the surprise).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http gift-list https://gift-list.zovo.one/mcp
Use this when the user wants a wishlist or gift registry page that friends and family can claim gifts from, for a birthday, Christmas or another holiday, a baby shower or a wedding. Takes a title, 1 to 80 items (name, optional note, price range text, store name and quantity up to 20) and whether the owner wants to see claims (hidden by default). Publishes a hosted page: friends see what is still available and claim it with their first name. Returns a shared link for friends and a private owner link. Does not accept links in items (name the store instead). Does not buy or track gifts.
| Argument | Type | Description |
|---|---|---|
| note | string | Short note for friends, e.g. Sizes: shirt M, shoes 38. No links. |
| items* | array | The wishlist, e.g. [{"name":"Wool scarf","price":"$20-30"},{"name":"Hiking socks","quantity":2}]. |
| title* | string | List title shown on the page, e.g. Maya's 8th birthday. |
| time_zone | string | IANA time zone for claim times, e.g. Europe/Berlin. Default America/New_York. |
| owner_name | string | First name of the person the gifts are for, e.g. Maya. |
| occasion_date | string | Date of the birthday or holiday as YYYY-MM-DD, e.g. 2026-12-25. |
| show_claims_to_owner | boolean | true = the owner page shows who claimed what. Default false (claims hidden to keep the surprise). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"title",
"items"
],
"properties": {
"note": {
"type": "string",
"maxLength": 1600,
"description": "Short note for friends, e.g. Sizes: shirt M, shoes 38. No links."
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 400,
"description": "Short item name, e.g. Wool scarf (no links)."
},
"note": {
"type": "string",
"maxLength": 1000,
"description": "Size, colour or other detail, e.g. Size M, dark green."
},
"price": {
"type": "string",
"maxLength": 160,
"description": "Price range as text, e.g. $20-30."
},
"store": {
"type": "string",
"maxLength": 200,
"description": "Store name instead of a link, e.g. the local bookshop."
},
"quantity": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "How many are wanted, e.g. 2. Default 1."
}
}
},
"maxItems": 100,
"description": "The wishlist, e.g. [{\"name\":\"Wool scarf\",\"price\":\"$20-30\"},{\"name\":\"Hiking socks\",\"quantity\":2}]."
},
"title": {
"type": "string",
"maxLength": 320,
"description": "List title shown on the page, e.g. Maya's 8th birthday."
},
"time_zone": {
"type": "string",
"maxLength": 64,
"description": "IANA time zone for claim times, e.g. Europe/Berlin. Default America/New_York."
},
"owner_name": {
"type": "string",
"maxLength": 160,
"description": "First name of the person the gifts are for, e.g. Maya."
},
"occasion_date": {
"type": "string",
"maxLength": 40,
"description": "Date of the birthday or holiday as YYYY-MM-DD, e.g. 2026-12-25."
},
"show_claims_to_owner": {
"type": "boolean",
"description": "true = the owner page shows who claimed what. Default false (claims hidden to keep the surprise)."
}
}
}Use this when the list owner asks how their gift list is going, how many claims it has, or (when they chose to see claims) who is getting what. Takes the private owner link (it contains /m/). When claims are hidden, returns only the number of claims, not which items were claimed. Does not change anything. Does not work with the shared link.
| Argument | Type | Description |
|---|---|---|
| manage_link* | string | The private owner link from when the list was made, e.g. https://gift-list.zovo.one/m/AbC.../XyZ... (it contains /m/). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"manage_link"
],
"properties": {
"manage_link": {
"type": "string",
"maxLength": 400,
"description": "The private owner link from when the list was made, e.g. https://gift-list.zovo.one/m/AbC.../XyZ... (it contains /m/)."
}
}
}Use this when the list owner wants to change an existing gift list: add items, remove items, change a quantity, show or hide claims, rename it, or close or reopen it for claims. Takes the private owner link. Removing an item hides it from friends and from the list export; claims already made on it are kept and count in the claim total (the owner page and export list them only when the owner chose to see claims). Does not edit friends' claims and does not make a new list.
| Argument | Type | Description |
|---|---|---|
| note | string | New note for friends; an empty string removes it. |
| title | string | New title, e.g. Maya's 9th birthday. |
| closed | boolean | true = close the list to new claims; false = reopen it. |
| add_items | array | Items to add, e.g. [{"name":"Puzzle 1000 pieces","price":"$15"}]. |
| manage_link* | string | The private owner link from when the list was made, e.g. https://gift-list.zovo.one/m/AbC.../XyZ... (it contains /m/). |
| remove_items | array | Exact names of items to remove, e.g. ["Wool scarf"]. |
| set_quantities | array | New quantities, e.g. [{"name":"Hiking socks","quantity":3}]. |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 8, 2026.
| show_claims_to_owner | boolean | true = show who claimed what on the owner page; false = hide claims. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"manage_link"
],
"properties": {
"note": {
"type": "string",
"maxLength": 1600,
"description": "New note for friends; an empty string removes it."
},
"title": {
"type": "string",
"maxLength": 320,
"description": "New title, e.g. Maya's 9th birthday."
},
"closed": {
"type": "boolean",
"description": "true = close the list to new claims; false = reopen it."
},
"add_items": {
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 400,
"description": "Short item name, e.g. Wool scarf (no links)."
},
"note": {
"type": "string",
"maxLength": 1000,
"description": "Size, colour or other detail, e.g. Size M, dark green."
},
"price": {
"type": "string",
"maxLength": 160,
"description": "Price range as text, e.g. $20-30."
},
"store": {
"type": "string",
"maxLength": 200,
"description": "Store name instead of a link, e.g. the local bookshop."
},
"quantity": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "How many are wanted, e.g. 2. Default 1."
}
}
},
"maxItems": 80,
"description": "Items to add, e.g. [{\"name\":\"Puzzle 1000 pieces\",\"price\":\"$15\"}]."
},
"manage_link": {
"type": "string",
"maxLength": 400,
"description": "The private owner link from when the list was made, e.g. https://gift-list.zovo.one/m/AbC.../XyZ... (it contains /m/)."
},
"remove_items": {
"type": "array",
"items": {
"type": "string",
"maxLength": 400
},
"maxItems": 80,
"description": "Exact names of items to remove, e.g. [\"Wool scarf\"]."
},
"set_quantities": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"quantity"
],
"properties": {
"name": {
"type": "string",
"maxLength": 400,
"description": "Exact item name, e.g. Hiking socks."
},
"quantity": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "New quantity, e.g. 3."
}
}
},
"maxItems": 80,
"description": "New quantities, e.g. [{\"name\":\"Hiking socks\",\"quantity\":3}]."
},
"show_claims_to_owner": {
"type": "boolean",
"description": "true = show who claimed what on the owner page; false = hide claims."
}
}
}