The Setmore MCP server lets AI applications connect to a Setmore account through the Model Context Protocol (MCP) and turn natural-language requests into scheduling and messaging actions. It is hosted by Setmore; self-hosting is not supported.
Server URL:
https://mcp.setmore.com/mcp(Streamable HTTP)Authentication: OAuth 2.0 Authorization Code with PKCE
Support: help@setmore.com
Privacy policy: https://www.setmore.com/privacy
Client compatibility
Supported today | Not supported today |
OAuth 2.0 Authorization Code + PKCE (S256) | Non-OAuth bearer tokens, such as personal access tokens |
Clients pre-registered with Setmore | Dynamic Client Registration (RFC 7591) and Client ID Metadata Documents |
Discovery via protected resource metadata (RFC 9728) and OIDC discovery | RFC 8414 authorization server metadata |
Clients that register themselves will not connect today. To register a client, contact help@setmore.com.
Key benefits
Standards-based OAuth 2.0 with PKCE.
52 Setmore tools covering scheduling, customers, services, settings and messaging.
Acts as the signed-in user, so Setmore permissions apply. Writes require explicit confirmation.
Authentication model
The client calls the server without a token and gets a
401pointing to the resource metadata.The client reads the metadata and finds the authorization server.
The client sends the user to the authorization endpoint with its registered
client_idand a PKCE challenge.The client exchanges the code at the token endpoint.
The client sends
Authorization: Bearer <access_token>on every request.
Integration walkthrough
Step 1: Discover the protected resource. A request without a token returns:
HTTP/1.1 401 Unauthorized WWW-Authenticate: Bearer resource_metadata="https://mcp.setmore.com/.well-known/oauth-protected-resource/mcp"
GET https://mcp.setmore.com/.well-known/oauth-protected-resource/mcp { "resource": "https://mcp.setmore.com/mcp", "authorization_servers": ["https://auth.setmore.com/o"], "scopes_supported": ["setmore.apis-internal.fullaccess", "..."] }
Step 2: Discover the authorization server. Metadata is at the OIDC discovery URL:
GET https://auth.setmore.com/o/.well-known/openid-configuration { "authorization_endpoint": "https://auth.setmore.com/o/oauth2/auth", "token_endpoint": "https://auth.setmore.com/o/oauth2/v2/token", "code_challenge_methods_supported": ["S256"] }
Step 3: Register your client. There is no registration endpoint. Email [SUPPORT_EMAIL] with your application name, HTTPS redirect URIs and whether the client is public or confidential, and you will receive a client_id.
Supported tools
All tools act on the signed-in user's account. Write tools require confirmation: confirmed: true. Messages and collabs use a preview and a confirmation token instead. Reminder tools act only on the user's own reminders and are used only when the user asks. The Access column shows who can use each tool: any user, or only account owners and admins.
Category | Tool | Description | Access |
Calendar |
| Get the user's upcoming or past appointments, or a colleague's free/busy time | Any user |
Calendar |
| Find times when the user and colleagues are all free | Any user |
Calendar |
| Get open booking slots for a staff member | Any user |
Calendar |
| Get new bookings, reschedules and cancellations | Any user |
Calendar |
| Create a calendar event | Any user |
Calendar |
| Edit a calendar event | Any user |
Calendar |
| Move an event to a new time | Any user |
Calendar |
| Cancel an event the user is a provider on | Any user |
Calendar |
| Block time off on the user's own calendar | Any user |
Calendar |
| Create a one-time shareable booking link | Any user |
Customers |
| Search customers | Any user |
Customers |
| Get a customer's profile, with optional recent and upcoming appointments | Any user |
Customers |
| Create a customer | Any user |
Customers |
| Update a customer | Any user |
Customers |
| Book a service for a customer | Any user |
Staff |
| Find teammates by name | Any user |
Services |
| List services | Any user |
Services |
| Create a service | Owner/admin |
Services |
| Update a service | Owner/admin |
Services |
| Add or remove staff on a service | Owner/admin |
Services |
| Delete a service | Owner/admin |
Settings |
| Get booking, reminder and working-hours settings | Any user |
Settings |
| Update booking rules | Owner/admin |
Settings |
| Update appointment reminders | Owner/admin |
Settings |
| Update working hours | Any user for own hours, owner/admin for others |
Account |
| Get plan and SMS credit usage | Owner/admin |
Account |
| Get booking statistics | Any user |
Account |
| List integrations and their status | Owner/admin |
Messaging |
| List channels the user belongs to and the account's public channels | Any user |
Messaging |
| Check whether colleagues are online and the status they set | Any user |
Messaging |
| Get unread direct and channel conversations | Any user |
Messaging |
| Get conversations with new activity since the last check | Any user |
Messaging |
| Read messages in a direct conversation or channel | Any user |
Messaging |
| Search messages in one direct conversation, channel or the user's notes | Any user |
Messaging |
| Open a file attached to a message: an image, a PDF or a text file | Any user |
Messaging |
| Send a message as the user (preview, then confirm) | Any user |
Messaging |
| Add or remove an emoji reaction | Any user |
Messaging |
| Mark a conversation read for the user | Any user |
Messaging |
| Mark a conversation unread for the user | Any user |
Messaging |
| List the user's message reminders, soonest first | Any user |
Messaging |
| Set a reminder on a message for the user | Any user |
Messaging |
| Clear one of the user's reminders | Any user |
Messaging |
| List the members of a collab the user belongs to | Any user |
Messaging |
| Create a collab (preview, then confirm) | Any user |
Messaging |
| Add members to a collab (preview, then confirm) | Any user |
Webhooks |
| Register a webhook for realtime message and appointment events | Any user |
Webhooks |
| List the user's realtime event webhooks | Any user |
Webhooks |
| Resume a disabled webhook | Any user |
Webhooks |
| Stop a webhook | Any user |
Other |
| Report a missing capability or a bug to the Setmore team | Any user |
Other |
| Find newer read-only tools that a client's tool list is missing | Any user |
Other |
| Run a read-only tool returned by | Any user |
Example prompts
Prompt | Result |
What's on my calendar tomorrow? | Lists tomorrow's appointments |
Find 30 minutes this week when Priya, Sam and I are all free. | Finds common free times |
Book Jane Smith for a haircut with Alex on Friday at 2 pm. | Books the service after confirmation |
Move my 3 pm appointment to Thursday morning. | Reschedules after confirmation |
Create a shareable booking link for a 45-minute consultation. | Creates a link |