Zovo Gift List MCP
A community MCP server that allows users to create and manage gift wishlists for events like birthdays or baby showers. It enables friends and family to claim items via a shared page, manages item quantities to prevent duplicate gifts, and supports CSV exports. The server handles claim visibility and list management through natural language interactions.
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://gift-list.zovo.one/mcpWhat its tools do
3 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (1)
Can change data (2)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Create a birthday wishlist for a specific person with item details
- Check how many claims have been made on a gift list item
- Export list data and claims to CSV format
- Manage item quantities and close lists after occasions
Source and maintenance
Protocol and capabilities
- Server
- gift-list 1.0.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 3 advertised
- Resources
- 1 advertised
- Resource templates
- 1 advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
3 advertised
create_gift_list — Create gift list
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.
{
"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)."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"title",
"occasion_date",
"publicUrl",
"manageUrl",
"item_count",
"claim_count",
"claims_hidden",
"closed",
"expires_at",
"items",
"changes",
"warnings"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"quantity",
"price"
],
"properties": {
"name": {
"type": "string"
},
"price": {
"type": [
"string",
"null"
]
},
"claimed": {
"type": "number"
},
"quantity": {
"type": "number"
},
"claimed_by": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"quantity"
],
"properties": {
"name": {
"type": "string"
},
"quantity": {
"type": "number"
}
},
"additionalProperties": false
}
},
"still_needed": {
"type": "number"
}
},
"additionalProperties": false
}
},
"title": {
"type": "string"
},
"closed": {
"type": "boolean"
},
"changes": {
"type": "array",
"items": {
"type": "string"
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"manageUrl": {
"type": "string"
},
"publicUrl": {
"type": "string"
},
"expires_at": {
"type": "string"
},
"item_count": {
"type": "number"
},
"claim_count": {
"type": "number"
},
"items_shown": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"claims_hidden": {
"type": "boolean"
},
"fully_claimed": {
"type": "number"
},
"occasion_date": {
"type": [
"string",
"null"
]
},
"removed_claims": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"claimed",
"claimed_by"
],
"properties": {
"name": {
"type": "string"
},
"claimed": {
"type": "number"
},
"claimed_by": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"quantity"
],
"properties": {
"name": {
"type": "string"
},
"quantity": {
"type": "number"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
},
"removed_claims_total": {
"type": "number"
}
},
"additionalProperties": false
}{
"title": "Create gift list",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}show_gift_list_status — Show gift list status
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.
{
"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/)."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"title",
"occasion_date",
"publicUrl",
"manageUrl",
"item_count",
"claim_count",
"claims_hidden",
"closed",
"expires_at",
"items",
"changes",
"warnings"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"quantity",
"price"
],
"properties": {
"name": {
"type": "string"
},
"price": {
"type": [
"string",
"null"
]
},
"claimed": {
"type": "number"
},
"quantity": {
"type": "number"
},
"claimed_by": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"quantity"
],
"properties": {
"name": {
"type": "string"
},
"quantity": {
"type": "number"
}
},
"additionalProperties": false
}
},
"still_needed": {
"type": "number"
}
},
"additionalProperties": false
}
},
"title": {
"type": "string"
},
"closed": {
"type": "boolean"
},
"changes": {
"type": "array",
"items": {
"type": "string"
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"manageUrl": {
"type": "string"
},
"publicUrl": {
"type": "string"
},
"expires_at": {
"type": "string"
},
"item_count": {
"type": "number"
},
"claim_count": {
"type": "number"
},
"items_shown": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"claims_hidden": {
"type": "boolean"
},
"fully_claimed": {
"type": "number"
},
"occasion_date": {
"type": [
"string",
"null"
]
},
"removed_claims": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"claimed",
"claimed_by"
],
"properties": {
"name": {
"type": "string"
},
"claimed": {
"type": "number"
},
"claimed_by": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"quantity"
],
"properties": {
"name": {
"type": "string"
},
"quantity": {
"type": "number"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
},
"removed_claims_total": {
"type": "number"
}
},
"additionalProperties": false
}{
"title": "Show gift list status",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}update_gift_list — Update gift list
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.
{
"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."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"title",
"occasion_date",
"publicUrl",
"manageUrl",
"item_count",
"claim_count",
"claims_hidden",
"closed",
"expires_at",
"items",
"changes",
"warnings"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"quantity",
"price"
],
"properties": {
"name": {
"type": "string"
},
"price": {
"type": [
"string",
"null"
]
},
"claimed": {
"type": "number"
},
"quantity": {
"type": "number"
},
"claimed_by": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"quantity"
],
"properties": {
"name": {
"type": "string"
},
"quantity": {
"type": "number"
}
},
"additionalProperties": false
}
},
"still_needed": {
"type": "number"
}
},
"additionalProperties": false
}
},
"title": {
"type": "string"
},
"closed": {
"type": "boolean"
},
"changes": {
"type": "array",
"items": {
"type": "string"
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"manageUrl": {
"type": "string"
},
"publicUrl": {
"type": "string"
},
"expires_at": {
"type": "string"
},
"item_count": {
"type": "number"
},
"claim_count": {
"type": "number"
},
"items_shown": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"claims_hidden": {
"type": "boolean"
},
"fully_claimed": {
"type": "number"
},
"occasion_date": {
"type": [
"string",
"null"
]
},
"removed_claims": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"claimed",
"claimed_by"
],
"properties": {
"name": {
"type": "string"
},
"claimed": {
"type": "number"
},
"claimed_by": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"quantity"
],
"properties": {
"name": {
"type": "string"
},
"quantity": {
"type": "number"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
},
"removed_claims_total": {
"type": "number"
}
},
"additionalProperties": false
}{
"title": "Update gift list",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}Prompts
Not advertised
Resources
1 advertised
gift-list-widget — Zovo Gift List view
Interactive view for Zovo Gift List.
ui://widget/gift-list-v1-1.0.0-972da931ba8652072fed3c7a9df21302e19efa5314c5690508b613d6006345e8.htmlgift-list-widget-legacy — Zovo Gift List view (previous versions)
ui://widget/gift-list-{version}.html30-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
- 1140 ms
- 95th percentile latency
- 1140 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1140 ms · metadata changed · 3 tool(s), 1 resource(s), 1 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http zovo-gift-list-mcp https://gift-list.zovo.one/mcpCodex
codex mcp add zovo-gift-list-mcp --url https://gift-list.zovo.one/mcpCursor
{
"mcpServers": {
"zovo-gift-list-mcp": {
"url": "https://gift-list.zovo.one/mcp"
}
}
}Cline
{
"mcpServers": {
"zovo-gift-list-mcp": {
"type": "streamableHttp",
"url": "https://gift-list.zovo.one/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"zovo-gift-list-mcp": {
"type": "http",
"url": "https://gift-list.zovo.one/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http zovo-gift-list-mcp https://gift-list.zovo.one/mcpClaude Desktop
https://gift-list.zovo.one/mcpWindsurf
{
"mcpServers": {
"zovo-gift-list-mcp": {
"serverUrl": "https://gift-list.zovo.one/mcp"
}
}
}Let your agent find its tools
Find servers like Zovo Gift List MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.