usefulapi

Checkfront MCP server. Check Checkfront availability and rates, and manage booking sessions, bookings, customers and notes.

Claude

  1. Open Settings → Connectors → Add custom connector
  2. Paste this URL:
    https://checkfront.usefulapi.io/mcp
  3. Authenticate with Checkfront when prompted

Cursor · VS Code · Windsurf · Cline

Add to your MCP config, then reload & authorize:

{
  "mcpServers": {
    "checkfront": {
      "url": "https://checkfront.usefulapi.io/mcp"
    }
  }
}
live22 toolsFree 100 tool calls / monthPro $9/mo · $90/yr

Tools 22

ToolTypeWhat it does
checkfront_get_companyread
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_categoriesread
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_itemsread
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_itemread
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_calendarread
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_bookingsread
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_bookingread
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_notesread
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_formread
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_sessionread
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_customersread
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_customerread
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_eventsread
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_accountsread
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_sessionwrite
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_sessionwrite
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_bookingwrite
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_statuswrite
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_notewrite
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_bookingwrite
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_statusmeta
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_upgrademeta
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.

Pricing

PlanPriceLimit
Free$0100 tool calls / month
Proper user$9/mo · $90/yrUnlimited

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.