Connect Claude to your calendar
A read-only MCP connection that answers about the week without reaching records.
ClinicsOnly in clinic workspaces.
This recipe connects an AI client (Claude, Cursor, whichever you use) to the workspace. From there it answers questions about the clinic's calendar, so nobody has to open it and count.
What matters is what does not happen: the connection never reaches the clinical record or the patient register. Those tools don't exist for a connector.
1. Connect
The path is the one every workspace takes. MCP has the screens for each client: Claude, Claude Code, Cursor. You authorise under Conexiones › Servidores MCP, and the connection is born attached to the workspace you had active.
2. Look at which tools you got
Worth checking once, before you authorise. Ask your client for the list of tools, or call for it directly:
curl -X POST https://api.vitrinadev.com/mcp \
-H "Authorization: Bearer $VITRINA_CONNECTOR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'The ones from the vertical:
clinic_agenda_list
clinic_agenda_profesionales
clinic_professionals_list
clinic_professional_get
clinic_services_list
clinic_statuses_listAnd from the platform, the usual ones: the calendar (appointments_list, appointments_get), contacts, conversations, leads, tickets, locations and metrics.
Not one tool from the patient register or from the clinical record. Calling one doesn't answer permission denied: it answers that it doesn't exist.
{ "error": { "code": -32602, "message": "Tool clinic_patients_list not found" } }Why the clinical record is not in the connector
Health data is sensitive data under Chile's Ley 21.719. So the connector carries the calendar and the catalogue, and nothing else. The details are in Personal and health data.
3. Ask it about the week
With the connection live this works in natural language. Underneath it's a call like this one:
curl -X POST https://api.vitrinadev.com/mcp \
-H "Authorization: Bearer $VITRINA_CONNECTOR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0", "id": 2, "method": "tools/call",
"params": {
"name": "appointments_list",
"arguments": { "from": "2026-09-24", "to": "2026-09-26" }
}
}'[
{
"id": "c1952237-06f5-471f-b11b-8a6de9cd2835",
"display_id": "A-2",
"kind": "clinic",
"status": "confirmed",
"starts_at": "2026-09-24T14:00:00.000Z",
"ends_at": "2026-09-24T14:45:00.000Z",
"professional_id": "a67102df-325a-4008-b80b-ed4146067bfa",
"location_id": "a2725618-4774-4c01-873f-2162e6943ab4",
"contact_id": null,
"customer_name": "Tomás Bravo",
"metadata": {
"engine": "native-clinic",
"treatment_name": "Limpieza dental",
"clinic_service_id": "0b5b11c6-116d-4254-9d06-6dd9c4b4361f"
}
}
]A time, a professional, a location, a service and the name it was booked under. The appointment also carries its notes, the note somebody writes when scheduling, and that's where it ends. No history, no progress notes, no diagnosis: that's the clinical record.
notes is a free-text field, which makes it yours to watch
It's the booking note, and nothing stops somebody from writing what doesn't belong there. If your clinic uses it for history, that note travels to every connected client. Check it before the first connection.
clinic_professionals_list and clinic_services_list bring back the catalogue behind those ids, which turns a67102df-… into "Dr. Ignacio Rivas" and 0b5b11c6-… into "Limpieza dental".
4. What the connection sees of you
A connected app acts as the person who authorised it, and that's resolved again on every call. If your role changes or your visibility narrows, the next question already answers from that view. If your membership ends, the connection answers 401 from the next call onwards, even though nobody revoked it.
What you accepted when you connected is a ceiling: never more than what your role allows today.
5. When you want to cut it off
You revoke it under Conexiones › Servidores MCP, and it takes effect at once. Nothing else needs rotating: the connection has a credential of its own and shares no secret with any sk_ key.
The full tool list, pack by pack, is in Connector tools.