Move Studios Staff Ops is a remote MCP server that gives an AI agent 41 tools, among them add_client_note, add_client_to_class, adjust_account_balance. It answers at https://zyrwvuiyxmqsbfckzhkd.supabase.co/functions/v1/mcp-server over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 10 of 10 times since 5 September 2026; the last check, on 25 October 2026, succeeded.
Move Studios staff ops: bookings, attendance, clients, memberships, payments. Login required.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
add_client_note | Add a staff note to a client's MarianaTek profile (e.g. injury, preferences, conversation summary). Pin it to keep it at the top. [requires scope: client] Inputs: client_id, email, text, pinned |
add_client_to_class | Book a client into a class session (or its waitlist). Uses the client's first available membership/credit unless payment_option_id is given. [requires scope: book] Inputs: client_id, class_session_id, waitlist, payment_option_id, payment_option_type, spot_id |
adjust_account_balance | Add (positive) or remove (negative) store credit on a client's MarianaTek account balance. Use for goodwill credits or credit-based refunds instead of a card refund. [requires scope: money] Inputs: client_id, amount, note |
attendance_report | Attendance for every class in a Pacific date range (default: last 7 days), grouped by class, instructor, or day. Includes member / ClassPass / WellHub / family-staff / other breakdown and no-show counts. [requires scope: read] Inputs: date_from, date_to, group_by |
cancel_class | Cancel an entire class session in MarianaTek (every booking is cancelled and the membership/credit returned) and notify everyone who was booked. By default each attendee also gets the studio's standard $1 apology credit via the emergency-ca Inputs: class_session_id, notify, apology_credit, confirm_class_name |
cancel_membership | Cancel a membership. mode='end_of_cycle' (default) lets the client keep using it until the current paid period ends and stops future billing; mode='immediate' terminates it right now. Confirm with the user first. [requires scope: money] Inputs: membership_id, mode, reason, note |
charge_client | Sell a product to a client and charge their saved card on file. Safety: you must pass expected_total (what you told the client) and it must match the cart total to the cent, or nothing is charged. Run list_products and get_client first. [re Inputs: client_id, product_id, quantity, expected_total, bankcard_id |
check_in_client | Mark a client as checked in (arrived) for a class session. [requires scope: book] Inputs: client_id, class_session_id |
create_client | Create a brand-new client (customer account) in MarianaTek. Fails if the email already exists. [requires scope: client] Inputs: first_name, last_name, email, phone, birth_date, marketing_opt_in |
extend_membership | Push a membership's end date later (e.g. goodwill days after a cancelled class). Date is YYYY-MM-DD Pacific. [requires scope: money] Inputs: membership_id, new_end_date, note |
freeze_membership | Freeze a membership from a start date until a reactivation date (billing and usage pause). Dates are YYYY-MM-DD Pacific. [requires scope: money] Inputs: membership_id, freeze_from, reactivate_on, note |
get_class_roster | Who is booked into one class session: each attendee's name, email, status, check-in time, and membership type used. [requires scope: read] Inputs: class_session_id |
get_client | Full profile for one client: contact info, memberships, account balance, saved cards (masked), upcoming reservations, recent attendance. [requires scope: read] Inputs: client_id, email |
get_client_notes | Staff notes on a client's MarianaTek profile, newest first, plus their tags. [requires scope: read] Inputs: client_id, email |
get_credit_history | A client's class-credit transactions (packs bought/used/expired, comps) and account-balance (store credit) history. [requires scope: read] Inputs: client_id, email, limit |
get_instructor_schedule | Classes one instructor is teaching in a Pacific date range (default: next 7 days), with booked counts. [requires scope: read] Inputs: instructor, date_from, date_to |
get_membership | Live details for one membership instance (status, dates, next charge, freeze, cancellation). membership ids come from get_client. [requires scope: read] Inputs: membership_id |
get_order | Live order details from MarianaTek including refundability, items with item_id (needed for partial refunds), payments and prior refunds. [requires scope: read] Inputs: order_id |
get_payment_options | Ways a client can pay for a specific class (membership, credits). Use before add_client_to_class when you want to pick a specific option. [requires scope: read] Inputs: client_id, class_session_id |
get_reservation_history | A client's booking history with counts of attended, late/penalty cancels, no-shows and graced cancels. Use it to decide on fee waivers. [requires scope: read] Inputs: client_id, email, days, limit |
get_spot_map | Reformer/spot layout for a class session: each spot number, who is on it, and which spots are free. [requires scope: read] Inputs: class_session_id |
get_waitlist | List the waitlist for a class session in order, plus current booked count and capacity. [requires scope: read] Inputs: class_session_id |
list_classes | List class sessions in a Pacific-time date range (default: today) with booked counts. Filter by instructor or class name. [requires scope: read] Inputs: date_from, date_to, instructor, class_name |
list_client_orders | Recent orders for a client (from the synced orders table). Use get_order for live refund eligibility. [requires scope: read] Inputs: client_id, email, limit |
list_instructors | All instructors with contact info, active flag, classes taught in the last 30 days and scheduled in the next 14 days. [requires scope: read] Inputs: include_inactive |
list_products | Sellable products (memberships, class packs, retail) with prices. Use child_product_id with charge_client. [requires scope: read] Inputs: query, include_inactive |
list_tags | Available client tags in MarianaTek (VIP, Extra Care, etc.). System tags cannot be assigned manually. [requires scope: read] |
login | Sign in with your Move Studios dashboard email and password. Required before using any other tool. Your dashboard role decides which tools you can use. Inputs: email, password |
logout | Sign out of this MCP session. |
move_client_spot | Move a booked client to a different reformer/spot in the same class. Use get_spot_map to see spot ids and which are free. [requires scope: book] Inputs: client_id, class_session_id, spot |
move_client_to_class | Move a client from one class session to another (cancels the first, then books the second using their available membership/credits). [requires scope: book] Inputs: client_id, from_class_session_id, to_class_session_id |
promote_from_waitlist | Move a waitlisted client into the class as a confirmed booking (removes their waitlist spot, then books them with their available membership/credits). Fails cleanly if the class is full unless allow_overbook is true. [requires scope: book] Inputs: client_id, class_session_id, allow_overbook, spot_id |
refund_order | Refund an order back to the original payment source. Refunds the whole order unless item_ids (from get_order) are given. Memberships/packs are terminated on refund unless refund_without_termination is true. [requires scope: money] Inputs: order_id, item_ids, restock, refund_without_termination, reason, note |
remove_client_from_class | Cancel a client's reservation for a class session. MarianaTek applies its normal late-cancel policy; the membership/credit is returned per that policy. [requires scope: book] Inputs: client_id, class_session_id, reservation_id |
search_clients | Find clients by name or email. Returns client_id, name, email. Use the client_id in other tools. [requires scope: read] Inputs: query, limit |
send_email | Send a plain-text email from Move Studios to a client (by client_id) or any address. Replies go to the logged-in staff member unless reply_to is set. [requires scope: email] Inputs: client_id, to, subject, body, reply_to, bcc_me |
send_sms | Text a client via Twilio using the mobile number on their MarianaTek profile. Only sends if the client has opted in to transactional SMS unless override_opt_in is true. [requires scope: email] Inputs: client_id, email, message, override_opt_in |
set_class_capacity | Change a class session's capacity and/or waitlist capacity. [requires scope: book] Inputs: class_session_id, capacity, waitlist_capacity |
set_client_tag | Add or remove a manual tag (by name) on a client, e.g. 'VIP' or 'Extra Care'. [requires scope: client] Inputs: client_id, email, tag, action |
unfreeze_membership | End an active freeze today so the membership resumes. [requires scope: money] Inputs: membership_id |
whoami
Every block below points at https://zyrwvuiyxmqsbfckzhkd.supabase.co/functions/v1/mcp-server. Pick your client and copy.
claude mcp add --transport http move-studios-staff-ops https://zyrwvuiyxmqsbfckzhkd.supabase.co/functions/v1/mcp-server
{
"mcpServers": {
"move-studios-staff-ops": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://zyrwvuiyxmqsbfckzhkd.supabase.co/functions/v1/mcp-server"]
}
}
}{
"mcpServers": {
"move-studios-staff-ops": {
"url": "https://zyrwvuiyxmqsbfckzhkd.supabase.co/functions/v1/mcp-server"
}
}
}{
"servers": {
"move-studios-staff-ops": {
"type": "http",
"url": "https://zyrwvuiyxmqsbfckzhkd.supabase.co/functions/v1/mcp-server"
}
}
}{
"context_servers": {
"move-studios-staff-ops": {
"url": "https://zyrwvuiyxmqsbfckzhkd.supabase.co/functions/v1/mcp-server"
}
}
}{
"mcpServers": {
"move-studios-staff-ops": {
"serverUrl": "https://zyrwvuiyxmqsbfckzhkd.supabase.co/functions/v1/mcp-server"
}
}
}{
"mcpServers": {
"move-studios-staff-ops": {
"url": "https://zyrwvuiyxmqsbfckzhkd.supabase.co/functions/v1/mcp-server"
}
}
}name: Move Studios Staff Ops
version: 0.0.1
schema: v1
mcpServers:
- name: Move Studios Staff Ops
type: streamable-http
url: https://zyrwvuiyxmqsbfckzhkd.supabase.co/functions/v1/mcp-server{
"mcpServers": {
"move-studios-staff-ops": {
"httpUrl": "https://zyrwvuiyxmqsbfckzhkd.supabase.co/functions/v1/mcp-server"
}
}
}{
"mcpServers": {
"move-studios-staff-ops": {
"type": "http",
"url": "https://zyrwvuiyxmqsbfckzhkd.supabase.co/functions/v1/mcp-server"
}
}
}{
"mcpServers": {
"move-studios-staff-ops": {
"url": "https://zyrwvuiyxmqsbfckzhkd.supabase.co/functions/v1/mcp-server"
}
}
}goose://extension?url=https%3A%2F%2Fzyrwvuiyxmqsbfckzhkd.supabase.co%2Ffunctions%2Fv1%2Fmcp-server&type=streamable_http&id=move-studios-staff-ops&name=Move%20Studios%20Staff%20Ops
It answered our last check on 25 October 2026 in 278 ms. Over 10 checks since 5 September 2026 it answered 10. Status here comes from Neuronto's own probes, not from the publisher.
41, as returned by the server's own tools/list on 5 September 2026: add_client_note, add_client_to_class, adjust_account_balance, attendance_report, cancel_class, cancel_membership, charge_client, check_in_client, and 33 more.
It answered our last check on 25 October 2026 in 278 ms. Over 10 checks since 5 September 2026 it answered 10.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://zyrwvuiyxmqsbfckzhkd.supabase.co/functions/v1/mcp-server. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: com.move-studios. Endpoint host: zyrwvuiyxmqsbfckzhkd.supabase.co. ARD identifier: urn:air:com.move-studios:mcp:staff-ops.
First indexed 5 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.