Skip to main content
Glama

Server Details

Manage YouCanBook.me bookings, booking pages, appointment types, team members and locations.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.

Tool Definition Quality

Score is being calculated. Check back soon.

Available Tools

18 tools
cancel_bookingCancel a booking
Destructive
Inspect

MUTATES YouCanBookMe data: cancels a booking. Convenience wrapper for PATCH /v1/bookings/{bookingId} with { cancelled: true } — safer and reversible (re-activate via update_booking cancelled=false) versus deleting. Returns the updated booking.

ParametersJSON Schema
NameRequiredDescriptionDefault
bookingIdYesThe booking id to cancel (path only; required).
create_appointment_typeCreate an appointment type
Destructive
Inspect

MUTATES YouCanBookMe data: adds an appointment type to a profile. YCBM API: POST /v1/profiles/{profileId}/appointmenttypes/items (JSON). Required: name; use the fields passthrough for description, slotLength, price, etc. The path profileId is never sent in the body.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe appointment type name (required).
fieldsNoAdditional documented YCBM fields to send in the JSON write body — merged OVER the typed fields above.
profileIdYesThe profile (booking page) id (path only; required).
create_bookingCreate a booking
Destructive
Inspect

MUTATES YouCanBookMe data: creates a booking (appointment) on a profile. YCBM API: POST /v1/bookings (JSON). Required: profileId, startsAt, endsAt (ISO 8601 times). Optional: title, timeZone, locale, units. Complex fields like answers (form-field answers) and linkFields should be passed via the fields passthrough. Returns the created booking.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoBooking title.
unitsNoNumber of slot units to book.
endsAtYesBooking end time, ISO 8601 (required).
fieldsNoAdditional documented YCBM fields to send in the JSON write body — merged OVER the typed fields above.
localeNoLocale for the booking (e.g. en-GB).
startsAtYesBooking start time, ISO 8601 (required).
timeZoneNoIANA time zone for the booking (e.g. Europe/London).
profileIdYesThe profile (booking page) id to book on (required).
create_locationAdd a location
Destructive
Inspect

MUTATES YouCanBookMe data: adds a location to a profile. YCBM API: POST /v1/profiles/{profileId}/locations (JSON). Required: kind (location type) and strategy (how it is assigned). Use the fields passthrough for value, notes, and other documented fields. The path profileId is never sent in the body.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYesThe location kind/type (required).
notesNoNotes shown with the location.
valueNoThe location value (e.g. an address or link).
fieldsNoAdditional documented YCBM fields to send in the JSON write body — merged OVER the typed fields above.
strategyYesThe location assignment strategy (required).
profileIdYesThe profile (booking page) id (path only; required).
create_team_memberAdd a team member
Destructive
Inspect

MUTATES YouCanBookMe data: adds a team member to a profile. YCBM API: POST /v1/profiles/{profileId}/teammembers/items (JSON). Required: name; calendarId links the member to a calendar (find it via list_available_accounts). Use the fields passthrough for email, description, pic, etc. The path profileId is never sent in the body.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe team member's display name (required).
fieldsNoAdditional documented YCBM fields to send in the JSON write body — merged OVER the typed fields above.
profileIdYesThe profile (booking page) id (path only; required).
calendarIdNoThe calendar id to link (see list_available_accounts).
get_bookingGet a booking
Read-only
Inspect

Fetch a single booking (appointment) by id. YCBM API: GET /v1/bookings/{bookingId}. Use fields to select which fields to return. Returns the booking object.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoComma-separated field paths to return (e.g. "id,title,startsAt"). Supports dotted paths for nested objects. Omit to get the default field set.
bookingIdYesThe booking id.
get_profileGet a profile (booking page)
Read-only
Inspect

Fetch a single profile (booking page) by id. YCBM API: GET /v1/profiles/{profileId}. Use fields to select fields, including nested sub-resources (appointmentTypes, teamMembers, locations). Returns the profile object.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoComma-separated field paths to return (e.g. "id,title,startsAt"). Supports dotted paths for nested objects. Omit to get the default field set.
profileIdYesThe profile (booking page) id.
list_appointment_typesList a profile's appointment types
Read-only
Inspect

List the appointment types configured on a profile (booking page). YCBM API: GET /v1/profiles/{profileId} with an appointmentTypes field selection. Returns the profile's appointmentTypes block (each with id, name, description, slotLength, price).

ParametersJSON Schema
NameRequiredDescriptionDefault
profileIdYesThe profile (booking page) id.
list_available_accountsList available accounts (calendars)
Read-only
Inspect

List the accounts/calendars available to your account — used to find the calendarId for a team member. YCBM API: GET /v1/{accountId}/availableAccounts (accountId is taken from your configured credentials). Returns a JSON array.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

list_bookingsList bookings
Read-only
Inspect

List bookings (appointments) on the YouCanBookMe account. YCBM API: GET /v1/bookings. Filter by profileId (booking page), an after/before time window, cancelled status, and a free-text searchText; select fields with fields. Paginated via page (0-based) + maxResults. Returns a JSON array of bookings.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPagination page number, 0-based (offset-based paging). Use with maxResults.
afterNoOnly bookings starting AFTER this time (ISO 8601, e.g. 2026-07-01T00:00:00Z).
beforeNoOnly bookings starting BEFORE this time (ISO 8601).
fieldsNoComma-separated field paths to return (e.g. "id,title,startsAt"). Supports dotted paths for nested objects. Omit to get the default field set.
paramsNoAdditional documented query-string filters to send verbatim (merged with the typed params above).
cancelledNoFilter by cancelled status: true = only cancelled, false = only active. Omit for all.
profileIdNoRestrict to bookings on this profile (booking page) id.
maxResultsNoMaximum records per page (page size). Defaults to the API's own default when omitted.
searchTextNoFree-text search across booking fields (e.g. attendee name/email).
list_locationsList a profile's locations
Read-only
Inspect

List the locations configured on a profile (booking page). YCBM API: GET /v1/profiles/{profileId} with a locations field selection. Returns the profile's locations block (each with id, kind, value, notes, strategy).

ParametersJSON Schema
NameRequiredDescriptionDefault
profileIdYesThe profile (booking page) id.
list_profilesList profiles (booking pages)
Read-only
Inspect

List all profiles (booking pages) on the account. YCBM API: GET /v1/profiles. A profile is a bookable page with its own subdomain, appointment types, team members, and locations. Use fields to select fields (e.g. "id,title,subdomain"). Paginated via page (0-based) + maxResults. Returns a JSON array of profiles.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPagination page number, 0-based (offset-based paging). Use with maxResults.
fieldsNoComma-separated field paths to return (e.g. "id,title,startsAt"). Supports dotted paths for nested objects. Omit to get the default field set.
paramsNoAdditional documented query-string filters to send verbatim (merged with the typed params above).
maxResultsNoMaximum records per page (page size). Defaults to the API's own default when omitted.
list_team_membersList a profile's team members
Read-only
Inspect

List the team members configured on a profile (booking page). YCBM API: GET /v1/profiles/{profileId} with a teamMembers field selection. Returns the profile's teamMembers block (each member has id, name, email, description, pic, calendarId).

ParametersJSON Schema
NameRequiredDescriptionDefault
profileIdYesThe profile (booking page) id.
update_appointment_typeUpdate an appointment type
Destructive
Inspect

MUTATES YouCanBookMe data: updates an appointment type on a profile. YCBM API: PATCH /v1/profiles/{profileId}/appointmenttypes/items/{appointmentTypeId} (JSON, partial update). Pass changed fields (name, description, slotLength, price, ...) via the fields passthrough. Path ids are never sent in the body.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoAdditional documented YCBM fields to send in the JSON write body — merged OVER the typed fields above.
profileIdYesThe profile (booking page) id (path only; required).
appointmentTypeIdYesThe appointment type id to update (path only; required).
update_bookingUpdate a booking
Destructive
Inspect

MUTATES YouCanBookMe data: updates an existing booking (reschedule, rename, mark cancelled/no-show). YCBM API: PATCH /v1/bookings/{bookingId} (JSON, partial update). Set any of title/startsAt/endsAt/cancelled/noShow/timeZone/locale/units; use the fields passthrough for answers/linkFields or other documented fields. The path id is never sent in the body.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoNew booking title.
unitsNoNew number of slot units.
endsAtNoNew end time, ISO 8601 (reschedule).
fieldsNoAdditional documented YCBM fields to send in the JSON write body — merged OVER the typed fields above.
localeNoNew locale.
noShowNoMark the attendee as a no-show (true) or not (false).
startsAtNoNew start time, ISO 8601 (reschedule).
timeZoneNoNew IANA time zone.
bookingIdYesThe booking id to update (path only; required).
cancelledNoSet true to cancel the booking, false to un-cancel.
update_profileUpdate a profile (booking page)
Destructive
Inspect

MUTATES YouCanBookMe data: updates a profile's (booking page) configuration. YCBM API: PATCH /v1/profiles/{profileId} (JSON, partial update). Pass the fields to change via the fields passthrough (e.g. { title, subdomain, ... }) — profile fields are numerous and use YCBM's own names. The path id is never sent in the body.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoAdditional documented YCBM fields to send in the JSON write body — merged OVER the typed fields above.
profileIdYesThe profile (booking page) id to update (path only; required).
update_team_memberUpdate a team member
Destructive
Inspect

MUTATES YouCanBookMe data: updates a team member on a profile. YCBM API: PATCH /v1/profiles/{profileId}/teammembers/items/{teamMemberId} (JSON, partial update). Pass changed fields (name, email, description, calendarId, ...) via the fields passthrough. Path ids are never sent in the body.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoAdditional documented YCBM fields to send in the JSON write body — merged OVER the typed fields above.
profileIdYesThe profile (booking page) id (path only; required).
teamMemberIdYesThe team member id to update (path only; required).
youcanbookme_requestRaw read request
Read-only
Inspect

Power-user escape hatch: GET any YCBM API path not wrapped by a dedicated tool. READ-ONLY — only GET is allowed. Pass the FULL API path after the origin, starting with a slash, INCLUDING any query string, e.g. "/v1/bookings?maxResults=5" or "/v1/profiles". Returns the parsed JSON.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesFull API path after the origin, starting with "/", e.g. "/v1/bookings?maxResults=5".

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.