giftroam

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

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
96%
命名品質
100%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~3,115Token(工具定義)
~5.4 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.43%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

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

遠端端點

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

它能做什麼

工具清單

工具(6)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢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.

輸入結構描述

{
  "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#"
}

輸出結構描述

{
  "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.

輸入結構描述

{
  "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#"
}

輸出結構描述

{
  "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.

輸入結構描述

{
  "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#"
}

輸出結構描述

{
  "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.

輸入結構描述

{
  "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
}

輸出結構描述

{
  "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.

輸入結構描述

{
  "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#"
}

輸出結構描述

{
  "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.

輸入結構描述

{
  "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#"
}

輸出結構描述

{
  "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"
    }
  }
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本6 個工具
已驗證未記錄版本6 個工具