Surprise Buddy
/install surprise-buddy
Surprise Buddy gift-search skill
A live MCP HTTP server at https://www.surprise-buddy.com/api/mcp exposes a small set of tools that query a curated, country-scoped database of gift ideas. International coverage — every result is a real product page on a real marketplace (Amazon, Etsy, Mercado Libre, Otto, Bol.com, Allegro, Jochen Schweizer) and the link can be presented to the user as-is.
Call list_supported_countries for the current list of countries; coverage grows over time.
Tools
find_gifts
Main search. country is required and is a hard filter — results never cross marketplaces.
| arg | type | notes |
|---|---|---|
country |
string (ISO-2) | required, e.g. DE, US, MX |
occasion |
string | birthday, christmas, valentines, mothers-day, einschulung, sinterklaas, midsommar, … |
age |
integer | recipient age |
gender |
male/female/unisex |
unisex rows always included |
budget_min_cents / budget_max_cents |
integer | in country currency cents |
interests |
string[] | hobby/interest tags — call list_supported_interests for the full list |
profession |
string | e.g. teacher, developer, chef, athlete, photographer, gamer |
favorite_color |
string | one of red, blue, green, yellow, purple, pink, orange, black, white, gold, silver — only matches gifts whose favorite_color is exactly this; color-agnostic gifts are skipped when this filter is set |
limit |
integer (1–20, default 5) |
Returns { gifts: [ { id, title, description, why_it_fits, product_url, image_url, price, currency, shop, shop_display_name, category, favorite_color, country_code } ] }.
list_supported_countries
Returns the country codes that currently have active entries.
list_supported_occasions(country?)
Returns occasion codes with active entries, optionally narrowed to a country.
list_supported_interests
Returns the canonical interest/hobby tag vocabulary (matches the tags shown in the website UI).
list_supported_colors
Returns the canonical favorite-color vocabulary (matches the color picker shown in the website UI).
How to use it in a chat
When a user asks for gift help:
- Pull country, occasion, age, budget, interests from the conversation (ask if any are missing — country is mandatory).
- Convert the budget to cents in the country's currency, not a foreign currency.
- Call
find_gifts. - Render each gift as a card: title, image, price (with currency), why-it-fits, and a markdown link
[Buy on Amazon](product_url). Do not strip query params fromproduct_url— use the URL exactly as returned.
Example
User: "Geschenk für meinen 35-jährigen Bruder in Deutschland, mag Gaming, Budget 50-100€."
→ find_gifts({
country: "DE",
age: 35,
gender: "male",
occasion: "birthday",
budget_min_cents: 5000,
budget_max_cents: 10000,
interests: ["gaming"],
limit: 5
})
What it is NOT
- Not a generic web search — only returns rows that exist in the curated DB.
- Not a price oracle —
price_centsis the price at last verification, not live. - Empty results are valid: try widening the budget, removing
gender, or droppinginterests.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install surprise-buddy - After installation, invoke the skill by name or use
/surprise-buddy - Provide required inputs per the skill's parameter spec and get structured output
What is Surprise Buddy?
Look up curated gift ideas from the Surprise Buddy database — country-scoped product cards with title, image, price, and a ready-to-click product link. Inter... It is an AI Agent Skill for Claude Code / OpenClaw, with 106 downloads so far.
How do I install Surprise Buddy?
Run "/install surprise-buddy" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Surprise Buddy free?
Yes, Surprise Buddy is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Surprise Buddy support?
Surprise Buddy is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Surprise Buddy?
It is built and maintained by sebastian1747 (@sebastian1747); the current version is v1.0.0.