MCP Server

Cadourile.ro

io.github.tudorAbrudan/cadourile
Commerce & Retail Social Media Public & reachable MCP 2025-11-25

What this MCP does

Creates and manages gift lists and gifts, extracts product details, handles invitations and reservations, and tracks event participation.

cancel_my_reservation
Anulează propria rezervare/confirmare (ca invitat) de pe un cadou de pe lista altcuiva. Funcționează doar pe rezervarea proprie a userului.
Input schema
{'type': 'object', 'title': 'cancel_my_reservationArguments', 'required': ['gift_id'], 'properties': {'gift_id': {'type': 'integer', 'title': 'Gift Id'}}}
create_gift
Adaugă un cadou nou într-o listă. Args: list_id: ID-ul listei în care se adaugă cadoul. name: Numele cadoului (obligatoriu). description: Descriere opțională. price: Preț estimativ în RON. url: Link către produs. Nu se extrag metadate automat aici — folosește întâi extract_gift_metadata(url) ca să obții title/description/image_url/price, la fel ca formularul web. allows_contributions: Dacă lista poate contribui în comun la acest cadou (bifa „acceptă contribuții multiple" din web). Dacă nu e precizat, se activează automat când price >= 200 RON — identic cu comportamentul din formularul web.
Input schema
{'type': 'object', 'title': 'create_giftArguments', 'required': ['list_id', 'name'], 'properties': {'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Url', 'default': None}, 'name': {'type': 'string', 'title': 'Name'}, 'price': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Price', 'default': None}, 'list_id': {'type': 'integer', 'title': 'List Id'}, 'description': {'type': 'string', 'title': 'Description', 'default': ''}, 'allows_contributions': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Allows Contributions', 'default': None}}}
create_gift_list
Creează o listă de cadouri nouă. Args: name: Numele listei (obligatoriu). description: Descriere opțională. is_public: Dacă lista e vizibilă public. is_event_with_guests: True pentru evenimente cu invitați (nuntă, botez, petrecere). event_type: Tip eveniment — 'birthday_child', 'baptism', 'wedding', 'anniversary', 'business_dinner', 'other'. event_time: Data/ora evenimentului, format ISO 8601 (ex. '2026-10-15T18:00:00'). event_location: Locația evenimentului. rsvp_deadline: Termen limită RSVP, format ISO 8601.
Input schema
{'type': 'object', 'title': 'create_gift_listArguments', 'required': ['name'], 'properties': {'name': {'type': 'string', 'title': 'Name'}, 'is_public': {'type': 'boolean', 'title': 'Is Public', 'default': False}, 'event_time': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Event Time', 'default': None}, 'event_type': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Event Type', 'default': None}, 'description': {'type': 'string', 'title': 'Description', 'default': ''}, 'rsvp_deadline': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Rsvp Deadline', 'default': None}, 'event_location': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Event Location', 'default': None}, 'is_event_with_guests': {'type': 'boolean', 'title': 'Is Event With Guests', 'default': False}}}
extract_gift_metadata
Extrage metadatele unui produs de pe un link (title, description, image_url, price) — echivalentul din agent al formularului web „adaugă cadou", unde lipirea unui link completează automat restul câmpurilor. Folosește rezultatul ca să completezi argumentele lui create_gift/update_gift. Rate-limitat server-side la 100 request-uri/zi (per cont dacă backend-ul recunoaște tokenul, altfel per adresă IP) — nu apela repetat pentru același URL.
Input schema
{'type': 'object', 'title': 'extract_gift_metadataArguments', 'required': ['url'], 'properties': {'url': {'type': 'string', 'title': 'Url'}}}
get_gift
Obține detaliile unui cadou, inclusiv statusul de rezervare.
Input schema
{'type': 'object', 'title': 'get_giftArguments', 'required': ['gift_id'], 'properties': {'gift_id': {'type': 'integer', 'title': 'Gift Id'}}}
get_gift_list
Obține detaliile unei liste de cadouri, inclusiv cadourile din ea.
Input schema
{'type': 'object', 'title': 'get_gift_listArguments', 'required': ['list_id'], 'properties': {'list_id': {'type': 'integer', 'title': 'List Id'}}}
list_gift_lists
Listează toate listele de cadouri ale userului autentificat.
Input schema
{'type': 'object', 'title': 'list_gift_listsArguments', 'properties': {}}
list_invited_lists
Listează evenimentele la care userul e invitat (nu proprietar) — echivalentul tab-ului „La care particip" din cadourile.ro. Fiecare intrare arată statusul RSVP/ rezervare al userului pe acea listă.
Input schema
{'type': 'object', 'title': 'list_invited_listsArguments', 'properties': {}}
list_my_invited_reservations
Listează propriile rezervări/confirmări ale userului pe liste ale altcuiva (ca invitat) — nu pe propriile liste. Folosește gift_id-ul din rezultat cu update_my_reservation sau cancel_my_reservation.
Input schema
{'type': 'object', 'title': 'list_my_invited_reservationsArguments', 'properties': {}}
reserve_gift
Rezervă un cadou (marchează-l ca luat, ca alți invitați să nu-l mai cumpere dublu). Args: gift_id: ID-ul cadoului de rezervat. reserver_name: Numele celui care rezervă (obligatoriu — e reținut mereu server-side, chiar și pentru rezervări anonime; doar nu e afișat altor invitați). privacy_mode: 'full_name' (default), 'initials' sau 'anonymous' — cât din identitate e vizibilă altor invitați.
Input schema
{'type': 'object', 'title': 'reserve_giftArguments', 'required': ['gift_id', 'reserver_name'], 'properties': {'gift_id': {'type': 'integer', 'title': 'Gift Id'}, 'privacy_mode': {'type': 'string', 'title': 'Privacy Mode', 'default': 'full_name'}, 'reserver_name': {'type': 'string', 'title': 'Reserver Name'}}}
unreserve_gift
Anulează rezervarea unui cadou (îl face din nou disponibil).
Input schema
{'type': 'object', 'title': 'unreserve_giftArguments', 'required': ['gift_id'], 'properties': {'gift_id': {'type': 'integer', 'title': 'Gift Id'}}}
update_gift
Actualizează un cadou existent. Trimite doar câmpurile de schimbat.
Input schema
{'type': 'object', 'title': 'update_giftArguments', 'required': ['gift_id'], 'properties': {'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Url', 'default': None}, 'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Name', 'default': None}, 'price': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Price', 'default': None}, 'gift_id': {'type': 'integer', 'title': 'Gift Id'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Description', 'default': None}}}
update_gift_list
Actualizează o listă de cadouri existentă. Trimite doar câmpurile de schimbat.
Input schema
{'type': 'object', 'title': 'update_gift_listArguments', 'required': ['list_id'], 'properties': {'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Name', 'default': None}, 'list_id': {'type': 'integer', 'title': 'List Id'}, 'event_time': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Event Time', 'default': None}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Description', 'default': None}, 'rsvp_deadline': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Rsvp Deadline', 'default': None}, 'event_location': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Event Location', 'default': None}}}
update_my_reservation
Actualizează propria rezervare/confirmare (ca invitat) pe un cadou de pe lista altcuiva — de ex. schimbă numărul de adulți/copii care vin, sau mesajul. Funcționează doar pe rezervări proprii; nu poate atinge rezervările altor invitați. Trimite doar câmpurile de schimbat. Args: gift_id: ID-ul cadoului pe care userul are deja o rezervare proprie. adults_count: Număr adulți care confirmă prezența. children_count: Număr copii care confirmă prezența. message: Mesaj/notă atașat rezervării. notify_on_changes: Primește notificări dacă se schimbă ora/locul evenimentului.
Input schema
{'type': 'object', 'title': 'update_my_reservationArguments', 'required': ['gift_id'], 'properties': {'gift_id': {'type': 'integer', 'title': 'Gift Id'}, 'message': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Message', 'default': None}, 'adults_count': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Adults Count', 'default': None}, 'children_count': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Children Count', 'default': None}, 'notify_on_changes': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Notify On Changes', 'default': None}}}
Added
cancel_my_reservation
Sept. 24, 2026, 2:40 a.m.
Added
update_my_reservation
Sept. 24, 2026, 2:40 a.m.
Added
list_my_invited_reservations
Sept. 24, 2026, 2:40 a.m.
Added
list_invited_lists
Sept. 24, 2026, 2:40 a.m.
Added
unreserve_gift
Sept. 24, 2026, 2:40 a.m.
Added
reserve_gift
Sept. 24, 2026, 2:40 a.m.
Added
update_gift
Sept. 24, 2026, 2:40 a.m.
Added
get_gift
Sept. 24, 2026, 2:40 a.m.
Added
extract_gift_metadata
Sept. 24, 2026, 2:40 a.m.
Added
create_gift
Sept. 24, 2026, 2:40 a.m.
Added
update_gift_list
Sept. 24, 2026, 2:40 a.m.
Added
create_gift_list
Sept. 24, 2026, 2:40 a.m.
Added
get_gift_list
Sept. 24, 2026, 2:40 a.m.
Added
list_gift_lists
Sept. 24, 2026, 2:40 a.m.