HolidayPitches MCP by usefulapi
Check pitch availability and bookings; create bookings and update their status in HolidayPitches.
Should I use this
Quality & Safety
Findings (2)
- LOWin holidaypitches_check_availability
- LOWin holidaypitches_update_booking_status
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"holidaypitches": {
"url": "https://holidaypitches.usefulapi.io/mcp"
}
}
}Remote endpoints
https://holidaypitches.usefulapi.io/mcpstreamable-httpWhat it can do
Tool inventory
Tools (7)
🟢holidaypitches_get_campsite
Get the campsite's name, address, contact details, season dates, business types and vocabulary labels. HolidayPitches API: GET /api/ext/v1/campsite (scope read_campsite).
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢holidaypitches_list_pitches(active)
List the campsite's pitches and units with unit type, services, dog policy, length limit and price per night. Set active to true for bookable units only. HolidayPitches API: GET /api/ext/v1/pitches (scope read_pitches).
Input Schema
{
"type": "object",
"properties": {
"active": {
"description": "true = only bookable, non-permanent units.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢holidaypitches_check_availability(arrival, departure)
List every active pitch for an arrival and departure window, with an is_available flag per pitch. HolidayPitches API: GET /api/ext/v1/availability (scope read_availability).
Input Schema
{
"type": "object",
"properties": {
"arrival": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date, YYYY-MM-DD."
},
"departure": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date, YYYY-MM-DD."
}
},
"required": [
"arrival",
"departure"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢holidaypitches_list_bookings(status, arrival_from, arrival_to, limit, offset)
List bookings with guest, pitch, dates, party size, status and cost. Filter by status or arrival window. Use offset to page; count gives the total. HolidayPitches API: GET /api/ext/v1/bookings (scope read_bookings).
Input Schema
{
"type": "object",
"properties": {
"status": {
"description": "Only bookings with this status.",
"type": "string",
"enum": [
"pending",
"confirmed",
"checked_in",
"checked_out",
"cancelled"
]
},
"arrival_from": {
"description": "Only bookings arriving on or after this date.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"arrival_to": {
"description": "Only bookings arriving on or before this date.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"limit": {
"description": "Page size (default 50, max 200).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"offset": {
"description": "Pagination offset (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢holidaypitches_get_booking(ref)
Get one booking by its reference (e.g. HP-101) or numeric id, with guest, pitch, dates, party size, status and total cost. HolidayPitches API: GET /api/ext/v1/bookings/{ref} (scope read_bookings).
Input Schema
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[A-Za-z0-9-]{1,64}$",
"description": "Booking reference (e.g. HP-101) or numeric booking id."
}
},
"required": [
"ref"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴holidaypitches_create_booking(pitch_id, arrival_date, departure_date, customer_email, customer_first_name, ...)
Create a confirmed booking for one pitch and date range. Reuses the guest account with the same email or creates one. Fails with a conflict when the pitch is taken. Adds a booking; it does not change existing ones. HolidayPitches API: POST /api/ext/v1/bookings/create (scope write_bookings).
Input Schema
{
"type": "object",
"properties": {
"pitch_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Pitch id from holidaypitches_list_pitches."
},
"arrival_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date, YYYY-MM-DD."
},
"departure_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date, YYYY-MM-DD."
},
"customer_email": {
"type": "string",
"maxLength": 320,
"pattern": "^[^\\s@]+@([^\\s@.]+\\.)+[^\\s@.]{2,}$",
"description": "Guest email address."
},
"customer_first_name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Guest first name (required)."
},
"customer_last_name": {
"description": "Guest last name.",
"type": "string",
"maxLength": 200
},
"adults": {
"description": "Adults (vendor default 1).",
"type": "integer",
"minimum": 0,
"maximum": 50
},
"children": {
"description": "Children (vendor default 0).",
"type": "integer",
"minimum": 0,
"maximum": 50
},
"dogs": {
"description": "Dogs (vendor default 0).",
"type": "integer",
"minimum": 0,
"maximum": 50
},
"notes": {
"description": "Free-text notes for the booking.",
"type": "string",
"maxLength": 2000
}
},
"required": [
"pitch_id",
"arrival_date",
"departure_date",
"customer_email",
"customer_first_name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴holidaypitches_update_booking_status(ref, status)
Move a booking to a new status. Allowed moves: pending → confirmed or cancelled; confirmed → checked_in or cancelled; checked_in → checked_out. Read the booking first with holidaypitches_get_booking. HolidayPitches API: PATCH /api/ext/v1/bookings/{ref}/status (scope write_bookings).
Input Schema
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[A-Za-z0-9-]{1,64}$",
"description": "Booking reference (e.g. HP-101) or numeric booking id."
},
"status": {
"type": "string",
"enum": [
"confirmed",
"checked_in",
"checked_out",
"cancelled"
],
"description": "New status: confirmed, checked_in, checked_out or cancelled."
}
},
"required": [
"ref",
"status"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence