RentMy MCP by usefulapi
Search rental products, check prices and build carts in RentMy.
사용해야 할까요
품질 및 안전성
발견 사항 (2)
- LOWrentmy_list_products_in_category에서
- LOWrentmy_check_package_availability에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"rentmy": {
"url": "https://rentmy.usefulapi.io/mcp"
}
}
}원격 엔드포인트
https://rentmy.usefulapi.io/mcpstreamable-http할 수 있는 일
도구 목록
도구 (17)
🟢rentmy_list_categories
List the store's product categories, with first and second level child categories and their UUIDs. RentMy: GET /categories.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢rentmy_list_child_categories(category_uuid)
List the child categories under one category UUID. RentMy: GET /get/child-categories/{category_uuid}.
입력 스키마
{
"type": "object",
"properties": {
"category_uuid": {
"type": "string",
"minLength": 1,
"description": "Category UUID from rentmy_list_categories."
}
},
"required": [
"category_uuid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢rentmy_list_products(page_no, limit, price_min, price_max, sort_by, ...)
List the store's products with pagination, optionally filtered by price range or purchase type. Needs the store location (from login). RentMy: POST /products/online.
입력 스키마
{
"type": "object",
"properties": {
"page_no": {
"default": 1,
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"limit": {
"default": 20,
"description": "Products per page (1-30).",
"type": "integer",
"minimum": 1,
"maximum": 30
},
"price_min": {
"description": "Lowest price to include.",
"type": "string"
},
"price_max": {
"description": "Highest price to include.",
"type": "string"
},
"sort_by": {
"description": "Sort field, as RentMy names it.",
"type": "string"
},
"sort_dir": {
"description": "Sort direction, as RentMy names it (the spec example is DSC).",
"type": "string"
},
"purchase_type": {
"description": "Purchase type filter, as RentMy names it (rent, sale, ...).",
"type": "string"
},
"all": {
"description": "Include all products, as RentMy's all flag.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢rentmy_search_products(search, page_no, limit)
Search the store's products by text. Needs the store location (from login). RentMy: POST /search/products.
입력 스키마
{
"type": "object",
"properties": {
"search": {
"type": "string",
"minLength": 1,
"description": "Text to search for (product name or keyword)."
},
"page_no": {
"default": 1,
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"limit": {
"default": 20,
"description": "Products per page (1-30).",
"type": "integer",
"minimum": 1,
"maximum": 30
}
},
"required": [
"search"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢rentmy_list_products_in_category(category_uuid, page_no, limit, tag_id, price_min, ...)
List the products in one category, with pagination and optional filters. RentMy: POST /category/products/{category_uuid}.
입력 스키마
{
"type": "object",
"properties": {
"category_uuid": {
"type": "string",
"minLength": 1,
"description": "Category UUID from rentmy_list_categories."
},
"page_no": {
"default": 1,
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"limit": {
"default": 20,
"description": "Products per page.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"tag_id": {
"description": "Tag ID filter.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"price_min": {
"description": "Lowest price to include (whole number, per the spec).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"price_max": {
"description": "Highest price to include (whole number, per the spec).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"purchase_type": {
"description": "Purchase type filter (RentMy integer code).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"category_uuid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢rentmy_list_featured_products
List the products the store features on its front page. RentMy: GET /products/featured.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢rentmy_get_product(product_uid)
Get one product's full details by its product UID. RentMy: GET /products/{product_uid}.
입력 스키마
{
"type": "object",
"properties": {
"product_uid": {
"type": "string",
"minLength": 1,
"description": "Product UID from a product list or search."
}
},
"required": [
"product_uid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢rentmy_get_product_variant(variant_id)
Get one product variant's details by its variant ID. RentMy: GET /products/view/variant-product/{variant_id}.
입력 스키마
{
"type": "object",
"properties": {
"variant_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "RentMy variant product ID (variants_products_id)."
}
},
"required": [
"variant_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢rentmy_list_product_addons(product_id, required)
List the add-on products for one product. Needs the store location (from login). RentMy: GET /products/{product_id}/addons.
입력 스키마
{
"type": "object",
"properties": {
"product_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "RentMy product ID."
},
"required": {
"description": "Only required add-ons, as RentMy's required flag.",
"type": "string"
}
},
"required": [
"product_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢rentmy_get_price(product_id, variants_products_id, quantity, rental_type, rent_start, ...)
Price one rental for given dates and quantity, without changing the cart. Needs the store location (from login). RentMy: POST /get-price-value.
입력 스키마
{
"type": "object",
"properties": {
"product_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "RentMy product ID."
},
"variants_products_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "RentMy variant product ID (variants_products_id)."
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "Quantity to rent."
},
"rental_type": {
"type": "string",
"minLength": 1,
"description": "Rental type, as RentMy names it (the spec example is rent)."
},
"rent_start": {
"type": "string",
"description": "Rental start, \"YYYY-MM-DD HH:MM\" (RentMy format)."
},
"rent_end": {
"type": "string",
"description": "Rental end, \"YYYY-MM-DD HH:MM\" (RentMy format)."
},
"price_id": {
"description": "Price rule ID, when a product has several.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"rental_duration": {
"description": "Rental duration, as RentMy counts it.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"product_id",
"variants_products_id",
"quantity",
"rental_type",
"rent_start",
"rent_end"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢rentmy_check_package_availability(product_uid, start_date, end_date, variants)
Check whether a package product is available for given dates. Needs the store location (from login). RentMy: POST /package/{product_uid}/availability.
입력 스키마
{
"type": "object",
"properties": {
"product_uid": {
"type": "string",
"minLength": 1,
"description": "Package product UID."
},
"start_date": {
"type": "string",
"description": "Rental start, \"YYYY-MM-DD HH:MM\" (RentMy format)."
},
"end_date": {
"type": "string",
"description": "Rental end, \"YYYY-MM-DD HH:MM\" (RentMy format)."
},
"variants": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Variant selection, as RentMy's variants query parameter."
}
},
"required": [
"product_uid",
"start_date",
"end_date",
"variants"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢rentmy_list_locations
List the store's pickup locations. RentMy: GET /locations/list.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢rentmy_get_cart(cart_token)
Get the items and totals of one cart by its token. RentMy: GET /carts/{cart_token}.
입력 스키마
{
"type": "object",
"properties": {
"cart_token": {
"type": "string",
"minLength": 1,
"description": "Cart token from add-to-cart or get-cart."
}
},
"required": [
"cart_token"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴rentmy_add_to_cart(product_id, variants_products_id, quantity, rental_type, rent_start, ...)
Add a product variant to a cart for the given dates. Leave token empty to start a new cart; the response carries the token. Does not check out. Needs the store location (from login). RentMy: POST /carts/add-to-cart.
입력 스키마
{
"type": "object",
"properties": {
"product_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "RentMy product ID."
},
"variants_products_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "RentMy variant product ID (variants_products_id)."
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "Quantity to add."
},
"rental_type": {
"type": "string",
"minLength": 1,
"description": "Rental type, as RentMy names it (the spec example is rent)."
},
"rent_start": {
"type": "string",
"description": "Rental start, \"YYYY-MM-DD HH:MM\" (RentMy format)."
},
"rent_end": {
"type": "string",
"description": "Rental end, \"YYYY-MM-DD HH:MM\" (RentMy format)."
},
"token": {
"description": "Existing cart token. Omit to start a new cart.",
"type": "string"
},
"driving_license_required": {
"description": "Whether a driving licence is required for this item.",
"type": "boolean"
}
},
"required": [
"product_id",
"variants_products_id",
"quantity",
"rental_type"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴rentmy_update_cart_item(token, id, increment)
Change the quantity of one cart item by a step (for example 1 or -1). RentMy: POST /carts/update.
입력 스키마
{
"type": "object",
"properties": {
"token": {
"type": "string",
"minLength": 1,
"description": "Cart token from add-to-cart or get-cart."
},
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Cart ID (the id field of the cart)."
},
"increment": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Quantity change, positive or negative (RentMy's increment field)."
}
},
"required": [
"token",
"id",
"increment"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴rentmy_remove_cart_item(token, product_id, cart_item_id)
Remove one item from a cart. RentMy: POST /carts/cart-remove-item.
입력 스키마
{
"type": "object",
"properties": {
"token": {
"type": "string",
"minLength": 1,
"description": "Cart token from add-to-cart or get-cart."
},
"product_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "RentMy product ID."
},
"cart_item_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Cart item ID to remove."
}
},
"required": [
"token",
"product_id",
"cart_item_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴rentmy_apply_coupon(token, coupon, product_id, cart_item_id)
Apply a discount coupon to a cart. The spec also lists product_id and cart_item_id for this route; they are sent when given. RentMy: POST /carts/apply-coupon.
입력 스키마
{
"type": "object",
"properties": {
"token": {
"type": "string",
"minLength": 1,
"description": "Cart token from add-to-cart or get-cart."
},
"coupon": {
"type": "string",
"minLength": 1,
"description": "Coupon code."
},
"product_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "RentMy product ID."
},
"cart_item_id": {
"description": "Cart item ID, when RentMy needs it for the coupon.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"token",
"coupon"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}커뮤니티
증거