mcpserver.lol
registry/zooza-dev-mcp-server
Connection check verified live · 20h ago

zooza-dev-mcp-server

MCP server for Zooza — class scheduling, attendance, and booking for activity businesses.

Tools 34
GitHub stars 6
Installs / wk
Licence MIT
Transport streamable-http
Last checked 20h ago

Tools & capabilities

34 tools

Read from the running server on 20h ago.

bookings_add_lead email*phonecourse_idlast_name*company_idfirst_name* +1
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…
bookings_find read-only namepagesearchstatususer_iddistinct +9
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…
classes_add_course name*coloraudiencecompany_idprice_typeunit_price +7
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…
classes_commit_class events*schedule*company_idpayment_schedule_template_ids
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…
classes_find_classes read-only daynamepagesortin_trialplace_id +9
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…
classes_find_courses read-only namepagepage_sizecompany_idinclude_archivedregistration_type
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,…
classes_find_resource read-only citykind*namepageplace_idcourse_id +3
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…
classes_list_schedule_patterns read-only domain
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…
classes_preview_events read-only blocksto_dateplace_id*from_date*company_idskip_holidays +3
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…
classes_preview_schedule read-only namepriceall_dayroom_idcapacityplace_id* +12
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…
classes_update tokenchangesconfirmedcompany_idschedule_idssession_scope +1
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 ("…
classes_update_course_settings tokenchangessectionconfirmedcourse_idcompany_id
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…
comms_find_replies sincestatecompany_idfrom_emailmark_statemark_reply_id +1
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…
comms_list_merge_vars read-only mediumcategory
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…
comms_list_templates read-only typesourcecompany_idinclude_body
Lists the automated email templates Zooza sends to this company's clients — registration confirmations, trial follow-ups, cancellation notices, session reminders, loyalty/discount…
comms_send_message bcctokenchannelcontentaudienceconfirmed +4
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…
explain_data_model read-only entity
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…
get_skill read-only name*
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…
get_terminology read-only querycategorylanguage
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…
labels_mark label*present*object_id*company_idobject_type*
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…
negotiate_terminology read-only action*answers
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…
payments_add_plan starttokenconfirmedcompany_idtotal_priceregistration_id +2
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…
reports_get_data read-only tofromviewcompany_id
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…
sessions_add_summary event_id*company_idpublic_summaryoverride_lockedinternal_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…
sessions_find_events read-only toidsdatefrompagesort +11
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…
sessions_get_attendance read-only event_id*company_id
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…
sessions_mark_attendance event_id*attendees*company_id
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…
sessions_update tokennotifychangessessionsconfirmedevent_ids +2
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…
setup_add_payment_template namevaluediscountcourse_idfrequency*company_id +6
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…
setup_update_course_templates tokenconfirmedcourse_idcompany_idtemplate_ids
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…
submit_feedback body*path*title*categoryrelated_tool
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…
todos_add message*due_dateentity_idcompany_idto_user_id*entity_type
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 (…
todos_mark status*todo_id*company_id
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…
whoami read-only
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…