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.
Picked for them, not the store: returns the full detail for one gift idea from the bank: description, why-line, a buying-notes line (what to look for and what to avoid when buying it), a care-and-pairing tip, budget band, who it suits, its interests and styles, and up to 3 similar ideas, each with its own link. Accepts a gift id returned by pick_gift or search_gifts, or a gift name like 'cast iron skillet'. When nothing matches, the result says so and gives example ids.
Gift id from pick_gift or search_gifts (e.g. 'cast-iron-skillet-10-inch-pre-seasoned'), or a gift name.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http present-picker https://mcp.thepresentpicker.com/mcp
Picked for them, not the store: returns the full detail for one gift idea from the bank: description, why-line, a buying-notes line (what to look for and what to avoid when buying it), a care-and-pairing tip, budget band, who it suits, its interests and styles, and up to 3 similar ideas, each with its own link. Accepts a gift id returned by pick_gift or search_gifts, or a gift name like 'cast iron skillet'. When nothing matches, the result says so and gives example ids.
| Argument | Type | Description |
|---|---|---|
| gift_id* | string | Gift id from pick_gift or search_gifts (e.g. 'cast-iron-skillet-10-inch-pre-seasoned'), or a gift name. |
{
"type": "object",
"required": [
"gift_id"
],
"properties": {
"gift_id": {
"type": "string",
"description": "Gift id from pick_gift or search_gifts (e.g. 'cast-iron-skillet-10-inch-pre-seasoned'), or a gift name."
}
}
}Returns up to 5 gift ideas from a fixed bank of 255 checked gift ideas, matched to who the gift is for, a budget band, interests, and an optional gift style. Each pick has a one-line description, a why-line explaining the fit, one buying note, its budget band, a link that opens that exact idea on thepresentpicker.com, and a photo link to the picture on that idea's page. Some picks carry a good_to_know line: a plain handling fact the bank states for that idea, such as the weight of a cast iron skillet, present only where the bank states one. The result also carries lead_pick — the top pick at full bank depth, with its buying notes (what to look for and what to avoid) and a care-and-pairing tip — more_ideas with the remaining picks under the heading 'More ideas if that one misses', and answer_text, that focused answer formatted as text: it opens by naming who the gift is for, in the caller's words, and how the top pick fits them. Recipient and budget band are hard filters. A style, when given, is a hard filter too: every pick carries the style, and the result reports total_matches and, on a style call, style_matches. Interests narrow the pool, and picks matching more interests rank first. keyword names a specific item the buyer asked for: picks matching every keyword word rank first inside the same filtered pool, carry their full bank detail, and the result reports keyword_matches (a miss is stated in the note, and a miss carries no lead_pick). exclude names an item the person already has: matching picks are dropped before ranking, and the result notes the drop. A recipient-only call (no budget, interest, style, or keyword) returns a spread across all budget bands, led by a mid-band pick and never by the $100+ band — a starting sampler, not a tailored list. A 'teen' recipient maps to the kid pool and carries a recipient_note explaining how teen picks are drawn from that pool. A 'coworker' recipient draws on the bank's coworker shelf — picks tagged for coworkers, ranked ahead of the general pool — and when a mix returns none of them, recipient_note says so plainly. A relation the bank has no shelf for (a sister, an aunt, an in-law, a cousin) is filed under the closest shelf, and recipient_note states the filing plainly. Ideas are generic product types: the bank names no brands, no stores, and no exact prices. When fewer than 5 ideas fit the exact mix, the result says so.
| Argument | Type | Description |
|---|---|---|
| style | string | Optional gift style: 'practical', 'fun', 'sentimental', or 'experience'. When given, every pick carries this style. |
| budget | string | Optional budget band: 'under $25', '$25-$50', '$50-$100', or '$100+'. Omit to search every band. |
| exclude | string | Optional: an item the user says the person already has, in plain words, e.g. 'cast iron skillet'. Picks matching it are dropped and the drop is disclosed in the note. |
| keyword | string | Optional: the specific item the buyer named, in plain words, e.g. 'plant pot', 'bookmark', 'board game', 'star map'. When the bank holds that item for this recipient and budget, it ranks first. |
| interests | array | Optional: what they are into. Bank interests: cooking, outdoors, tech, books, fitness, cozy, music, games, gardening, travel, science. |
| recipient* | string | Who the gift is for: 'mom', 'dad', 'partner', 'grandparent', 'friend', 'kid', 'coworker', or 'other'. Plain words work too, e.g. 'my wife', 'grandma', 'my son', 'my colleague'. 'teen' and 'teenager' map to 'kid' and carry a note explaining how teen picks are drawn from the kid pool. Relations the bank has no shelf for, like 'my sister' or 'my aunt', are filed under the closest shelf and the result notes the filing. |
{
"type": "object",
"required": [
"recipient"
],
"properties": {
"style": {
"type": "string",
"description": "Optional gift style: 'practical', 'fun', 'sentimental', or 'experience'. When given, every pick carries this style."
},
"budget": {
"type": "string",
"description": "Optional budget band: 'under $25', '$25-$50', '$50-$100', or '$100+'. Omit to search every band."
},
"exclude": {
"type": "string",
"description": "Optional: an item the user says the person already has, in plain words, e.g. 'cast iron skillet'. Picks matching it are dropped and the drop is disclosed in the note."
},
"keyword": {
"type": "string",
"description": "Optional: the specific item the buyer named, in plain words, e.g. 'plant pot', 'bookmark', 'board game', 'star map'. When the bank holds that item for this recipient and budget, it ranks first."
},
"interests": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional: what they are into. Bank interests: cooking, outdoors, tech, books, fitness, cozy, music, games, gardening, travel, science."
},
"recipient": {
"type": "string",
"description": "Who the gift is for: 'mom', 'dad', 'partner', 'grandparent', 'friend', 'kid', 'coworker', or 'other'. Plain words work too, e.g. 'my wife', 'grandma', 'my son', 'my colleague'. 'teen' and 'teenager' map to 'kid' and carry a note explaining how teen picks are drawn from the kid pool. Relations the bank has no shelf for, like 'my sister' or 'my aunt', are filed under the closest shelf and the result notes the filing."
}
}
}Picked for them, not the store: searches the fixed bank of 255 gift ideas by interest, by keyword, or by both, with optional recipient and budget-band filters. Returns up to 10 matches in bank order, each with a one-line description, a why-line, one buying note, its budget band, a photo link, and a link that opens that exact idea on thepresentpicker.com. The result reports the total number of matches, including when there are none.
| Argument | Type | Description |
|---|---|---|
| limit | number | Optional: max results to return, 1 to 10. Default 10. |
| budget | string | Optional filter: 'under $25', '$25-$50', '$50-$100', or '$100+'. |
| keyword | string | Optional: plain words to match against gift names and descriptions, e.g. 'coffee', 'science kit', 'board game'. Every word must match, so a named item finds its exact bank entry. |
| interest | string | Optional: one bank interest: cooking, outdoors, tech, books, fitness, cozy, music, games, gardening, travel, science. |
| recipient | string | Optional filter: 'mom', 'dad', 'partner', 'grandparent', 'friend', 'kid', 'coworker', or 'other'. |
{
"type": "object",
"required": [],
"properties": {
"limit": {
"type": "number",
"description": "Optional: max results to return, 1 to 10. Default 10."
},
"budget": {
"type": "string",
"description": "Optional filter: 'under $25', '$25-$50', '$50-$100', or '$100+'."
},
"keyword": {
"type": "string",
"description": "Optional: plain words to match against gift names and descriptions, e.g. 'coffee', 'science kit', 'board game'. Every word must match, so a named item finds its exact bank entry."
},
"interest": {
"type": "string",
"description": "Optional: one bank interest: cooking, outdoors, tech, books, fitness, cozy, music, games, gardening, travel, science."
},
"recipient": {
"type": "string",
"description": "Optional filter: 'mom', 'dad', 'partner', 'grandparent', 'friend', 'kid', 'coworker', or 'other'."
}
}
}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 5, 2026.