{
  "service": "home-booking",
  "version": "0.1.0",
  "endpoint": "https://mcp.office.ihousejapan.net/mcp",
  "generatedAt": "2026-11-12T03:01:06.499Z",
  "format": "MCP_tools_list_not_vendor_manifest",
  "tools": [
    {
      "name": "get_service_capabilities",
      "title": "Home-booking 服务能力 / Service capabilities",
      "description": "分别查看门店数、房型数、来源配置客房总数，以及数据来源和实际可用功能。首次使用或判断能否真实预订时调用。 Inspect supported languages, actual capabilities, catalog counts and source timestamps. Call before deciding whether a booking can be completed.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "locale": {
            "default": "zh-CN",
            "type": "string",
            "enum": [
              "zh-CN",
              "zh-TW",
              "ja",
              "en",
              "ko"
            ]
          }
        },
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "search_properties",
      "title": "搜索大阪门店 / Search Osaka properties",
      "description": "按门店分组搜索大阪住宿设施，筛选人数、设施和展示起价。total 是门店数，不是客房数；要逐个房型比较请用 search_room_types。结果不代表指定日期可订。 Search facilities by keyword, guests, amenities and advertised starting price. total counts facilities. Results do not confirm availability for specific dates.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "propertyId": {
            "description": "Optional exact property ID, to list room types inside a specific property.",
            "type": "string",
            "minLength": 1
          },
          "district": {
            "description": "Exact source district code; keeps area filtering separate from keyword search.",
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "query": {
            "description": "Property name, Osaka/大阪, area, address, or keyword in any source language.",
            "type": "string",
            "maxLength": 200
          },
          "guests": {
            "description": "Guests in ONE room; capacity is matched per room.",
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "amenities": {
            "description": "All codes must match the SAME room, e.g. wifi, kitchen, washer, elevator.",
            "maxItems": 20,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 50
            }
          },
          "maxStartingPriceJpy": {
            "description": "Filter advertised starting prices only, never a date-specific budget guarantee.",
            "type": "number",
            "minimum": 0
          },
          "locale": {
            "default": "zh-CN",
            "description": "Response language: zh-CN Simplified Chinese, zh-TW Traditional Chinese, en English, ja Japanese, ko Korean. Source text may fall back when a translation is missing.",
            "type": "string",
            "enum": [
              "zh-CN",
              "zh-TW",
              "ja",
              "en",
              "ko"
            ]
          },
          "limit": {
            "default": 10,
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          },
          "offset": {
            "default": 0,
            "type": "integer",
            "minimum": 0,
            "maximum": 100000
          }
        },
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "search_room_types",
      "title": "搜索大阪房型 / Search Osaka room types",
      "description": "逐个房型列出可比较的住宿选项，可限定 propertyId 查看一家门店的全部房型。返回所属门店和来源配置客房数。total 为房型数；declaredUnitCount 不是实时余房。支持人数、设施、展示起价和分页。 Compare individual room types, optionally within one property. total counts room types; declaredUnitCount is not live availability. Supports pagination.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "propertyId": {
            "description": "Optional exact property ID, to list room types inside a specific property.",
            "type": "string",
            "minLength": 1
          },
          "district": {
            "description": "Exact source district code; keeps area filtering separate from keyword search.",
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "query": {
            "description": "Property name, Osaka/大阪, area, address, or keyword in any source language.",
            "type": "string",
            "maxLength": 200
          },
          "guests": {
            "description": "Guests in ONE room; capacity is matched per room.",
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "amenities": {
            "description": "All codes must match the SAME room, e.g. wifi, kitchen, washer, elevator.",
            "maxItems": 20,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 50
            }
          },
          "maxStartingPriceJpy": {
            "description": "Filter advertised starting prices only, never a date-specific budget guarantee.",
            "type": "number",
            "minimum": 0
          },
          "locale": {
            "default": "zh-CN",
            "description": "Response language: zh-CN Simplified Chinese, zh-TW Traditional Chinese, en English, ja Japanese, ko Korean. Source text may fall back when a translation is missing.",
            "type": "string",
            "enum": [
              "zh-CN",
              "zh-TW",
              "ja",
              "en",
              "ko"
            ]
          },
          "limit": {
            "default": 10,
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          },
          "offset": {
            "default": 0,
            "type": "integer",
            "minimum": 0,
            "maximum": 100000
          }
        },
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "get_property",
      "title": "查看房源详情 / Property details",
      "description": "使用搜索返回的 propertyId 获取地址、交通、图片链接、房型、设施及资料采集时间。 Use a propertyId from search to retrieve localized descriptions, address, access, photos, room types, facilities and collection timestamp.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "propertyId": {
            "type": "string",
            "minLength": 1
          },
          "locale": {
            "default": "zh-CN",
            "type": "string",
            "enum": [
              "zh-CN",
              "zh-TW",
              "ja",
              "en",
              "ko"
            ]
          }
        },
        "required": [
          "propertyId"
        ],
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "get_property_policies",
      "title": "查看入住规则 / Stay policies",
      "description": "查看来源网站展示的入住退房时间、房屋规则、儿童政策及取消提前天数。取消规则不等于所选价格计划的最终条件。 Retrieve published check-in/out times and house rules. Source cancellation information is not the verified cancellation terms of a quote.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "propertyId": {
            "type": "string",
            "minLength": 1
          },
          "locale": {
            "default": "zh-CN",
            "type": "string",
            "enum": [
              "zh-CN",
              "zh-TW",
              "ja",
              "en",
              "ko"
            ]
          }
        },
        "required": [
          "propertyId"
        ],
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "check_availability",
      "title": "核验房态连接状态 / Check inventory connection",
      "description": "核验日期和房型容量并查询库存适配器。目前未连接实时库存，明确返回 unknown，不能据此确认可订。 Validate dates and per-room capacity, then consult the inventory adapter. Currently returns unknown because live inventory is not connected. Do not claim availability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "propertyId": {
            "type": "string",
            "minLength": 1
          },
          "roomId": {
            "type": "string",
            "minLength": 1
          },
          "checkIn": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Japan local date YYYY-MM-DD"
          },
          "checkOut": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "guests": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "locale": {
            "default": "zh-CN",
            "type": "string",
            "enum": [
              "zh-CN",
              "zh-TW",
              "ja",
              "en",
              "ko"
            ]
          }
        },
        "required": [
          "propertyId",
          "checkIn",
          "checkOut",
          "guests"
        ],
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "submit_booking_request",
      "title": "提交预订申请 / Submit booking request",
      "description": "获得用户同意后记录入住日期、房型、姓名和联系邮箱，建立我们代订的申请。不会收费、锁房或向酒店下单。需客户身份；同一申请重复调用必须沿用 idempotencyKey。不要收集卡号或护照。 After explicit user consent, record dates, room type, guest name and contact email. Requires customer authentication. Does not charge, hold a room or book with the property. Reuse idempotencyKey for retries. Never request card or passport details.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "propertyId": {
            "type": "string",
            "minLength": 1
          },
          "roomId": {
            "type": "string",
            "minLength": 1
          },
          "checkIn": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Japan local date YYYY-MM-DD"
          },
          "checkOut": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "guests": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "guestName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 150
          },
          "email": {
            "type": "string",
            "maxLength": 254,
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
          },
          "phone": {
            "type": "string",
            "pattern": "^[+\\d ()-]{5,30}$"
          },
          "channel": {
            "type": "string",
            "enum": [
              "doubao",
              "meta_muse",
              "other"
            ]
          },
          "idempotencyKey": {
            "type": "string",
            "minLength": 16,
            "maxLength": 150
          },
          "consentToContact": {
            "type": "boolean",
            "const": true
          },
          "locale": {
            "default": "zh-CN",
            "type": "string",
            "enum": [
              "zh-CN",
              "zh-TW",
              "ja",
              "en",
              "ko"
            ]
          }
        },
        "required": [
          "propertyId",
          "roomId",
          "checkIn",
          "checkOut",
          "guests",
          "guestName",
          "email",
          "channel",
          "idempotencyKey",
          "consentToContact"
        ],
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "get_booking_order",
      "title": "查询我的预订订单 / Get my booking order",
      "description": "查看自己的申请状态、报价、收款退款进度及酒店确认号。requested/quoted/supplier_pending 均不是预订成功。 Read only the authenticated customer’s order, quote, recorded payments/refunds and property reference. Pending or quoted orders are not confirmed bookings.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string",
            "minLength": 1
          },
          "locale": {
            "default": "zh-CN",
            "type": "string",
            "enum": [
              "zh-CN",
              "zh-TW",
              "ja",
              "en",
              "ko"
            ]
          }
        },
        "required": [
          "orderId"
        ],
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "list_my_booking_orders",
      "title": "查询我的订单记录 / List my booking orders",
      "description": "仅列出当前已认证客户自己的订单记录。 List only the authenticated customer’s own order records.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "default": 20,
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          },
          "locale": {
            "default": "zh-CN",
            "type": "string",
            "enum": [
              "zh-CN",
              "zh-TW",
              "ja",
              "en",
              "ko"
            ]
          }
        },
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "accept_booking_quote",
      "title": "确认预订报价 / Accept booking quote",
      "description": "先展示所选房型、日期、日元总价及取消条款，获得用户明确同意后接受指定 quoteId。仅进入等待向我们付款的状态，不扣款，不代表酒店确认。报价变化或过期必须重新取得用户同意。 Show room, dates, full JPY total, expiry and original cancellation terms. Obtain explicit user approval for this quoteId. Accepting a quote only moves to awaiting payment; it does not charge or confirm a booking. Changed or expired quotes require fresh approval.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string",
            "minLength": 1
          },
          "quoteId": {
            "type": "string",
            "minLength": 1
          },
          "confirmed": {
            "type": "boolean",
            "const": true
          },
          "locale": {
            "default": "zh-CN",
            "type": "string",
            "enum": [
              "zh-CN",
              "zh-TW",
              "ja",
              "en",
              "ko"
            ]
          }
        },
        "required": [
          "orderId",
          "quoteId",
          "confirmed"
        ],
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    },
    {
      "name": "request_booking_cancellation",
      "title": "申请取消预订 / Request booking cancellation",
      "description": "用户明确要求后申请取消自己的订单。已收款或已向酒店下单时需核实酒店取消及退款，不会立即退款，也不能声称酒店已取消。 Only after the customer explicitly asks, request cancellation of their own order. Property cancellation and refunds must be verified separately; do not claim an immediate refund or property cancellation.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string",
            "minLength": 1
          },
          "locale": {
            "default": "zh-CN",
            "type": "string",
            "enum": [
              "zh-CN",
              "zh-TW",
              "ja",
              "en",
              "ko"
            ]
          }
        },
        "required": [
          "orderId"
        ],
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "execution": {
        "taskSupport": "forbidden"
      }
    }
  ],
  "resources": [
    {
      "name": "capabilities",
      "title": "Home-booking capabilities",
      "uri": "home-booking://capabilities",
      "mimeType": "application/json"
    },
    {
      "name": "service-guide-zh-CN",
      "title": "Home-booking service guide (zh-CN)",
      "uri": "home-booking://service-guide/zh-CN",
      "mimeType": "application/json"
    },
    {
      "name": "service-guide-zh-TW",
      "title": "Home-booking service guide (zh-TW)",
      "uri": "home-booking://service-guide/zh-TW",
      "mimeType": "application/json"
    },
    {
      "name": "service-guide-ja",
      "title": "Home-booking service guide (ja)",
      "uri": "home-booking://service-guide/ja",
      "mimeType": "application/json"
    },
    {
      "name": "service-guide-en",
      "title": "Home-booking service guide (en)",
      "uri": "home-booking://service-guide/en",
      "mimeType": "application/json"
    },
    {
      "name": "service-guide-ko",
      "title": "Home-booking service guide (ko)",
      "uri": "home-booking://service-guide/ko",
      "mimeType": "application/json"
    }
  ]
}
