Checkfront MCP server. Check Checkfront availability and rates, and manage booking sessions, bookings, customers and notes.
Add to your MCP config, then reload & authorize:
{
"mcpServers": {
"checkfront": {
"url": "https://checkfront.usefulapi.io/mcp"
}
}
}| Tool | Type | What it does |
|---|---|---|
checkfront_get_company | read | Get company settings Fetch the connected Checkfront account's company configuration — name, URL, plan, currency, timezone, locale and date/time formats. A cheap way to confirm the host and credentials work. Checkfront: GET /api/3.0/company. |
checkfront_list_categories | read | List item categories List the inventory categories (e.g. Tours, Rentals, Accommodations) with their ids, names, display order and item counts. Checkfront: GET /api/3.0/category. |
checkfront_list_items | read | List inventory items List the enabled inventory items (tours, activities, rentals, rooms). With NO dates this is the plain catalogue. Pass start_date (and end_date / param quantities) to get a RATED response: per-item availability, pricing and a SLIP token — the SLIP is what checkfront_add_to_booking_session needs to book the item. Checkfront: GET /api/3.0/item. |
checkfront_get_item | read | Get an item Fetch one inventory item's details. Pass start_date / end_date and param quantities (e.g. {"adults": 2}) for a RATED response with availability (rate.status, rate.available), the price breakdown and the SLIP used to book it. For parent/child grouped items, rate the CHILD item. Checkfront: GET /api/3.0/item/{item_id}. |
checkfront_get_availability_calendar | read | Get an availability calendar Day-by-day available inventory over a date range — for one item (item_ids with a single id), several items, or a whole category. Use it to answer 'which days next month still have space?'. Checkfront: GET /api/3.0/item/{item_id}/cal or GET /api/3.0/item/cal. |
checkfront_list_bookings | read | List bookings List bookings, newest filters first — by status, customer, dates, item or partner. Each row has the booking code, status, totals (total, tax_total, paid_total), customer name/email, summary and date_desc. Paged (default 100/page); the response's request.pages tells you how many pages exist. Checkfront: GET /api/3.0/booking/index. |
checkfront_get_booking | read | Get a booking Fetch extended information on one booking — status, dates, customer, form fields, line items and totals. Checkfront: GET /api/3.0/booking/{booking_id}. |
checkfront_list_booking_notes | read | List booking notes List the notes left on bookings across the account (default: the past 30 days), each with its booking code, author account id (0 = customer), date, body and whether it is private. Checkfront: GET /api/3.0/booking/notes. |
checkfront_get_booking_form | read | Get the booking form fields Fetch the customer-details form for a booking (booking_form_ui): every field id (customer_name, customer_email, …), its label, type and whether it is required. Call this before checkfront_create_booking to know which `form` fields to send. Checkfront: GET /api/3.0/booking/form. |
checkfront_get_booking_session | read | Get a booking session Read a booking session — the in-progress 'cart' — with its line items (keyed by line_id), dates, sub_total, tax, total and amount due. Checkfront: GET /api/3.0/booking/session. |
checkfront_search_customers | read | Search customers Look up customers by exact email, full name or phone number (exact matches; non-unique fields such as name can return several). Results are in the `customers` object. Checkfront: GET /api/3.0/customer. |
checkfront_get_customer | read | Get a customer Fetch one customer's contact details and their bookings (codes with created dates). Checkfront: GET /api/3.0/customer/{customer_id}. |
checkfront_list_events | read | List events List the date-based events that change price or availability — seasonal rates (SE), specials (SP), discounts (DC), closures (status U) — with their dates, recurrence, pricing rule and the items/categories they apply to. Checkfront: GET /api/3.0/event. |
checkfront_list_staff_accounts | read | List staff accounts List the staff (and partner) accounts on the Checkfront account — ids, names, emails, login ids and whether enabled. The account_id is what CHECKFRONT_ON_BEHALF takes. Checkfront: GET /api/3.0/account. |
checkfront_add_to_booking_session | write | Add items to a booking session Start or modify a booking session: add one or more SLIPs (from a rated checkfront_get_item / checkfront_list_items call), replace a line with a new SLIP (line_id + slip), or alter lines (quantity, 'remove', 'optin'/'optout' for package add-ons). Holds the inventory while the session is open; NOTHING is booked until checkfront_create_booking. Returns the session_id to reuse. Checkfront: POST /api/3.0/booking/session. |
checkfront_end_booking_session | write | End or clear a booking session Abandon a booking session: 'clear' empties its items, 'end' closes it. Releases the inventory it was holding; no booking is affected. Checkfront: POST /api/3.0/booking/session/clear or /booking/session/end. |
checkfront_create_booking | write | Create a booking Commit a booking: from a session_id (built with checkfront_add_to_booking_session) or directly from SLIPs, plus the customer form fields (see checkfront_get_booking_form for which are required — typically customer_name and customer_email). Creates a real reservation that consumes inventory and may notify the customer; change it later with checkfront_update_booking_status. Returns the new booking's ids and any invoice/payment URL. Checkfront: POST /api/3.0/booking/create. |
checkfront_update_booking_status | write | Change a booking's status Set a booking's status — e.g. confirm a pending booking (PAID/PART), put it on HOLD or WAIT(list), or cancel it (VOID/STOP). Reversible: set it back to the previous status the same way. Does NOT record a payment. Optionally triggers the account's customer notifications. Checkfront: POST /api/3.0/booking/{booking_id}/update. |
checkfront_add_booking_note | write | Add a note to a booking Add a note to a booking, logged under the staff account the API acts on behalf of. Checkfront: POST /api/3.0/booking/{booking_id}/note. |
checkfront_check_in_booking | write | Check a booking in or out Mark a guest as arrived (check in) or departed (check out). Checkfront adds a note under the acting account. VOID and cancelled bookings cannot be checked in or out. Checkfront: POST /api/3.0/booking/{booking_id}/checkin or /checkout. |
checkfront_usage_status | Usage status (free-tier meter) Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter. | |
checkfront_upgrade | Upgrade to Pro (unlimited) Subscribe to the Pro plan for UNLIMITED Checkfront tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Read-only; does not count against the meter. |
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 100 tool calls / month |
| Proper user | $9/mo · $90/yr | Unlimited |
This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.