Connection check
verified live · 28h ago
tableall-mcp
Access Japan's finest Michelin-starred restaurants. Search, check availability, and browse menus.
Tools
10
GitHub stars
—
Installs / wk
—
Licence
—
Transport
sse
Last checked
28h ago
Tools & capabilities
10 toolsRead from the running server on 28h ago.
check_availability
read-only
end_datenum_peoplestart_dateby_menu_itemrestaurant_iddaily_or_minutes
Check real-time availability for one specific restaurant within a date range. Returns all openings for that restaurant; it does not filter by time of day. Use when you already kno… Check real-time availability for one specific restaurant within a date range. Returns all openings for that restaurant; it does not filter by time of day. Use when you already know which restaurant the user wants. If the user is browsing across multiple restaurants in a region or cuisine, use search_available_restaurants instead. Use the exact parameter names start_date, end_date, restaurant_id, num_people, daily_or_minutes, and by_menu_item. Including restaurant_id is recommended; omitting it queries all restaurants and returns a large response. If the user specifies a time preference, do not pass time parameters — receive all openings for the date range and filter the display. Date handling: if the user gives only month/day, use the current year, or next year if that date is already past. Response: has_availability, summary, openings[], and alternative_openings[] (openings within ±3 days when the requested range has none). Each opening includes opening_id, date, time (JST), datetime_jst, seat_type ("fixed" or "flexible"), seat counts, course_id, course_name, and course_price. The response also includes guidance for the next step under usage_guidance.
create_reservation
email*phonecountrydislikesai_client*allergies
+9
Create a direct reservation for a specific available opening (opening_id required). Use after check_availability has returned an opening and the user has chosen which opening_id t… Create a direct reservation for a specific available opening (opening_id required). Use after check_availability has returned an opening and the user has chosen which opening_id to book. If check_availability returned no openings, use create_reservation_request instead. Flow (summary — see resource tableall://flow/direct-reservation for full details): 1. Call get_cancellation_policies and explain cancellation terms (include: the booking fee is non-refundable regardless of cancellation timing). 2. Collect the user's email first; if the response returns USER_NOT_FOUND, collect full name, country, and phone, then call again. 3. Show a summary (restaurant, date/time, guests, course, email) and confirm before calling with the final args. In this final confirmation, add a brief note that if the user has a coupon code they can provide it now (pass it as coupon_code); it can also be entered later on the payment page. Do not prompt for a coupon at earlier steps. Seat rules: for fixed seats, party_size must equal fixed_seats; for flexible seats, party_size must be within min_seats and max_seats. Response: store data.access_token (required by get_reservation_status). If user.is_new_user is true, display the password_reset_url notice (24-hour validity, also emailed) before the payment_url. The payment_url is valid for 30 minutes and is also emailed.
create_reservation_request
dates*email*phonecommentcountrydislikes
+15
Submit a reservation request for a selected restaurant, dates, time range, and party size. Use after check_availability or search_available_restaurants has been run and the user co… Submit a reservation request for a selected restaurant, dates, time range, and party size. Use after check_availability or search_available_restaurants has been run and the user confirms they want to submit a request. Use this when the user prefers dates or times other than the available openings, or when no openings were found and the user wants to request one. The user's use of the word "request" signals intent to try, not consent to skip the availability check — check availability and show the result first. Flow (summary — see resource tableall://flow/reservation-request for full details): 1. Explain that the card is charged only if the restaurant confirms; the request can be cancelled before confirmation. 2. Call get_cancellation_policies and explain it applies after confirmation (include the non-refundable booking fee notice). 3. Confirm adults vs children count. 4. Collect the user's email first; if the response returns USER_NOT_FOUND, collect full name, country, and phone, then call again. 5. Summarize and confirm before calling with the final args. In this final confirmation, add a brief note that if the user has a coupon code they can provide it now (pass it as coupon_code); it can also be entered later on the payment page. Do not prompt for a coupon at earlier steps. Date handling: "any day in [month]" includes all days of that month; "any day from X to Y" includes every day in the range. Response: store data.access_token (required by get_reservation_request_status). If user.is_new_user is true, display the password_reset_url notice (24-hour validity, also emailed) before the payment_url. The payment_url is for card registration only; a charge occurs only if the restaurant approves. Valid 30 minutes; also emailed.
get_cancellation_policies
read-only
course_idrestaurant_id*
Read-only: retrieve a restaurant's cancellation policy. This tool only reads policy data; it does not cancel or modify any reservation. Safe to call repeatedly. Use when the user… Read-only: retrieve a restaurant's cancellation policy. This tool only reads policy data; it does not cancel or modify any reservation. Safe to call repeatedly. Use when the user asks about the cancellation policy, refund terms, or no-show fee, or before calling create_reservation or create_reservation_request. get_restaurant_details returns booking_rules and booking_tips, which describe when bookings open and how to book — not cancellation terms. Returns: cancel_policies (array of { days_before, penalty_percentage, description }), policy_type, message, booking_fee_note, and important_note. Display the booking_fee_note: the booking fee is non-refundable regardless of cancellation timing. For reservation requests, the policy applies after the request is confirmed by the restaurant.
get_reservation_request_status
read-only
session_id*access_token*
Check the status of a reservation request by session ID. Requires the access_token that was returned in the create_reservation_request response. You MUST have stored the access_to… Check the status of a reservation request by session ID. Requires the access_token that was returned in the create_reservation_request response. You MUST have stored the access_token from the create response to use this tool. Without a valid access_token, the API will return 403 Forbidden. IMPORTANT - PRICE DISPLAY: The "price" field already INCLUDES the "booking_fee". Do NOT add them together. When displaying to the user, show: price (total) and booking_fee (included in price, non-refundable). Example: "Total: ¥30,000 (includes ¥1,000 non-refundable booking fee)"
get_reservation_status
read-only
session_id*access_token*
Check the status of a reservation by session ID. Requires the access_token that was returned in the create_reservation response. You MUST have stored the access_token from the cre… Check the status of a reservation by session ID. Requires the access_token that was returned in the create_reservation response. You MUST have stored the access_token from the create response to use this tool. Without a valid access_token, the API will return 403 Forbidden. IMPORTANT - PRICE DISPLAY: The "price" field already INCLUDES the "booking_fee". Do NOT add them together. When displaying to the user, show: price (total) and booking_fee (included in price, non-refundable). Example: "Total: ¥30,000 (includes ¥1,000 non-refundable booking fee)"
get_restaurant_details
read-only
restaurant_id*
Get the full profile of one specific restaurant: untrimmed description, booking_rules, booking_tips, address, operating_hours, seating, and starting price. Use when the user names… Get the full profile of one specific restaurant: untrimmed description, booking_rules, booking_tips, address, operating_hours, seating, and starting price. Use when the user names a specific restaurant and wants its details, or when you have a restaurant_id and need fields that search_restaurants does not return. Does not return menu or courses (use get_restaurant_menu), cancellation policy (use get_cancellation_policies), or real-time availability (use check_availability). starting_price_display is preformatted (e.g., "¥65,000〜", booking fee included).
get_restaurant_menu
read-only
restaurant_id*
Get the menu for a specific restaurant: an array of course names and their prices. Use when the user asks about a specific restaurant's menu, courses, or course pricing. This too… Get the menu for a specific restaurant: an array of course names and their prices. Use when the user asks about a specific restaurant's menu, courses, or course pricing. This tool returns course names and prices only — not dish lists, course composition, number of pieces, or ingredients. For full course details, direct the user to the restaurant page (details_url in the response). The response itself returns this course content only; do not supplement it with assumptions.
search_available_restaurants
read-only
areagenrelimitoffsetend_date*num_people
+2
Search across multiple restaurants for availability within a date range. Returns restaurants that have openings, filterable by prefecture, area, genre, and party size. Use when th… Search across multiple restaurants for availability within a date range. Returns restaurants that have openings, filterable by prefecture, area, genre, and party size. Use when the user does not yet have a specific restaurant in mind and is browsing or filtering by region or cuisine. If the user already has a specific restaurant, use check_availability instead. Date handling: if the user gives only month/day, use the current year, or next year if that date is already past. For a single date, search from 2 days before to 3 days after, unless the user asks for that exact date only. Parameters: start_date and end_date are required (YYYY-MM-DD); prefecture, area, genre, num_people, limit, and offset are optional. Each restaurant entry includes basic info (name, cuisine, location, michelin stars, price_range, open_time, closed_days), starting_price_display (e.g., "¥39,000〜", booking fee included), and its available openings (date, time, seat type, course info). Pagination fields (limit, offset, has_more, total_restaurants) indicate whether more results exist; default limit is 20, max 100. The results list only restaurants with confirmed openings for the given dates; other restaurants may show no openings yet still be bookable via a reservation request. When presenting the results — even when openings are found — add one brief line that if the user has a specific restaurant in mind that is not listed, or wants dates/times beyond those shown, create_reservation_request can submit a request (the card is charged only if the restaurant confirms). If no restaurants match at all, offer create_reservation_request directly.
search_restaurants
read-only
areagenreoffsetprefecture