youcanbookme
What this MCP does
Manages YouCanBook.me booking pages, bookings, appointment types, team members, locations, and connected calendars.
Tools
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['bookingId'], 'properties': {'bookingId': {'type': 'string', 'description': 'The booking id to cancel (path only; required).'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['profileId', 'name'], 'properties': {'name': {'type': 'string', 'description': 'The appointment type name (required).'}, 'fields': {'type': 'object', 'description': 'Additional documented YCBM fields to send in the JSON write body — merged OVER the typed fields above.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'profileId': {'type': 'string', 'description': 'The profile (booking page) id (path only; required).'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['profileId', 'startsAt', 'endsAt'], 'properties': {'title': {'type': 'string', 'description': 'Booking title.'}, 'units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Number of slot units to book.'}, 'endsAt': {'type': 'string', 'description': 'Booking end time, ISO 8601 (required).'}, 'fields': {'type': 'object', 'description': 'Additional documented YCBM fields to send in the JSON write body — merged OVER the typed fields above.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'locale': {'type': 'string', 'description': 'Locale for the booking (e.g. en-GB).'}, 'startsAt': {'type': 'string', 'description': 'Booking start time, ISO 8601 (required).'}, 'timeZone': {'type': 'string', 'description': 'IANA time zone for the booking (e.g. Europe/London).'}, 'profileId': {'type': 'string', 'description': 'The profile (booking page) id to book on (required).'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['profileId', 'kind', 'strategy'], 'properties': {'kind': {'type': 'string', 'description': 'The location kind/type (required).'}, 'notes': {'type': 'string', 'description': 'Notes shown with the location.'}, 'value': {'type': 'string', 'description': 'The location value (e.g. an address or link).'}, 'fields': {'type': 'object', 'description': 'Additional documented YCBM fields to send in the JSON write body — merged OVER the typed fields above.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'strategy': {'type': 'string', 'description': 'The location assignment strategy (required).'}, 'profileId': {'type': 'string', 'description': 'The profile (booking page) id (path only; required).'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['profileId', 'name'], 'properties': {'name': {'type': 'string', 'description': "The team member's display name (required)."}, 'fields': {'type': 'object', 'description': 'Additional documented YCBM fields to send in the JSON write body — merged OVER the typed fields above.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'profileId': {'type': 'string', 'description': 'The profile (booking page) id (path only; required).'}, 'calendarId': {'type': 'string', 'description': 'The calendar id to link (see list_available_accounts).'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['bookingId'], 'properties': {'fields': {'type': 'string', 'description': 'Comma-separated field paths to return (e.g. "id,title,startsAt"). Supports dotted paths for nested objects. Omit to get the default field set.'}, 'bookingId': {'type': 'string', 'description': 'The booking id.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['profileId'], 'properties': {'fields': {'type': 'string', 'description': 'Comma-separated field paths to return (e.g. "id,title,startsAt"). Supports dotted paths for nested objects. Omit to get the default field set.'}, 'profileId': {'type': 'string', 'description': 'The profile (booking page) id.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['profileId'], 'properties': {'profileId': {'type': 'string', 'description': 'The profile (booking page) id.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Pagination page number, 0-based (offset-based paging). Use with maxResults.'}, 'after': {'type': 'string', 'description': 'Only bookings starting AFTER this time (ISO 8601, e.g. 2026-07-01T00:00:00Z).'}, 'before': {'type': 'string', 'description': 'Only bookings starting BEFORE this time (ISO 8601).'}, 'fields': {'type': 'string', 'description': 'Comma-separated field paths to return (e.g. "id,title,startsAt"). Supports dotted paths for nested objects. Omit to get the default field set.'}, 'params': {'type': 'object', 'description': 'Additional documented query-string filters to send verbatim (merged with the typed params above).', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}]}}, 'cancelled': {'type': 'boolean', 'description': 'Filter by cancelled status: true = only cancelled, false = only active. Omit for all.'}, 'profileId': {'type': 'string', 'description': 'Restrict to bookings on this profile (booking page) id.'}, 'maxResults': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Maximum records per page (page size). Defaults to the API's own default when omitted."}, 'searchText': {'type': 'string', 'description': 'Free-text search across booking fields (e.g. attendee name/email).'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['profileId'], 'properties': {'profileId': {'type': 'string', 'description': 'The profile (booking page) id.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Pagination page number, 0-based (offset-based paging). Use with maxResults.'}, 'fields': {'type': 'string', 'description': 'Comma-separated field paths to return (e.g. "id,title,startsAt"). Supports dotted paths for nested objects. Omit to get the default field set.'}, 'params': {'type': 'object', 'description': 'Additional documented query-string filters to send verbatim (merged with the typed params above).', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}]}}, 'maxResults': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Maximum records per page (page size). Defaults to the API's own default when omitted."}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['profileId'], 'properties': {'profileId': {'type': 'string', 'description': 'The profile (booking page) id.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['profileId', 'appointmentTypeId'], 'properties': {'fields': {'type': 'object', 'description': 'Additional documented YCBM fields to send in the JSON write body — merged OVER the typed fields above.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'profileId': {'type': 'string', 'description': 'The profile (booking page) id (path only; required).'}, 'appointmentTypeId': {'type': 'string', 'description': 'The appointment type id to update (path only; required).'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['bookingId'], 'properties': {'title': {'type': 'string', 'description': 'New booking title.'}, 'units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'New number of slot units.'}, 'endsAt': {'type': 'string', 'description': 'New end time, ISO 8601 (reschedule).'}, 'fields': {'type': 'object', 'description': 'Additional documented YCBM fields to send in the JSON write body — merged OVER the typed fields above.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'locale': {'type': 'string', 'description': 'New locale.'}, 'noShow': {'type': 'boolean', 'description': 'Mark the attendee as a no-show (true) or not (false).'}, 'startsAt': {'type': 'string', 'description': 'New start time, ISO 8601 (reschedule).'}, 'timeZone': {'type': 'string', 'description': 'New IANA time zone.'}, 'bookingId': {'type': 'string', 'description': 'The booking id to update (path only; required).'}, 'cancelled': {'type': 'boolean', 'description': 'Set true to cancel the booking, false to un-cancel.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['profileId'], 'properties': {'fields': {'type': 'object', 'description': 'Additional documented YCBM fields to send in the JSON write body — merged OVER the typed fields above.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'profileId': {'type': 'string', 'description': 'The profile (booking page) id to update (path only; required).'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['profileId', 'teamMemberId'], 'properties': {'fields': {'type': 'object', 'description': 'Additional documented YCBM fields to send in the JSON write body — merged OVER the typed fields above.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'profileId': {'type': 'string', 'description': 'The profile (booking page) id (path only; required).'}, 'teamMemberId': {'type': 'string', 'description': 'The team member id to update (path only; required).'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['path'], 'properties': {'path': {'type': 'string', 'description': 'Full API path after the origin, starting with "/", e.g. "/v1/bookings?maxResults=5".'}}}
Recent tool changes
Similar MCP servers
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
Stable Baseline
Manages company documents, knowledge graphs, whiteboards, projects, plans, tasks, teams, and improvement workflows.
mcp
Manages Nestr workspaces, roles, circles, tensions, governance proposals, comments, daily plans, graph relationships, agents, and…
TaScan
Manages field-service projects, workers, task lists, subtasks, dispatch, geofenced work zones, inspections, remediation workflows…
Tango
Manages shared work between humans and agents through tasks, leases, handoffs, approvals, artifacts, comments, integrations, prog…
AIOProductOS MCP
Combines customer records, support conversations, feedback, product analytics, roadmaps, tasks, experiments, releases, and retent…
agendaforge
Manages events, agendas, sessions, speakers, attendees, sponsors, forms, contacts, email templates, approvals, and organizer work…
Refine Job Search
Tracks job applications, interviews, offers, recruiter email, and company openings, with Gmail synchronization and workflow actio…