Zooza MCP Server by zooza.app
MCP server · Calendars & scheduling · indexed, not reviewed
Hostedvendor's own
Not reviewed
No score, grade or rank. This listing is facts from the official MCP registry and our own checks, and it stays out of the rankings until the panel reviews it.
MCP server for Zooza — class scheduling, attendance, and booking for activity businesses.
Facts
- MCP registry
app.zooza/mcp-server· 0.2.0- Endpoint
https://mcp.zooza.app/mcp- GitHub stars
- 6
- Registry entry
- updated 10 Jun 2026
From the official MCP registry, the package registries and our own checks. JSON · Markdown
Why it's listed
- It's published in the registry under zooza.app, a namespace the registry only gives to whoever proves they control that domain.
Being indexed says nothing about quality, and nobody can pay for it. Is this yours? Ask for a review.
Tools it lists 37 · about 36,422 tokens of context · checked 15 minutes ago
| Tool | What it does | Hint |
|---|---|---|
get_terminologyLook up Zooza 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 — purely local lookup against the compiled… | read-only |
explain_data_modelExplain Zooza 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 is made — purely hardcoded domain… | read-only |
comms_list_merge_varsList Zooza message merge variables | Returns all valid merge variables for Zooza message templates (email, SMS, WhatsApp). Format: *|VARIABLE_NAME|* (MailChimp-compatible). No Zooza API call — hardcoded from Merge_Vars::merge_vars() in api-v1. Use this… | read-only |
classes_list_schedule_patternsList valid Zooza 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 BEFORE classes_preview_schedule or… | read-only |
negotiate_terminologyNegotiate terminology — build a personalised vocabulary profile | 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" → validates answers against the Zooza glossary,… | read-only |
whoamiWho am I? | 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 interpret the response: - 'status: "ok"' —… | read-only |
classes_find_coursesFind courses by name | 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, schedules_count, ...}` — enough to… | read-only |
classes_find_resourceFind a venue, billing period, trainer, or pay rate | 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, capacity}]}`. Rooms are inlined because picking… | read-only |
classes_find_classesFind classes (schedules) by name | 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 `schedule_id`. Reach for this whenever the… | read-only |
bookings_findFind bookings (registrations) and clients | 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 "is X enrolled?", "who's in this… | read-only |
bookings_add_leadAdd a lead (minimal registration on a lead-collection schedule) | 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 trackable Zooza record you can later label,… | writes |
labels_markAttach or detach a label on a course, schedule, or registration | 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 — attach is idempotent), `present: false` to… | writes |
comms_find_repliesRead inbound customer replies and set a reply's state | 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 registration id, sender email, state… | writes |
todos_addCreate an operator to-do item | 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 (`entity_type` + `entity_id`, e.g. a… | writes |
todos_markChange the status of a to-do item | 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 can only be reopened to `open`.… | writes |
sessions_find_eventsFind events (scheduled sessions) | 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 ballet," "all swim sessions this week,"… | read-only |
sessions_get_attendanceView attendance for one class session | 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 each enrolled attendee, their current… | read-only |
sessions_mark_attendanceMark per-attendee attendance on one event | 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 their own attendance value (`attended`,… | writes |
sessions_add_summaryAdd a session 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 summary for the parents," "send a… | writes |
classes_preview_schedulePreview a class schedule shell | 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 warnings. Performs no writes. Use this first… | read-only |
classes_preview_eventsPreview class session dates | 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 per pattern the user describes during… | read-only |
classes_commit_classCommit a class (schedule + events) | 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 user has confirmed the class shell… | writes |
classes_update_course_settingsChange programme settings (preview, then apply) | 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 section at a time, like the settings… | writes |
classes_updateEdit classes (preview, then apply) | 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 ("počet miest navyše pre náhradné hodiny"… | writes |
sessions_updateEdit specific sessions (preview, then apply) | 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/time, or change a hand-picked session's… | writes |
sessions_cancelCancel sessions (preview, then apply) | 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 classes". A cancelled session stays visible… | writes |
trainers_add_helpersAdd additional lecturers to classes and sessions | 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 you set or change a class's main… | writes |
bookings_copy_bookingCopy or move a booking to another class (preview, then apply) | 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 term or adding a class alongside their… | writes |
classes_add_courseCreate a new programme (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 afterwards; a programme cannot accept… | writes |
payments_add_planApply a payment plan to a booking | 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 to have it applied, and until then the… | writes |
setup_update_course_templatesSet a programme's payment plan 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 itself when a programme's price type or… | writes |
setup_add_payment_templateCreate a payment plan 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 discount and rounding. A programme set to… | writes |
comms_list_templatesList the company's automated email templates | Lists the automated email templates Zooza sends to this company's clients — registration confirmations, trial follow-ups, cancellation notices, session reminders, loyalty/discount emails, and custom templates. For each… | read-only |
comms_send_messageEmail clients (plan, then send) | 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 labels) and the content (an existing… | writes |
submit_feedbackSubmit feedback to engineering | 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/zooza-mcp-server` repo. The user opens it… | writes |
reports_get_dataGet real report data for a business question | 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 / chart of their business numbers… | read-only |
get_skillLoad a skill playbook | 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, mapping rules, and confirmation… | read-only |
What https://mcp.zooza.app/mcp answered to tools/list, asked without credentials over MCP 2025-11-25. The token figure is the size of the list as sent, divided by four; a model sees about that much before it calls anything. Full definitions, input schemas included, are in the listing's JSON under mcpTools.
How its tools read to an agent 0 errors · 17 warnings · 1 note
- warnTC07classes_find_classesthe description is about 966 tokens
- warnTC07sessions_cancelthe description is about 540 tokens
- warnTC07sessions_find_eventsthe description is about 985 tokens
- warnTC07sessions_get_attendancethe description is about 898 tokens
- warnTC07sessions_mark_attendancethe description is about 668 tokens
- warnTC07setup_add_payment_templatethe description is about 504 tokens
- warnTC07whoamithe description is about 1,033 tokens
- warnTC14submit_feedbackallowed values are in the description, not an enum: body
- warnTC15sessions_find_eventsinputSchema uses $ref/$defs
- warnTC22classes_commit_classthe definition is about 1,553 tokens
- warnTC22classes_find_classesthe definition is about 1,853 tokens
- warnTC22classes_updatethe definition is about 2,199 tokens
- warnTC22comms_send_messagethe definition is about 1,885 tokens
- warnTC22sessions_find_eventsthe definition is about 1,927 tokens
- warnTC22sessions_updatethe definition is about 1,700 tokens
- warnTC22trainers_add_helpersthe definition is about 1,618 tokens
- warnTC23server37 tools, about 36,076 tokens of definitions
- noteTC24server37 of 37 tools have no outputSchema
The checks from /check and anchor check, run each day on the list above: about 36,422 tokens of definitions. Not part of the score yet. Check your own server.