MCP serverapp.zooza/mcp-server
MCP server for Zooza — class scheduling, attendance, and booking for activity businesses.
Overview
Score?
UNRATED 0.824
of what a free look can see, on 33 looks
Looks
36
last 7 hr ago
Tools
37
changed 2 days ago
More info
URL
mcp.zooza.app/mcp
streamable-http
Says it is
zooza-mcp 0.15.0
protocol 2025-06-18
In the record since
32 days ago
Among servers18,413 with a card
0median 0.606 · this server 0.824 · highest on record 0.8561
Toolsfrom sha256:510a1f1cc5…5b9e31 · +0 −0 2 days ago
| Tool | Schema |
|---|---|
| bookings_add_lead Create a LEAD — a lightweight registration on a lead-collection schedule — for a prospective customer, from their name and email. Use this to capture an inbound enquiry as a tracka |
input · no output |
| bookings_copy_booking Copy or move a client's existing booking into a different class. COPY creates a second booking and leaves the original in place — use it when the client is continuing into a new te |
input · no output |
| bookings_find Find this company's bookings — a client's enrolment in a class (registration; "prihláška"/"Buchung") — and resolve them to a `registration_id`, or a client to a `user_id`. Use for |
input · no output |
| classes_add_course Create a new programme (course) — the top-level container in Zooza that holds pricing, payment settings, and booking-form configuration. Classes and sessions are added inside it af |
input · no output |
| classes_commit_class Writes a class to api-v1 in one shot: creates the schedule, attaches any selected payment templates (bundled inline), and posts the assembled events array. Call this only after the |
input · no output |
| classes_find_classes Search this company's CLASSES — the scheduled groups inside a programme (a "class" / "group" / "skupina"; internally a *schedule*) — by name (substring) and resolve them to a `sche |
input · no output |
| classes_find_courses Search the company's courses by name (substring match) and optionally by registration_type. Returns a slim list of matches — `{id, name, registration_type, target_audience, price, |
input · no output |
| classes_find_resource Resolve a NAME the operator said into an id, for four kinds of company-level records. Pick `kind`:
- `place` — venues. Returns `{id, name, city, street, rooms: [{id, name, capacit |
input · no output |
| classes_list_schedule_patterns Returns all valid field values for building class schedules and payment plans in Zooza. No Zooza API call — hardcoded from Events_Preview.php and Payment_Schedule.php. Call this BE |
input · no output |
| classes_preview_events Expands one or more recurrence patterns and/or ad-hoc dates into the concrete list of class sessions, honouring holiday-skip flags. Stateless — performs no writes. Call this once p |
input · no output |
| classes_preview_schedule Resolves a new class's *schedule shell* — the course, venue, trainer, capacity, prices, billing period, and default payment templates — and returns the result alongside any warning |
input · no output |
| classes_update Edit one or more existing classes (a "class"/"timetable" is the recurring group within a programme) — name, price, registration fee, capacity, make-up/replacement extra capacity (" |
input · no output |
| classes_update_course_settings Change the settings of an existing programme (course) — pricing, online booking, make-up sessions, trial, auto-enrolment, attendance, feedback, basic info, or archiving. Works one |
input · no output |
| comms_find_replies Read inbound replies a customer has sent back to Zooza emails, and optionally mark a reply handled. Use it to see whether a lead responded and what they said — filter by the lead's |
input · no output |
| comms_list_merge_vars Returns all valid merge variables for Zooza message templates (email, SMS, WhatsApp). Format: *|VARIABLE_NAME|* (MailChimp-compatible). No Zooza API call — hardcoded from Merge_Var |
input · no output |
| comms_list_templates Lists the automated email templates Zooza sends to this company's clients — registration confirmations, trial follow-ups, cancellation notices, session reminders, loyalty/discount |
input · no output |
| comms_send_message Email clients of this company. Describe the audience (a course/programme, a class schedule, a specific booking, one client, a saved segment, an ad-hoc cohort, or course-level label |
input · no output |
| explain_data_model Returns a structured description of Zooza's domain entities — hierarchy, roles, valid field values (enums), parent/child relationships, and disambiguation rules. No Zooza API call |
input · no output |
| get_skill Returns the full markdown playbook for one of the registered skills. Call this BEFORE starting a flow named in the server's instructions — the playbook contains the interview steps |
input · no output |
| get_terminology Search the Zooza domain glossary. Returns canonical term names, definitions, cross-language synonyms, disambiguation rules, and AI guidance notes. No Zooza API call is made — purel |
input · no output |
| labels_mark Attach or detach a label (a named tag) on a Zooza course, schedule, or registration. Set `present: true` to attach (the label is created automatically if it doesn't exist yet — att |
input · no output |
| negotiate_terminology Free tool — no Zooza API call, no company_id required. Two modes:
"start" → returns the 8-question interview template for Claude to conduct conversationally.
"build" → validate |
input · no output |
| payments_add_plan Put a booking on a payment plan — the instalment calendar the client actually pays against. A plan attached to a programme or class is NOT inherited by bookings; each booking has t |
input · no output |
| reports_get_data Return the REAL, pre-aggregated numbers for ONE business question about an activity brand — and the basis for SHOWING it. This is how you show an operator a report / dashboard / ch |
input · no output |
| sessions_add_summary Write a post-session summary on one event. Two independent fields:
- `public_summary` — visible to attendees / parents via their in-app Zooza feed. Use when the user says "write a |
input · no output |
| sessions_cancel Cancel one or more scheduled SESSIONS of a class so they do not take place — "cancel Tuesday's sessions", "the pool is closed on Friday", "Martina is ill all week, cancel her class |
input · no output |
| sessions_find_events List **events** (scheduled sessions of classes) in the caller's company. Use this whenever you need to resolve an `event_id` from natural language ("my next class," "Monday's balle |
input · no output |
| sessions_get_attendance Read who's enrolled in **one event** (a single session of a class) and their current attendance, so you can show the list and then mark it. Pass an `event_id`; the tool returns eac |
input · no output |
| sessions_mark_attendance Record per-attendee attendance for **one event** (a single session of a class — e.g. "Monday Ballet on 2026-06-03 at 09:00"). Pass an `event_id` and a list of attendees, each with |
input · no output |
| sessions_update Edit specific individual sessions (events) of a class, OR add new sessions to a class. Two modes, one tool.
EDIT-MODE — pass `event_ids` + `changes`: reschedule a session's date/t |
input · no output |
| setup_add_payment_template Create a company-level payment plan template ("splátková šablóna") — the object that defines HOW a programme's price is collected: in how many instalments, how often, with what dis |
input · no output |
| setup_update_course_templates Choose which payment plan templates a programme offers clients — attach new ones, and DETACH ones that should not be there. Detaching is the point: Zooza attaches templates by itse |
input · no output |
| submit_feedback Submit user feedback about the Zooza MCP integration to the engineering team. Two paths:
- 'path: "github"' — returns a prefilled issue-creation URL on the **public** `zooza-dev/z |
input · no output |
| todos_add Create a to-do item for a Zooza operator — a task a human needs to action. Give it a `message` and the `to_user_id` of the person it's assigned to. Optionally link it to a record ( |
input · no output |
| todos_mark Change the status of a to-do item: `done` (completed), `cancelled` (won't do), or `open` (reopen). Only OPEN todos can be marked `done` or `cancelled`; a `done` or `cancelled` todo |
input · no output |
| trainers_add_helpers Register **additional lecturers** — a second instructor, assistant, or helper — on one or more classes, and control which of their sessions each one actually works. This is NOT how |
input · no output |
| whoami Returns the connected user's identity, the companies they can operate on, regional context, and the session's token state. Call ONCE at the start of every conversation.
How to int |
input · no output |
Verify it yourself
npx teppi-check https://mcp.zooza.app/mcpcurl -s https://api.teppi.xyz/v1/trust/mcp/mcs_01M1FZ243X68YH1211NCNBSGWH