Skip to main content
Glama
dragosh29

Pitchup.com MCP server

by dragosh29

List bookings

list_bookings
Read-only

Retrieve and filter campsite bookings by arrival/departure dates, status, guest name, campsite, or external reference. Include contact details for guest emails and phones.

Instructions

Bookings (Pitchup bookings and your Reserved external bookings) with dates, status, lead guest name, party size, pitch, unit, extras, special requests and amounts. Every documented filter is available: creation and modification dates, arrival and departure dates (equals, gt, gte, lt, lte), status, first/last name, campsite, pitch, external_id. Guest emails, phones and addresses only with include_contact_details (in free text, emails, phone numbers, UK postcodes and UK registrations are redacted by default; names and street addresses are not); card details never.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
afterNoCreated after (documented `after`, which filters on the creation date of the booking; whether the given time itself is included is not documented)
pitchNoPitch ID
arriveNoArrival date equals
beforeNoCreated before (documented `before`; whether the given time itself is included is not documented)
departNoDeparture date equals
statusNoBooking status; sent as its documented numeric key (confirmed = 3, reserved = 7, ...)
campsiteNoCampsite slug
last_nameNoLast name contains
arrive__gtNoArrival date after
arrive__ltNoArrival date before
depart__gtNoDeparture date after
depart__ltNoDeparture date before
first_nameNoFirst name contains
arrive__gteNoArrival date on or after
arrive__lteNoArrival date on or before
depart__gteNoDeparture date on or after
depart__lteNoDeparture date on or before
external_idNoYour own reference for the booking
max_resultsNo
modified_afterNoModified after: new bookings, amendments and cancellations (documented `modified_after`)
modified_beforeNoModified before (documented `modified_before`)
include_contact_detailsNoInclude the structured guest email, telephone, postal address, other party members' names, vehicle registration and children's ages, and stop redacting emails, phone numbers, UK postcodes and UK registrations in free text. Without it, special requests are still returned: campsites can ask guests to write the vehicle registration and party names there, and names and street addresses in free text are not redacted

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and openWorldHint=true, and the description adds material behavior beyond that: default redaction of emails, phones, UK postcodes and UK registrations in free text, what turning include_contact_details on changes, that names and street addresses are never redacted, and that card details are never returned. It omits pagination/rate-limit behavior (max_results default 200, max 2000 is not surfaced), so not a full 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what a booking record contains, then filters, then the privacy caveat. Two dense sentences with little waste, though the parenthetical filter list and redaction clause make it long; a slightly tighter structure would read better but nothing is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly enumerates the returned fields an agent needs, covers the 22-parameter filter surface at a high level, and discloses the privacy model. Given 0 required parameters and 95% schema coverage, this is sufficient for correct invocation; only max_results behavior is left implicit in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 95%, so the schema already carries most parameter meaning and baseline 3 applies. The description adds value by grouping the filter families (creation/modification, arrival/departure with equals/gt/gte/lt/lte, status, names, campsite, pitch, external_id) and by explaining the semantic distinction of include_contact_details, which goes beyond the schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb+resource ('Bookings ... with dates, status, lead guest name, party size, pitch, unit, extras, special requests and amounts') and even clarifies the two data sources (Pitchup bookings and your Reserved external bookings). It doesn't explicitly differentiate itself from siblings like list_arrivals or list_allocations, but the content enumeration is strong enough that an agent knows this is the comprehensive booking-listing tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Every documented filter is available' plus the filter list implies this is the tool to use for filtered booking retrieval, but no alternative tool is named and there is no explicit when-not to use it. The include_contact_details guidance is the only conditional advice present. Usage is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.