You open Claude or ChatGPT and type "who still hasn't paid for Saturday's class?" — and get back a list of names with phone numbers. No logging into the app, no clicking through events and bookings. That's exactly what micali.online now lets you do.
Behind it is MCP — Model Context Protocol. It's an open standard that solves one specific problem: how an AI assistant can safely reach into someone else's application. Not by handing it your password, and not by copying some export somewhere. By having the application itself declare a list of things that can be done, which the assistant then picks from — under your sign-in, within your permissions.
micali.online now has its own MCP server. This article covers exactly what it knows, what it deliberately doesn't, and why we drew the lines where we did.
How You Connect
It's three steps, and it takes less than a minute.
- You tell your assistant that you want to connect an MCP server, and send it the address
https://mcp.micali.online— the whole thing, with nothing after it. Nothing gets clicked through anywhere, and nothing needs to be found in settings; writing it is enough. You'll also find the address in the app under Profile → AI connections, with a button to copy it. - Our sign-in page opens. You enter your email, a 6-digit code arrives, you type it in. It's the exact same sign-in as the app — no new password, no API key you'd have to keep safe somewhere.
- Done. From that moment on, the assistant can see your accounts, and you can start asking.
Nowhere in that process does a secret get created that you'd have to guard. That's deliberate: an API key pasted into a chat is a key that lives in the conversation history forever.
What You Can Ask if You Manage an Account
We gave the assistant twelve tools. They're not commands you have to learn — the assistant picks from them itself, based on what you ask in a normal sentence. But it's only fair to spell out what's on that list, because it's the exact outline of what the AI can find out about your account:
- Events and time slots — a list of events with how full each slot is, and the full setup of a single event: capacity, deadlines, payments, confirmation.
- Bookings — who's signed up for which slot, with contact details and the status confirmed / paid / was present. It can be narrowed down to one date, or to just the unpaid or unconfirmed ones.
- Waiting list — who's waiting for a spot to open up, starting with whoever's been waiting longest.
- Visitors — search by name, email or phone, then the profile of one person, including their prepaid plans and most recent bookings.
- Prepaid plans — what you're selling, for how much, with what limit, and how many people currently hold it.
- Services and service orders — what services you offer and who has booked a slot for them in a given period.
- Changing a booking's status — confirmed, paid, was present.
- Cancelling a booking on the customer's behalf.
Ten of those twelve tools only read. Two things can be changed: a booking's status, and cancelling it. That's not an accident — the entire next section is about exactly that.
More concretely, these are questions like: "how many spots are free next week?", "does Nováková have any uses left on her prepaid plan?", "who from Friday's class didn't show up last time?", "mark Peter's Saturday as paid". The assistant finds the account, the event and the booking on its own; you don't have to name them by ID.
What You Can Ask if You're a Customer
The MCP server has a second face too. If you're a visitor — someone booking with an organizer — you connect exactly the same way and get five tools of your own:
- a list of the organizations you're registered with,
- your own bookings — both events and booked services, by default only the upcoming ones,
- your prepaid plans, along with how many uses you've spent and how many you have left,
- finding time slots you're allowed to book, including how many spots are free,
- cancelling your own booking — respecting whatever deadline the organizer has set.
"What have I got booked next week?" or "how many uses do I have left?" shouldn't be a question that requires opening a website.
What the Assistant Deliberately Doesn't Know
We consider this section more important than the list of features. Giving AI access to customer data is a decision that needs clear boundaries — and those boundaries can be explained.
The assistant never sees more than you do. The sign-in token only says who you are; it says nothing about what you're allowed to see. Every tool therefore checks, on every single call, that you actually manage the account in question. There's no such thing as "the currently open account" to rely on — and so no way to talk your way into someone else's account.
Team members are switched off for now. If someone on your account has the team member role, they only see, in the app, the events and services you've assigned to them. That restriction would have to be programmed into every single tool separately — and forgetting it in just one database query would be enough to show them someone else's list of bookings. Until it's built into the tools natively, connecting gives them a clear error instead of half-working access. Better switched off than almost right.
Irreversible actions are marked as irreversible. The MCP protocol lets every tool declare whether it only reads, whether its effect can be undone, and whether it's destructive. Cancelling a booking is marked as destructive — it deletes a row, sends the customer a message, and immediately offers the freed-up spot to the first person on the waiting list. Because of that label, both Claude and ChatGPT ask for confirmation before carrying it out. On top of that, the tool's own description instructs the assistant to first read out the customer's name and the event date, and wait for explicit confirmation.
We don't see your conversations. The assistant runs on your own Claude or ChatGPT subscription and talks to you directly. On our side, we only see the individual tool calls that reach us — the same thing we'd see if you were clicking around in the app. The text of your questions or its answers never reaches us.
Signing in and Disconnecting
Access that can't be revoked with a single button isn't proper access. In the app, under Profile, you'll find the AI connections section: a list of every connected assistant with its connection date and last use, and a Disconnect button next to each one.
Disconnecting is immediate and affects only that one connector — your browser sign-in and your other connections stay untouched. The same section exists for visitors on their profile too.
The access token is valid for five hours, and the assistant refreshes it automatically; refreshing is capped at 90 days. So even if you completely forgot about the connection, it would expire on its own after a while.
For Those Interested in the Technical Side
The server speaks Streamable HTTP and supports protocol versions 2025-06-18 and 2025-03-26. Authorization is OAuth 2.1 with PKCE (method S256; we don't accept plain at all), with dynamic client registration per RFC 7591 — which is exactly why pasting the address is enough, with nothing to set up anywhere beforehand. The discovery documents sit exactly where clients look for them: /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server. Revoking a token goes through revoke per RFC 7009.
That means it's not just Claude and ChatGPT that can connect, but anything that speaks MCP — Claude Code, Codex, Cursor, and whatever other tools show up in the meantime. We don't have to support any of them individually; that's the whole point of a standard.
How Much It Costs
Nothing. The MCP server is part of micali.online for every account and has no pricing of its own. The AI runs on your own subscription with Anthropic or OpenAI, so no model cost is created on our side — and therefore no reason to charge you for it.
If you want AI directly inside the app, it's already there too: Ask AI knows the app and your account, and message text generation helps you write an email or an SMS. MCP is something else — it's for the moments when you're already inside some assistant and don't feel like switching.
How to Get Started
Copy the address https://mcp.micali.online from Profile → AI connections, tell your assistant that you want to connect this MCP server, and sign in with your email and a code. The first question we'd recommend trying is boring and tells you a lot: "what's on my calendar this week, and who still hasn't paid?"
If there's something missing from the tool list that you'd expect from your assistant, let us know. Adding another tool is easy for us — the hard part is deciding which ones are allowed to change something. Your experience helps us with that decision far more than our own guessing would.