Appointedd MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.12.4Updated Nov 7, 2026

Read Appointedd bookings, customers and availability; create, change and cancel bookings.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableProductivity & WorkflowBusiness & Commerce

Overview

AI-generated overview

Hosted Appointedd connector that lets an assistant read bookings, customers and availability, and create, change or cancel bookings.

What you can do
  • List and inspect bookings, with filters by time window, customer, service, resource, category or status
  • List and look up customers in the CRM, including contact details, tags and custom fields
  • List services, service categories, resources and resource groups, and get details of a service
  • Search availability: which days have openings and which start times are free for a service
  • Create and update customers, hold a slot with a reservation, then create a booking for one or more customers
  • Update or cancel bookings and individual customers on a booking, and set arrival status or notes
When to use it
Useful when you want an assistant to answer scheduling questions or run the booking flow against an Appointedd account: checking tomorrow's bookings and who is on them, finding the next free slot for a service, or booking a named customer into an opening.
Requirements
Remote hosted endpoint; nothing to install locally. Connect with the MCP URL only, then sign in through OAuth with your Appointedd credentials on first connect. No API key or Authorization header goes in the client config. A free plan allows 50 tool calls per month; paid plans raise the limit.
Before you install
Write tools change live scheduling and CRM data: creating and updating customers, holding slots, creating, updating and cancelling bookings. Cancellations cannot be undone, and Appointedd may notify customers depending on organisation settings. Payment requests are only sent when send_payment_request is true, and customers are only emailed on booking updates when send_notifications is true. Your Appointedd credentials are entered at login and stored per user by the host. Paid plans are billed…

Installation

In SourceWeft

  1. Open Appointedd MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fappointedd/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "appointedd-by-usefulapi": {
      "type": "http",
      "url": "https://appointedd.usefulapi.io/mcp"
    }
  }
}

README

Appointedd MCP by usefulapi

Read Appointedd bookings, customers and availability; create, change and cancel bookings. Hosted, no local install.

Live endpoint: https://appointedd.usefulapi.io/mcp · Homepage: https://usefulapi.io/appointedd

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://appointedd.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http appointedd https://appointedd.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "appointedd": {      "url": "https://appointedd.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Appointedd credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/appointedd/

On first connect you will paste your Appointedd credentials. They are validated, stored per-user, and scoped to you. No keys in config files.

Tools

ToolTypeWhat it does
appointedd_list_bookingsreadList bookings
appointedd_list_customersreadList customers
appointedd_get_customerreadGet customer
appointedd_list_resourcesreadList resources
appointedd_list_resource_groupsreadList resource groups
appointedd_list_servicesreadList services
appointedd_get_servicereadGet service
appointedd_list_service_categoriesreadList service categories
appointedd_get_service_categoryreadGet service category
appointedd_find_available_intervalsreadFind available times
appointedd_find_available_datesreadFind available days
appointedd_get_reservationreadGet reservation
appointedd_create_customerwriteCreate customer
appointedd_update_customerwriteUpdate customer
appointedd_create_reservationwriteCreate reservation (hold a time)
appointedd_create_bookingwriteCreate booking
appointedd_update_bookingwriteUpdate booking
appointedd_update_booking_customerwriteUpdate customer on booking
appointedd_cancel_bookingwriteCancel booking
appointedd_cancel_booking_customerwriteCancel customer on booking
appointedd_usage_statusmetaUsage status (free-tier meter)
appointedd_request_featuremetaRequest a missing feature
appointedd_upgrademetaUpgrade to Pro or Pro+
appointedd_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per account)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with appointedd_upgrade (it returns a Stripe Checkout link). Cancel any time with appointedd_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running appointedd_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT

Source: servers/appointedd/README.md at commit 4046075

Tools

20

appointedd_list_bookings

List bookings

List bookings, newest first by default. Filter by time window (after/before), customer, service, resource, category, status or creation/update time. Each booking has its service, resource, start/end, status and the customers on it (with their notes, questions and statuses). Page with `next`. GET /bookings.

Parametersendidsafterlimitstartbeforesort_byorder_byservicesstatusestimezonecustomers+6 more

appointedd_list_customers

List customers

List customers in the CRM: name, email, phone/mobile, address, tags, custom fields, marketing opt-in. Page with `next`. GET /customers.

Parametersendidslimitstartsort_byorder_by

appointedd_get_customer

Get customer

One customer by id. GET /customers/{customer_id}.

Parameterscustomer_idrequired

appointedd_list_resources

List resources

List resources (the staff members, rooms or equipment that bookings are made for): name, assigned service ids and resource group ids. Page with `next`. GET /resources.

Parametersendidslimitstartsort_byorder_byservices

appointedd_list_resource_groups

List resource groups

List resource groups (id and name). Page with `next`. GET /resources/groups.

Parametersendidslimitstartorder_by

appointedd_list_services

List services

List services (what can be booked): name, category, durations and prices, buffers, occupancy and booking type. Page with `next`. GET /services.

Parametersendidslimitstart

appointedd_get_service

Get service

One service by id, including its booking questions, durations, prices and buffers. GET /services/{service_id}.

Parametersservice_idrequired

appointedd_list_service_categories

List service categories

List service categories (id and name). Page with `next`. GET /services/categories.

Parametersendidslimitstart

appointedd_get_service_category

Get service category

One service category by id. GET /services/categories/{category_id}.

Parameterscategory_idrequired

appointedd_find_available_intervals

Find available times

Find the start times at which a service can be booked in the given ranges, with the free resource ids for each (and existing group bookings with room). Step 1 of making a booking: pick a start, then appointedd_create_reservation. Read-only. POST /availability/intervals/search.

Parametersrangesrequiredspacesdurationtimezoneservice_idrequiredresource_idsresource_group_idsignore_service_scheduleignore_notice_restriction

appointedd_find_available_dates

Find available days

Find which days in the given ranges have any availability for a service (a calendar view; use appointedd_find_available_intervals for the times). Read-only. POST /availability/days/search.

Parametersrangesrequiredspacesdurationtimezoneservice_idrequiredresource_idsresource_group_idsignore_service_scheduleignore_notice_restriction

appointedd_get_reservation

Get reservation

One reservation (availability slot) by id: its service, resource, times and expiry. GET /availability/slots/{reservation_id}.

Parameterstimezonereservation_idrequired

appointedd_create_customer

Create customer

WRITE: create a customer in the CRM (first and last name required; email, mobile, phone, tags optional). POST /customers.

Parameterstagsemailphonemobilelastnamerequiredfirstnamerequired

appointedd_update_customer

Update customer

WRITE: change a customer's name, email, mobile, phone or tags. Only the fields you pass are sent; `tags` replaces the customer's tag list. PUT /customers/{customer_id}.

Parameterstagsemailphonemobilelastnamefirstnamecustomer_idrequired

appointedd_create_reservation

Create reservation (hold a time)

WRITE: hold a date and time for a booking (step 2). The reservation blocks that slot for `expires_after` minutes (default: the organisation's setting); then call appointedd_create_booking with the returned reservation id. Without resource_id a free resource assigned to the service is picked. POST /availability/slots.

Parametersstartrequireddurationtimezoneservice_idrequiredresource_idexpires_afterrequired_spacesresource_group_idsignore_service_scheduleignore_notice_restriction

appointedd_create_booking

Create booking

WRITE: turn an active reservation into a booking (step 3) for one or more customers; Appointedd matches each customer to the CRM by name/email/mobile or creates it. Payment requests are NOT sent unless send_payment_request is true. With an empty customers list an empty booking is created. POST /bookings.

Parameterslabeltimezonecustomersrequiredreservation_idrequiredsend_payment_request

appointedd_update_booking

Update booking

WRITE: change a booking's service, resource, label or total spaces, or move it by giving `parts` with new start/end times. Customers are NOT emailed unless send_notifications is true. PUT /bookings/{booking_id}.

Parameterslabelpartstimezonebooking_idrequiredservice_idresource_idtotal_spacessend_notificationsignore_service_schedule

appointedd_update_booking_customer

Update customer on booking

WRITE: set the arrival status (Arrived, Complete, No Show, No Status) and/or notes of one customer on a booking. customer_booking_id is the customer's `customer_booking_id` (or `customer_id`) in the booking's customers list. PUT /bookings/{booking_id}/customers/{customer_booking_id}.

Parametersnotesstatusbooking_idrequiredcustomer_booking_idrequired

appointedd_cancel_booking

Cancel booking

WRITE (cannot be undone): cancel a whole booking. Appointedd may notify the customers according to the organisation's settings. To remove one customer from a group booking use appointedd_cancel_booking_customer. POST /bookings/{booking_id}/cancel.

Parametersbooking_idrequired

appointedd_cancel_booking_customer

Cancel customer on booking

WRITE (cannot be undone): cancel one customer's place on a booking (the booking stays for the others). customer_booking_id is the `customer_booking_id` in the booking's customers list. POST /bookings/{booking_id}/customers/{customer_booking_id}/cancel.

Parametersbooking_idrequiredcustomer_booking_idrequired

Version history

12
  1. v1.12.4LatestNov 7, 2026
  2. v1.11.3Nov 5, 2026
  3. v1.11.2Nov 5, 2026
  4. v1.11.1Nov 4, 2026
  5. v1.11.0Nov 3, 2026
  6. v1.10.1Nov 3, 2026
  7. v1.9.0Nov 1, 2026
  8. v1.7.0Oct 31, 2026
  9. v1.6.0Oct 31, 2026
  10. v1.5.2Oct 30, 2026
  11. v1.5.0Oct 30, 2026
  12. v1.0.0Oct 26, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations