SOP MCP: let your own AI handle bookings
Let owners, coaches and front-desk staff use their own AI (for example Claude or ChatGPT) to view and handle their store's bookings.
This page is for three readers: stores (owners, coaches, front desk), integration engineers who connect systems for a store, and people reviewing the connector.
What SOP MCP is
SOP MCP is the MCP server SOP provides for stores. MCP (Model Context Protocol) is an open standard that lets an AI connect to outside tools. Once connected, an owner, coach or front-desk person can ask their own AI to look at today's bookings, confirm or decline bookings that are waiting for the store, or book on behalf of a customer who phoned.
It is designed for AIs that support remote MCP connectors, for example Claude and ChatGPT; screens and menu names differ by AI and version. Each sign-in opens one store only, so the AI can see and handle only that store's bookings.
This page covers the store side. For how a customer's AI finds your store, books and pays, see the agentic commerce documentation.
How to connect
The MCP address is https://sellers.carboneasy.ai/mcp. The transport is Streamable HTTP, and store sign-in uses OAuth (dynamic client registration and PKCE are supported).
- In your AI, find where you add a “custom connector”. The name and location differ by AI, so follow that AI's own instructions.
- Paste the MCP address
https://sellers.carboneasy.ai/mcpand give the connector a name you will recognize, for example “SOP”. - The first time, the AI sends you to the SOP sign-in page. Enter your store code and store passcode, then choose the sign-in button. The page is in Traditional Chinese: the two fields are 店家代號 (store code) and 店家通行碼 (store passcode), the sign-in button is 登入並授權 (sign in and authorize), and the decline button is 不授權 (do not authorize). The store code and passcode are the same ones the SOP confirmation page uses.
- Back in the AI, ask it to look at or handle bookings, for example “Show me tonight's bookings.”
The sign-in page shows the name of the application you are connecting and the website it will return to after sign-in. Check that it is the AI you just used before you authorize; if it is not, use the decline button.
You can remove the connector in your AI at any time; after that, that AI will no longer call SOP. When the store passcode is changed, every AI signed in to that store stops working immediately and has to be connected again.
The 11 tools
These 11 tools are everything available once a store has signed in. Every tool acts only on the store you signed in to and takes no store code. Times are Taipei time (Asia/Taipei). “No” in the last column means the tool only reads and changes no booking.
| Tool | What it does | Changes data? |
|---|---|---|
get_store_settings | Gets the store's profile and rules: city, address, hours, contact details and FAQ; its active services with prices, durations, weekly schedules and how each is paid (at the venue or online); and its booking rules (automatic confirmation and its quantity limit, cancellation cutoff, how long an unconfirmed booking is held). It also says whether manual confirmation mode is on and until when. | No |
get_availability | Lists open time slots for one service in the next 1 to 14 days, with remaining capacity. You can limit it to one teacher or trainer. | No |
list_bookings | Lists bookings whose time slot falls in a date range, earliest first (1 to 14 days from the date you give, default 7 days, up to 100 bookings), optionally filtered by status. Each booking has its status, service, slot, quantity, customer name, masked phone and email, why it needs the store's confirmation, payment status and attendance mark. | No |
get_booking | Gets one booking in full: status and why it needed confirmation, service, slot, quantity, customer name, note, payment and refund details, attendance mark. The phone and email are masked here too. | No |
reveal_customer_contact | Gets the full phone number and email of the customer on one booking. Every call is recorded in the store's audit log. | No (an audit entry is recorded) |
confirm_booking | Confirms a booking that is waiting for the store to confirm. Fails if confirming would exceed the slot's capacity or double-book the teacher; a booking still waiting for online payment cannot be confirmed. It does not message the customer. | Yes |
decline_booking | Declines a booking that is waiting (including one waiting for online payment) and releases its place. Cannot be undone. A booking the customer already paid online is refunded in full right away; the result says whether the refund went through or is still processing. It does not message the customer. | Yes |
cancel_booking_by_store | Cancels a confirmed booking on the store's side and releases its place. Cannot be undone. For a booking still waiting for confirmation, use decline_booking instead. A booking paid online is refunded in full. It does not message the customer. | Yes |
mark_attendance | Once the time slot has started, records whether the customer came (“attended”) or did not (“no_show”). Each booking can be marked once. | Yes |
book_for_customer | Books on behalf of a customer, for example one who phoned or came to the desk. The booking is confirmed at once and paid at the venue, even for a service that takes online payment when a customer books through their own AI. Capacity and the teacher's schedule are still checked. The customer's name, phone and optional email are kept by the store. You can send an idempotency_key to make retries safe; repeating the call for the same contact details, service and slot is rejected as a duplicate. | Yes |
set_manual_mode | Turns manual confirmation mode on or off. While it is on, every new booking for the store, including those made through customers' own AIs, waits for you to confirm. It ends by itself after the date you give (23:59 Taipei time that day, at most 90 days ahead), and you can switch it off at any time. Bookings already made are not changed. | Yes (only affects new bookings made afterwards) |
Every successful write action, and every call to reveal_customer_contact, adds one entry to the store's audit log. The audit log records which sign-in or credential acted, what it did, which booking and when; it does not record customer names, phone numbers, emails or notes.
Privacy and security
- Customers' phone numbers and emails are masked by default: only the last 3 digits of a phone number and only the domain of an email are shown. The responses of
list_bookings,get_bookingandbook_for_customernever contain a full phone number or email. - The only way to see full contact details is
reveal_customer_contact, one booking at a time, and every call is recorded in the audit log; if the record cannot be written, the details are not shown. - Some time after a booking, the system removes the customer's contact details, and those fields are then empty.
- What a tool returns passes through the AI service you use (for example Claude or ChatGPT) and is covered by that service's own terms and privacy rules. This is one reason customer contact details are masked by default.
- One sign-in or one credential opens one store only. Tools do not take a store code, so the AI cannot point at another store.
- Confirming, declining, cancelling and marking attendance are everyday actions you ask the AI to do for you. The server's instructions tell the AI to act only on what you asked, for the booking you named, but please still watch what the AI does: declining and cancelling cannot be undone, so check which booking it is before you ask.
- Formal settings (services, prices, schedules, cancellation rules): no tool can change them today, and
get_store_settingsonly reads. When a change to these settings needs approval, only you can give it, on the SOP confirmation page (SOP's LINE notification links you to it); the AI cannot approve by itself. - Please do not put health or medical information in the note field when booking for a customer.
Rate limits
- Booking for customers: successful
book_for_customerbookings are limited to 60 per hour for each store (for a front-desk agent, for each credential) and 200 per day for each store. Beyond that the call returnsrate_limited; try again in an hour. - Sign-in: 10 wrong entries within 15 minutes for the same store from the same network address, or 50 wrong entries within 15 minutes from the same network address across all stores, temporarily block sign-in. Try again after 15 minutes.
For integrators and front-desk systems
An integrator who connects systems for a store, or a store's own front-desk system (for example a LINE AI assistant or an AI running on the store's own computer), does not use the store sign-in. It connects to the same MCP address with a “front-desk agent credential”.
- SOP issues the credential. One credential belongs to one store, one per front-desk system, and can be revoked. It is shown only once when issued, so keep it safe; if it is lost, contact us to have it revoked and reissued.
- Send the HTTP header
Authorization: Bearer sopk_…; the credential starts withsopk_. A wrong or revoked credential always gets 401. - A front-desk agent sees only 5 tools:
get_store_settings,get_availability,list_bookings,get_bookingandbook_for_customer. - Customers' phone numbers and emails are masked for it too, and it has no
reveal_customer_contact, so it never sees full contact details. - A front-desk agent cannot confirm, decline or cancel bookings, mark attendance, or switch manual confirmation mode; only the store itself, signed in, has those.
- Booking for a customer follows the store's rules: the booking may be confirmed at once (
confirmed) or wait for the store (pending, for example a customer's first booking, a booking with a note, a quantity above the automatic limit, or a service the store confirms itself); a service paid online returnsawaiting_paymentwith a payment link for the customer.
To request a front-desk agent credential, use the contact form and tell us the store name and the front-desk system you want to connect.
Official MCP Registry
SOP MCP's name in the official MCP Registry is tw.srct.sellers/sop. Registration is in progress. During registration and after it, you can connect directly with the MCP address above.
Support
For questions about connecting, signing in, how a tool behaves, or front-desk agent credentials, use the contact form.