{"apiVersion":"v1","directorySlug":"booksafe-mcp-9463b240f9","title":"BOOKSAFE","description":"Find trusted local businesses, compare services, and book appointments online with BOOKSAFE.","pageUrl":"https://www.mcpbundles.com/skills/booksafe-mcp-9463b240f9","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.booksafe.co.uk/mcp","hostedMcpUrl":null,"toolCount":8,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"uk.co.booksafe/booksafe-mcp-9463b240f9","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"find_business","description":"Search the BookSafe directory for bookable businesses by name/keyword and optional postcode. Returns businesses with their `slug`, which other tools need.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"query":{"type":"string"},"postcode":{"type":"string"}},"additionalProperties":false},"title":"Find a business","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"find_business","displayName":"Find a business"},{"name":"get_business","description":"Fetch a business by its `slug`, including its timezone and list of bookable services. Use a service's `id` as `serviceId` in check_availability and create_booking.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug"],"properties":{"slug":{"type":"string"}},"additionalProperties":false},"title":"Get business & services","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_business","displayName":"Get business & services"},{"name":"check_availability","description":"List bookable start times for a service on a specific date. Each slot's `startsAt` is an ISO-8601 timestamp you pass unchanged to create_booking.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug","serviceId","date"],"properties":{"date":{"type":"string"},"slug":{"type":"string"},"serviceId":{"type":"string"},"teamMemberId":{"type":"string"}},"additionalProperties":false},"title":"Check availability for a day","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"check_availability","displayName":"Check availability for a day"},{"name":"list_available_days","description":"Across a date range, return which days have any bookable slots for a service. Use this to find candidate days, then check_availability for exact times.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug","serviceId","from","to"],"properties":{"to":{"type":"string"},"from":{"type":"string"},"slug":{"type":"string"},"serviceId":{"type":"string"},"teamMemberId":{"type":"string"}},"additionalProperties":false},"title":"List days with availability","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_available_days","displayName":"List days with availability"},{"name":"create_booking","description":"Book an appointment. Requires a slug, serviceId, the customer's name and email, and an ISO-8601 `startsAt` taken from an available slot. Two-step: without confirm it returns a preview and books nothing; after the user approves, call again with confirm: true. Returns the booking reference on success.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug","serviceId","customerName","customerEmail","startsAt"],"properties":{"city":{"type":"string"},"slug":{"type":"string"},"confirm":{"type":"boolean"},"postcode":{"type":"string"},"startsAt":{"type":"string"},"serviceId":{"type":"string"},"addressLine1":{"type":"string"},"addressLine2":{"type":"string"},"customerName":{"type":"string"},"customerNote":{"type":"string"},"teamMemberId":{"type":"string"},"customerEmail":{"type":"string","format":"email"},"customerPhone":{"type":"string"}},"additionalProperties":false},"title":"Create a booking","logicalName":"create_booking","displayName":"Create a booking","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"lookup_booking","description":"Retrieve an existing booking by its reference and the email it was booked under.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["reference","email"],"properties":{"email":{"type":"string","format":"email"},"reference":{"type":"string"}},"additionalProperties":false},"title":"Look up a booking","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"lookup_booking","displayName":"Look up a booking"},{"name":"reschedule_booking","description":"Move an existing booking to a new ISO-8601 start time. Verify the new slot with check_availability first. Two-step: without confirm it returns a preview of the change and moves nothing; after the user approves, call again with confirm: true.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["reference","email","startsAt"],"properties":{"email":{"type":"string","format":"email"},"confirm":{"type":"boolean"},"startsAt":{"type":"string"},"reference":{"type":"string"}},"additionalProperties":false},"title":"Reschedule a booking","logicalName":"reschedule_booking","displayName":"Reschedule a booking","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"cancel_booking","description":"Cancel an existing booking by reference and email. Two-step: without confirm it returns a preview of what would be cancelled and cancels nothing; after the user approves, call again with confirm: true. Cancellation cannot be undone.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["reference","email"],"properties":{"email":{"type":"string","format":"email"},"confirm":{"type":"boolean"},"reference":{"type":"string"}},"additionalProperties":false},"title":"Cancel a booking","logicalName":"cancel_booking","displayName":"Cancel a booking","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=BOOKSAFE&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AuYm9va3NhZmUuY28udWsvbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22BOOKSAFE%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.booksafe.co.uk%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22BOOKSAFE%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.booksafe.co.uk%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=BOOKSAFE&connectorUrl=https%3A%2F%2Fmcp.booksafe.co.uk%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"BOOKSAFE\" --url \"https://mcp.booksafe.co.uk/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/booksafe-mcp-9463b240f9","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/booksafe-mcp-9463b240f9/tools/{tool}","mcpServerUrl":"https://mcp.booksafe.co.uk/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/booksafe-mcp-9463b240f9?live=1"}