giftroam

Send real gifts to 190+ countries: search, check delivery, get a secure checkout link.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
96%
Calidad de los nombres
100%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~3,115Tokens (definiciones de herramientas)
~5.4 KBTamaño de respuesta típico
Impacto significativo en la atención (2.43% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "giftroam": {
      "url": "https://mcp.giftroam.com/mcp"
    }
  }
}

Puntos de conexión remotos

https://mcp.giftroam.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (6)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢search_gifts(country, query, occasion, budget_min, budget_max, ...)

Find gifts that can be delivered to a destination country, optionally filtered by free text, occasion, budget (minor units) and a needed-by date. Returns a shortlist with final customer prices (delivery included) and delivery days. Paginate with cursor. Country is required — ask for it first.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "country": {
      "description": "Destination country, ISO-3166 alpha-2 (e.g. FR).",
      "type": "string",
      "minLength": 2,
      "maxLength": 2
    },
    "query": {
      "description": "Product keywords only, 1-4 words (e.g. 'chocolate basket', 'red roses'). Do NOT include the destination, recipient or occasion here - use the country/occasion fields. Omit for a general browse.",
      "type": "string",
      "maxLength": 120
    },
    "occasion": {
      "description": "Occasion slug from the occasions resource (e.g. birthday).",
      "type": "string",
      "maxLength": 48
    },
    "budget_min": {
      "description": "Minimum price in minor units (cents).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "budget_max": {
      "description": "Maximum price in minor units (cents).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "date_needed": {
      "description": "YYYY-MM-DD; only gifts that can arrive by then.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "limit": {
      "default": 10,
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    },
    "cursor": {
      "description": "Opaque cursor from a previous page.",
      "type": "string"
    },
    "locale": {
      "description": "Display language for results (e.g. he-IL). The query may be typed in that language.",
      "type": "string",
      "maxLength": 12
    }
  },
  "required": [
    "country"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "display_text": {
      "type": "string",
      "description": "Human-readable one-line summary of the result"
    },
    "locale": {
      "type": "string",
      "description": "BCP-47 locale the texts are localized to"
    },
    "error": {
      "type": "object",
      "description": "Present only when the call failed",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "next_step": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "country": {
      "type": "object",
      "properties": {
        "iso2": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "gift_id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "one_liner": {
            "type": "string"
          },
          "customer_amount_minor": {
            "type": "number",
            "description": "Price in minor units (cents)"
          },
          "currency": {
            "type": "string"
          },
          "display_price": {
            "type": "string",
            "description": "Final customer price incl. delivery, e.g. \"$99.95\""
          },
          "delivery_days": {
            "type": "object",
            "description": "Business-day delivery estimate range",
            "properties": {
              "min": {
                "type": "number"
              },
              "max": {
                "type": "number"
              }
            }
          },
          "image_url": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "contains_alcohol": {
            "type": "string",
            "description": "yes | no | unknown"
          },
          "url": {
            "type": "string"
          }
        }
      }
    },
    "total": {
      "type": "number"
    },
    "next_cursor": {
      "type": [
        "string",
        "null"
      ]
    },
    "date_warning": {
      "type": "string",
      "description": "Present when the requested needed-by date is unreachable: results are shown WITHOUT the date filter"
    }
  }
}
🟢get_gift_details(gift_id, country, locale)

Full description, contents, images, customer price, estimated delivery window (EST cutoff-aware), substitution policy and restrictions for one gift in one destination country.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "gift_id": {
      "type": "string",
      "minLength": 1,
      "description": "gift_id from search_gifts (or the gift's URL slug)."
    },
    "country": {
      "description": "Destination country, ISO-3166 alpha-2.",
      "type": "string",
      "minLength": 2,
      "maxLength": 2
    },
    "locale": {
      "description": "Display language for gift content (e.g. he-IL). Prices and availability are unaffected.",
      "type": "string",
      "maxLength": 12
    }
  },
  "required": [
    "gift_id",
    "country"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "display_text": {
      "type": "string",
      "description": "Human-readable one-line summary of the result"
    },
    "locale": {
      "type": "string",
      "description": "BCP-47 locale the texts are localized to"
    },
    "error": {
      "type": "object",
      "description": "Present only when the call failed",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "next_step": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "gift": {
      "type": "object",
      "properties": {
        "gift_id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "one_liner": {
          "type": "string"
        },
        "customer_amount_minor": {
          "type": "number",
          "description": "Price in minor units (cents)"
        },
        "currency": {
          "type": "string"
        },
        "display_price": {
          "type": "string",
          "description": "Final customer price incl. delivery, e.g. \"$99.95\""
        },
        "delivery_days": {
          "type": "object",
          "description": "Business-day delivery estimate range",
          "properties": {
            "min": {
              "type": "number"
            },
            "max": {
              "type": "number"
            }
          }
        },
        "image_url": {
          "type": "string"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "contains_alcohol": {
          "type": "string",
          "description": "yes | no | unknown"
        },
        "url": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "contents": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "images": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "estimated_delivery": {
          "type": "object",
          "properties": {
            "earliest": {
              "type": "string"
            },
            "latest": {
              "type": "string"
            },
            "cutoff_passed_today": {
              "type": "boolean"
            },
            "notes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "substitution_policy": {
          "type": "string"
        },
        "restrictions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "translation": {
      "type": "object",
      "description": "How the gift content was localized",
      "properties": {
        "sourceLocale": {
          "type": "string"
        },
        "targetLocale": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "contentHash": {
          "type": "string"
        },
        "provider": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    }
  }
}
🟢check_delivery(country, city, date_needed, gift_id, locale)

Is delivery to a country (optionally a city, by a date, for a specific gift) feasible? Returns earliest/latest estimate and warnings (PO box, hotel, holiday window) with a suggested action. Use it whenever the user has a deadline.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "country": {
      "description": "Destination country, ISO-3166 alpha-2.",
      "type": "string",
      "minLength": 2,
      "maxLength": 2
    },
    "city": {
      "description": "Destination city (used for warnings only; never store addresses in chat).",
      "type": "string",
      "maxLength": 80
    },
    "date_needed": {
      "description": "YYYY-MM-DD the gift must arrive by.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "gift_id": {
      "description": "Optional gift_id to use that gift's delivery window.",
      "type": "string"
    },
    "locale": {
      "description": "Language of the conversation with the user (e.g. he-IL, fr-FR). Localizes content and messages; prices and availability are unaffected.",
      "type": "string",
      "maxLength": 12
    }
  },
  "required": [
    "country"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "display_text": {
      "type": "string",
      "description": "Human-readable one-line summary of the result"
    },
    "locale": {
      "type": "string",
      "description": "BCP-47 locale the texts are localized to"
    },
    "error": {
      "type": "object",
      "description": "Present only when the call failed",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "next_step": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "feasible": {
      "type": "boolean"
    },
    "earliest": {
      "type": "string",
      "description": "ISO date of the earliest estimated delivery"
    },
    "latest": {
      "type": "string",
      "description": "ISO date of the latest estimated delivery"
    },
    "business_days": {
      "type": "object",
      "properties": {
        "min": {
          "type": "number"
        },
        "max": {
          "type": "number"
        }
      }
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "suggested_action": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}
🟡create_checkout(gift_id, country, quantity, delivery_date, gift_card_text, ...)

Create a signed, single-purpose checkout link (30-minute expiry) for one gift to one country. The schema has no recipient fields on purpose: name, address, phone, delivery details and payment are collected on the secure page. Show the returned summary and get the user's explicit confirmation before sharing the link. Use the same idempotency_key when retrying.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "gift_id": {
      "type": "string",
      "minLength": 1,
      "description": "gift_id from search_gifts."
    },
    "country": {
      "description": "Destination country, ISO-3166 alpha-2.",
      "type": "string",
      "minLength": 2,
      "maxLength": 2
    },
    "quantity": {
      "default": 1,
      "description": "Always 1 in v1.",
      "type": "number",
      "const": 1
    },
    "delivery_date": {
      "description": "Requested delivery date YYYY-MM-DD; omit for as-soon-as-possible.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "gift_card_text": {
      "description": "Card message (≤180 chars) if the user already gave one.",
      "type": "string",
      "maxLength": 180
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128,
      "description": "Client-generated key; retries with the same key return the same link."
    },
    "locale": {
      "description": "Language of the conversation with the user (e.g. he-IL, fr-FR). Localizes content and messages; prices and availability are unaffected. The checkout page opens in this language.",
      "type": "string",
      "maxLength": 12
    }
  },
  "required": [
    "gift_id",
    "country",
    "idempotency_key"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "display_text": {
      "type": "string",
      "description": "Human-readable one-line summary of the result"
    },
    "locale": {
      "type": "string",
      "description": "BCP-47 locale the texts are localized to"
    },
    "error": {
      "type": "object",
      "description": "Present only when the call failed",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "next_step": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "checkout_url": {
      "type": "string",
      "description": "Single-purpose secure checkout link on checkout.giftroam.com (30-minute expiry)"
    },
    "expires_at": {
      "type": "string"
    },
    "summary": {
      "type": "object",
      "properties": {
        "gift": {
          "type": "string"
        },
        "country": {
          "type": "string"
        },
        "price": {
          "type": "string"
        },
        "delivery_date": {
          "type": "string"
        },
        "estimated_window": {
          "type": "object",
          "properties": {
            "earliest": {
              "type": "string"
            },
            "latest": {
              "type": "string"
            }
          }
        },
        "gift_message": {
          "type": [
            "string",
            "null"
          ]
        },
        "notes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    }
  }
}
🟢get_order_status(order_token, locale)

Customer-facing status, ETA window and next action for an order. Requires the buyer's order token (delivered after payment) — the token is the credential; never guess or enumerate tokens. Never returns address, phone or payment details.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "order_token": {
      "type": "string",
      "minLength": 1,
      "description": "The order token from the buyer's confirmation (GR-XXXXX-…). Never guess tokens."
    },
    "locale": {
      "description": "Language of the conversation with the user (e.g. he-IL, fr-FR). Localizes content and messages; prices and availability are unaffected.",
      "type": "string",
      "maxLength": 12
    }
  },
  "required": [
    "order_token"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "display_text": {
      "type": "string",
      "description": "Human-readable one-line summary of the result"
    },
    "locale": {
      "type": "string",
      "description": "BCP-47 locale the texts are localized to"
    },
    "error": {
      "type": "object",
      "description": "Present only when the call failed",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "next_step": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "status": {
      "type": "string",
      "description": "Machine status, e.g. confirmed | on_the_way | delivered | needs_attention"
    },
    "status_label": {
      "type": "string"
    },
    "gift": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "delivery_date": {
      "type": [
        "string",
        "null"
      ]
    },
    "estimated_window": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "earliest": {
          "type": "string"
        },
        "latest": {
          "type": "string"
        }
      }
    },
    "updated_at": {
      "type": "string"
    },
    "next_action": {
      "type": "string"
    }
  }
}
🟢list_my_orders(limit, locale)

The signed-in user's GiftRoam orders: status, ETA window, gift, destination and the order token for tracking. Requires the authenticated GiftRoam connection (OAuth, scope orders:read); on a guest connection it returns auth_required. Never returns addresses, phone numbers or payment details.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 20,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "locale": {
      "description": "Language of the conversation with the user (e.g. he-IL, fr-FR). Localizes content and messages; prices and availability are unaffected.",
      "type": "string",
      "maxLength": 12
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "display_text": {
      "type": "string",
      "description": "Human-readable one-line summary of the result"
    },
    "locale": {
      "type": "string",
      "description": "BCP-47 locale the texts are localized to"
    },
    "error": {
      "type": "object",
      "description": "Present only when the call failed",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "next_step": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "orders": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "order_token": {
            "type": "string"
          },
          "gift": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "status_label": {
            "type": "string"
          },
          "amount_minor": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          },
          "delivery_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "estimated_window": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "earliest": {
                "type": "string"
              },
              "latest": {
                "type": "string"
              }
            }
          },
          "created_at": {
            "type": "string"
          },
          "updated_at": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        }
      }
    },
    "total": {
      "type": "number"
    }
  }
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada6 herramientas
verificadoversión no registrada6 herramientas