Zooza MCP Server

app.zooza由 zooza.app 发布官方发布者v0.2.0更新于 Oct 24, 2026

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

已验证Streamable HTTP可网页运行效率与工作流沟通与协作商业与电商

概览

AI 生成的概览

一个托管式 MCP 服务器,把 AI 助手连接到 Zooza 账户,用对话管理课程排期、考勤、报名、线索和分期付款。

可以做什么
创建和编辑课程项目、班级与课次,提交前可预览排期,并可分配助教。查找课次并记录出勤、迟到取消和教练备注。查询报名、未付款注册和候补名单,并把咨询登记为线索。规划并发送客户邮件、读取回复,管理标签和同事待办。设置付款模板并为报名应用分期计划,获取预聚合的业务数据用于报表。查询公司、地点、教练、教室和账期,另有无需账户即可使用的领域知识工具。
适用场景
适合已在使用 Zooza 的活动类机构(舞蹈、语言、游泳、音乐、体育学校和营地),希望员工用对话完成排课、考勤、报名和报表,而不必打开后台面板。也适合在接入真实数据前了解 Zooza 数据模型,因为其中五个工具无需账户。
运行要求
远程服务器位于 mcp.zooza.app,通过 Streamable HTTP 连接,本地无需运行任何程序。使用真实数据需要 Zooza 账户,首次使用时通过 OAuth 2.0 登录,无需 API 密钥。支持的客户端包括 Claude Desktop、Claude Code 和 ChatGPT。从源码自托管需要 Node.js 以及 ZOOZA_API_BASE 和 ZOOZA_API_KEY 变量。
安装前请注意
助手可以修改真实记录:班级、课次、考勤、标签、待办、付款模板和计划,还能向客户群体发送邮件。写入操作采用先预览后确认,请逐次核对预览再批准。修改课次可能通知受影响的客户。查询可能由所选 AI 提供商处理,Zooza 会在服务端保留工具调用审计日志。权限仅限于已登录 Zooza 账户本身允许的范围。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Zooza MCP Server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/app.zooza%2Fmcp-server/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "zooza": {
      "type": "http",
      "url": "https://mcp.zooza.app/mcp"
    }
  }
}

README

[Zooza]

Zooza MCP Server — AI-Powered Class Management for Activity Businesses

An open-source Model Context Protocol (MCP) server that connects Claude, ChatGPT, and other AI assistants directly to your Zooza account.
Natural language scheduling, attendance tracking, lead follow-up, and class management — no dashboard required.

[Model Context Protocol server] [Open source — MIT License] [Official Zooza integration] [Live MCP endpoint]

Website · Documentation · Quickstart · Tools · Get a Zooza account


See it in action

[Watch the Zooza MCP demo on YouTube]


What this is

Zooza MCP Server is a free, open-source Model Context Protocol (MCP) integration for Zooza — the class management and scheduling software for dance schools, language academies, swim schools, music schools, STEAM programmes, sports clubs, and other activity businesses.

It lets activity managers, school administrators, and franchise operators manage schedules, track attendance, create classes, handle bookings and enquiries, set up instalment billing, and query their data through natural language conversation — using Claude, ChatGPT, or any MCP-compatible AI client — without opening the Zooza dashboard.

Zooza powers 500,000+ learners across Slovakia, the Czech Republic, Germany, the UK, and beyond — from single-location dance schools to international franchise networks. This MCP server brings the same platform to any AI client that speaks the Model Context Protocol.

New to Zooza? Create a free account at signup.zooza.online — it takes under 2 minutes.


What you can do

Take attendance

[Show active programmes in Claude]
"Open the register for tonight's adult ballet class.""Who was absent from Saturday's Spanish beginners session?""Mark everyone present in today's robotics group.""Add a note to this week's yoga class — we covered breathing techniques."

Build a term from scratch

[Create a new class in Claude]
"Create a new Spanish for beginners course for Spring 2026 at the city centre location. Classes every Tuesday 16:00–17:00 for 12 weeks, starting 3 March. Assign trainer Tomáš Novák and preview the full schedule before I confirm."
[Schedule preview before confirming]
"Set up our summer robotics camp — Monday to Friday, 9:00–13:00, for 4 weeks in July. Split into two age groups: 6–9 and 10–14. Preview both before I confirm."

Turn a photo into a full term — no blank page

Building a season by hand means two days of typing into empty forms. Instead, hand the assistant whatever you already have — a whiteboard photo, a hand-drawn sketch, a spreadsheet screenshot — and it drafts the whole term for you to review before anything goes live.

"Here's a photo of our autumn whiteboard — create these classes in my account, starting Monday the 8th.""Screenshot of our timetable spreadsheet attached. Build the full term, respecting our holiday calendar."

You always see a preview table and calendar first, and nothing is created until you confirm — you bring the intent, you keep the final say. Read how one brand turned a single photo into 68 live classes across venues: From a photo to a full term of live classes.

Get instant answers

"Which programmes are running this billing period?""Who's teaching dance on Monday evenings?""Which STEAM courses still have free capacity this term?""What sessions are scheduled for tomorrow?"

Manage bookings

"Show unpaid registrations from this season.""Which clients are on the waiting list for Saturday gymnastics?""How many spots are left in the beginner English course?"

Work an enquiry from first email to enrolled

An enquiry arrives, gets a reply, and then lives in someone's inbox until it goes cold. The assistant keeps the whole thread as records in Zooza instead — the enquiry becomes a trackable lead, the reply comes back where you can see it, and anything needing a human becomes a to-do with a name on it.

"Log this enquiry from the contact form as a lead and tag it 'spring-open-day'.""Did anyone reply to last week's trial invitations? Show me what they said.""This parent asked about sibling discounts — assign it to Katka, due Friday.""Tag the leads who booked a trial as 'converted' and close out the rest."

Nothing here emails the customer behind your back — capturing a lead sends nothing, and every outbound message still goes through the plan-then-confirm flow.

Set up instalment billing

"Split our €200 term fee into 4 monthly payments and offer it on the ballet programme.""This programme has 14 payment plans attached — clean it up, leave only the two we use.""Put Nováková's booking on the 3-instalment plan starting next month."

Ask for any report — in plain language

No report modules, no spreadsheet formulas. Ask a business question the way you actually think about it, and the assistant pulls the real numbers and lays them out — shaped around your question, not a fixed dashboard.

"Who's at which venue each day this week?""Which instructors are stretched thin, and who has room for more?""What grew and what shrank between the spring and summer terms?""How many seats does my whole operation actually have right now?"

Reporting only ever reads — it never touches bookings, classes, or payments, so you can explore freely. More on how brands use this: Custom reports, just by asking.

No clicking through menus. No switching tabs. No automation scripts. Just ask — Claude handles the lookups, rosters, previews, and confirmations.


Supported clients

ClientHow to connect
Claude DesktopNative MCP over HTTPS
Claude CodePlugin zip or manual .mcp.json
ChatGPTOpenAI Actions — domain verified at mcp.zooza.app
Any MCP-compatible clientStreamable HTTP — https://mcp.zooza.app/mcp

Connect in 2 minutes

Don't have a Zooza account yet? Sign up free at signup.zooza.online

Claude Desktop

Add this to your claude_desktop_config.json:

json
{  "mcpServers": {    "zooza": {      "type": "http",      "url": "https://mcp.zooza.app/mcp"    }  }}

File location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Restart Claude Desktop. On first use, you'll be prompted to sign in to your Zooza account — no API keys, no extra setup, just your existing login.

Claude Code

Download the latest plugin from Releases (file named zooza-plugin-v*.zip) and run:

/install-plugin zooza-plugin-v*.zip

The plugin includes the MCP connection config, guided workflow skills, and automatic session context.

Note: Five of the 35 tools (get_terminology, explain_data_model, comms_list_merge_vars, classes_list_schedule_patterns, negotiate_terminology) work without any Zooza account — useful for exploring how the data model works before connecting live data.


How it works

You → Claude / ChatGPT → Zooza MCP Server → Zooza API → Your data

The MCP server is stateless and hosted by Zooza at mcp.zooza.app. You don't run anything locally. Every request is authenticated against your Zooza account — Claude can only see and change what you're already allowed to access in the dashboard.

Every write operation requires explicit confirmation before anything is committed — Claude shows you what it's about to create or change, and only proceeds when you confirm.

Regions: EU (SK/CZ/DE/RO/HU/IT/PL), UK, US, and Asia regions are all supported. Your account is automatically routed to the correct regional infrastructure.

Multi-location and franchise accounts: Claude will ask which location to operate on at the start of each session. You can switch mid-conversation — useful for comparing across sites or managing a network.


Languages & regions

Zooza MCP is designed for multilingual, multi-market operation. It understands regional terminology differences out of the box:

MarketLanguageHow Zooza users say it
SlovakiaSlovakkurzy (programmes), hodiny (sessions), dochádzka (attendance)
Czech RepublicCzechkurzy / lekce (sessions), evidence docházky (attendance)
Germany / AustriaGermanKurse (courses), Stunden (sessions), Stundenplan (schedule)
UKEnglishterms, registers, classes
Romania, Hungary, Italy, PolandLocal + Englishsupported

The negotiate_terminology tool lets Claude learn your business's specific vocabulary once and use it in every future conversation — so if you call programmes "kurzy" and sessions "hodiny," Claude will always respond in your terms.


Available tools

35 tools covering scheduling, attendance, bookings and leads, client communication, payments and instalment billing, reporting, class and session editing, and Zooza domain knowledge.

Scheduling & class management

ToolWhat it does
classes_add_courseCreate a new programme — the container that holds pricing, payment settings, and booking-form config. Only for a genuinely new offering; a new term or time slot is a class inside an existing programme
classes_preview_schedulePreview a recurring class schedule before committing
classes_preview_eventsPreview individual sessions across a date range
classes_commit_classCreate a class with a full recurring session schedule

Editing classes & sessions

Every edit is a two-step preview → confirm — you call the same tool twice, and nothing changes until you approve the diff.

ToolWhat it does
classes_updateEdit a class — name, price, capacity, billing period, instructor, venue, or duration. Call once to preview, again with the token to apply
sessions_updateEdit specific sessions — reschedule a date/time, or change instructor, venue, or duration. Call once to preview, again with the token to apply. Can notify affected clients
classes_update_course_settingsChange programme settings one section at a time — pricing, online booking, make-ups, trial, auto-enrolment, attendance, feedback, or archiving
trainers_add_helpersRegister additional lecturers (second instructor / assistant / helper) on classes and pick which sessions each works — "Martin Mondays, Peter Tuesdays, both Wednesdays". Call once to preview, again with the token to apply

Attendance

ToolWhat it does
sessions_find_eventsFind scheduled sessions by date, trainer, or programme
sessions_get_attendanceGet the attendance list for one session — who is enrolled and their current status
sessions_mark_attendanceRecord attendance for each participant (attended / absent / late-cancel)
sessions_add_summaryAdd a coach note or session summary to a completed event

Bookings

ToolWhat it does
bookings_findFind who is enrolled in a class, resolve a client, or list unpaid registrations
bookings_add_leadCapture an inbound enquiry as a trackable lead record. Does not enrol, charge, or email the customer

Client communication

ToolWhat it does
comms_list_templatesList the automated email templates Zooza sends to this company's clients
comms_send_messageEmail an audience (programme, class, booking, client, or segment). Call once to plan — nothing is sent — then again with the token to send
comms_find_repliesRead what customers replied back to your Zooza emails, and mark a reply todo or resolved so the same one isn't handled twice

Payments & instalment billing

Setting up instalments is three separate objects: the programme carries the price, a template says how to split it, and a plan attaches that split to one client's booking. A programme set to instalment collection produces no payment schedule until a template is attached, and a template on a programme is not inherited — each booking needs the plan applied.

ToolWhat it does
setup_add_payment_templateCreate a company-level payment plan template — how many instalments, how often, with what discount and rounding. The template never carries the price
setup_update_course_templatesChoose which templates a programme offers clients — attach new ones, and detach the ones Zooza auto-attached that shouldn't be there. Preview, then confirm
payments_add_planPut one booking on a payment plan. Preview returns the total and the instalment dates, then confirm to apply

Leads, labels & follow-up

ToolWhat it does
labels_markAttach or detach a label on a programme, class, or registration — tag a lead converted, flag one todo. Labels on a class can be visible on the public booking widget; the output tells you which
todos_addCreate a to-do for a colleague, optionally linked to the record it's about, with a due date — how you escalate something that needs a human
todos_markChange a to-do's status once it's been handled

Reporting

ToolWhat it does
reports_get_dataReturn real, pre-aggregated business numbers (occupancy, unpaid, attendance, revenue…) to compose a report

Lookups

ToolWhat it does
whoamiIdentify the connected user and list accessible companies/locations
classes_find_coursesSearch programmes by billing period, name, or status
classes_find_classesFind a specific class/group within a programme and resolve its schedule_id
classes_find_resource (kind:"billing_period")List billing periods (seasons/terms) for a company
classes_find_resource (kind:"trainer")List trainers available at a location
classes_find_resource (kind:"trainer_rate_type")List a company's trainer pay-rate types (used when assigning a rate)
classes_find_resource (kind:"place")List rooms and locations for a company

Free tools — Zooza domain knowledge (no API calls, no account needed)

These five tools carry Zooza-specific knowledge and work without credentials — no Zooza account required. Useful for exploring the data model, preparing messages, and setting up vocabulary before connecting live data.

ToolWhat it does
get_terminologyTranslate Zooza terms by region — e.g. "Programme" vs "Course" vs "Kurz"
explain_data_modelExplain how Zooza entities relate (Programme → Class → Session → Registration)
comms_list_merge_varsFull catalogue of merge variables for Zooza message templates
classes_list_schedule_patternsReference for recurrence patterns (weekly, bi-weekly, block, camp)
negotiate_terminologySave your business vocabulary to Claude memory for future sessions

Utilities

ToolWhat it does
get_skillLoad a guided playbook for multi-step workflows
submit_feedbackSubmit a feature request or bug report to the Zooza engineering team

Skills — guided activity workflows

Skills are playbooks that teach Claude how to combine tools correctly for real operational scenarios. Claude loads the right skill automatically when it detects a matching request.

SkillWhat it handles
onboarding-profileGuided first-run setup — identifies the business model, aligns vocabulary, and walks through the full setup checklist.
class-managementFull guided flow for creating a class: interview → schedule preview → confirmation.
schedule-optimizationBuild a whole weekly timetable for a new term — optimise from scratch or roll over the current period.
communicationGuided client email flow: work out the audience, pick a template or compose, preview recipient counts, send after confirmation.
report-discoveryMaps a business symptom ("feels like fewer kids coming") to the right metric and report.
report-composeBuild a focused, single-question report from the operator's real data — no invented numbers.
business-model-validatorCheck whether a proposed programme structure fits Zooza's pricing and billing model before building it.
negotiate-terminologyInterview the operator about their vocabulary and save the profile to Claude memory.
feedback-nudgeDraft and submit a bug report or feature request to the Zooza engineering team.
report-page-newAdd a brand-new page to the client reports app when a question has no existing view but the data exists.

Security & compliance

  • TLS on all traffic between your AI client and mcp.zooza.app
  • OAuth 2.0 — Claude receives a scoped token tied to your Zooza identity, not your password
  • Permission inheritance — Claude can only do what your Zooza account allows
  • Confirmation before write — all operations that create or change records require explicit confirmation
  • Stateless server — the MCP server holds no session state between requests. For security and debugging, Zooza keeps a server-side audit log of tool calls (which tool ran, its arguments, and the result); it stays within Zooza's own infrastructure and is never shared with third parties
  • GDPR-ready — Zooza processes data in accordance with GDPR. See the Privacy Policy and Terms of Personal Data Processing. EU accounts are routed to EU-region infrastructure.
  • Regional data routing — EU, UK, US, and Asia regions each route to their own infrastructure; your JWT determines the region automatically

Queries to Zooza MCP may be processed by your chosen AI provider (Anthropic, OpenAI, etc.). Review their data policies alongside Zooza's when evaluating compliance requirements. All write operations require explicit confirmation before execution.


What Zooza is

Zooza is an end-to-end class management and scheduling software platform for activity brands:

Dance & movement — dance academies, gymnastics, baby movement classes, yoga
Language & education — language schools, tutoring centres, STEAM / robotics / coding
Sports — martial arts, swim schools, tennis academies, sports clubs and franchises
Camps & seasonal — summer camps, holiday programmes, weekend workshops
Music — music schools, instrument lessons, group and individual programmes
Fitness & wellness — fitness studios, pilates, baby & toddler classes

All running on one platform, from a single location to an international franchise network.

Zooza handles the full operational lifecycle: programme setup, class scheduling, client bookings and registrations, attendance tracking, payment management, parent communication, and multi-location reporting — designed to automate the manual work that currently lives in spreadsheets, WhatsApp groups, and six different dashboard tabs.

Zooza MCP extends this platform to AI. Instead of clicking through dashboards, your team — from activity managers to franchise operators — can operate Zooza through natural language conversation using Claude, ChatGPT, or any AI client that speaks the Model Context Protocol.


Roadmap

ToolWhat it will do
cancel_dayCancel all classes on a date with optional parent notifications
transfer_bookingMove a client from one class to another
initiate_refundPrepare and confirm a credit or refund

For developers

Local development setup

Run locally

bash
git clone https://github.com/zooza-dev/zooza-mcp-servercd zooza-mcp-servernpm installcp .env.example .env   # fill in credentialsnpm run dev            # http://localhost:3001/mcp

Want to self-host, contribute, or build on top of this? The setup takes under 5 minutes — see the architecture section below.

Environment variables

VariableRequiredDescription
ZOOZA_API_BASEyesZooza API base URL (e.g. http://php-server/v1)
ZOOZA_API_KEYyesServer-wide API key for the MCP integration
MCP_RESOURCE_URLprodPublic URL of this MCP server
MCP_AUTH_SERVER_URLprodZooza OAuth server base URL
PORTnoHTTP port (default 3001)
ZOOZA_SERVER_REGIONnoeu (default) / uk / us / asia
ZOOZA_ALLOW_HARDCODED_AUTHdev onlySet true to skip JWT validation locally
ZOOZA_API_TOKENdev onlyDev-fallback token (only with hardcoded auth enabled)
AUDIT_LOG_PATHnoPer-tool-call JSONL audit log path (default logs/audit.log)

Smoke test

bash
curl -sS http://localhost:3001/mcp \  -H 'Content-Type: application/json' \  -H 'Accept: application/json, text/event-stream' \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Debug bookend workflow

Every tool call appends one JSON line to logs/audit.log. Each entry carries request_id, tool, args, outcome, result-or-error, and duration_ms.

Bookend pattern for debugging:

  1. "I'm about to call sessions_find_events." → Claude records the log line count
  2. Run the tool from your MCP client
  3. "done." → Claude reads the new lines and reports what the server saw

Architecture

Claude / ChatGPT (any MCP client)    │  Streamable HTTP over TLS    ▼mcp.zooza.app  (Node.js / TypeScript — stateless)    │  OAuth 2.0 JWT validation + regional routing    ▼Zooza API  (your data, your permissions)

The skills layer is a differentiator worth noting: skills are .md playbooks delivered as MCP prompts resources. An operator installs them locally (/install-plugin) and Claude loads the relevant one automatically. If you're building a vertical MCP server for another domain, the skills architecture is reusable — it separates "what tools do" from "how to use them together."


Support

help.zooza.online — Full documentation
zooza.online — Platform website
[email protected] — Get in touch
signup.zooza.online — Create a Zooza account

If this saves you time, a ⭐ helps others find it.


Built by Zooza — class management and scheduling software for activity brands.

来源:README.md,提交 e0dce26

工具

0
SourceWeft 尚未读取此服务器的工具。

版本历史

1
  1. v0.2.0最新Sep 16, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分