# Momence MCP connector

The Momence connector lets Claude, ChatGPT, Cursor, and the Elaichi Agent look up members, appointments, and memberships in Momence and make everyday changes, with each person signed in as themselves and every action recorded.

Source: https://elaichi.ai/connectors/momence/

## Facts

| | |
| --- | --- |
| Application | Momence |
| Category | Scheduling |
| AI tools | 73 |
| Authentication | Connects over OAuth |
| Needs your own OAuth app | Yes |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 73 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Momence is connected

- List tomorrow's appointment reservations for the studio.
- Which active bought memberships expire this month?
- Freeze memberships for members away in August.

## Connect Momence in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Momence.
2. Optionally set Share with, then press Connect.
3. Supply your own Momence app, then approve. Momence needs an OAuth app you register yourself, so bring its client ID and secret. One person does this once for the organization.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Momence tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Momence to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Momence to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Momence to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Momence to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Momence tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Momence through Elaichi

### Check who is booked in today

Front desk. Pull up the appointment reservations for the day and see which clients are coming in, so the desk is ready before the first class starts.

### Freeze memberships for a batch of clients

Membership. When a group of members asks to pause over the summer, freeze their memberships in one pass instead of opening each account by hand, and unfreeze them the same way when they return.

### Fix member contact details after a move

Client services. Update names, phone numbers, and email addresses across many member records at once when a client changes details or a duplicate has to be cleaned up.

### Sign up a walk-in on the spot

Sales. Create the new member record and start a checkout for the membership they picked while they are still standing at the counter.

### See which memberships are still active

Studio management. Ask for the list of active bought memberships and spot who is nearing the end of a plan or has credits left to use.

### Adjust credits and set up checkout prices

Finance. Top up or correct class credits on bought memberships in bulk, and create a price for a new package so it can be checked out straight away.

## Frequently asked questions

### How do I connect Momence to Claude?

First, register an OAuth application inside your Momence account and paste its client ID and secret into Elaichi once when you add the Momence connector; after that nobody has to handle those values again. Second, open Claude, go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the address. Claude will ask you to sign in with your own Elaichi login, and Momence is then available in your conversations.

### Does Momence work with ChatGPT and Cursor as well as Claude?

Yes. Once Momence is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect Momence once and use it from whichever client your team prefers.

### What can an AI agent actually do with my Momence data?

An agent connected to Momence can look up members and their appointments, list today's reservations, show which bought memberships are active, and pull up a single member's record. It can also add a new member, create a checkout or a price, freeze or unfreeze memberships in bulk, adjust credits, and update names, phone numbers, and emails. Because Momence exposes a lot of actions, short concrete asks such as "list active memberships" work better than long paragraphs.

### Does connecting Momence give the AI access to every member and membership?

No. Access to Momence follows the person who signed in, so the agent can only see the members, appointments, and memberships that person could already see in Momence. Elaichi can narrow that access further, for example to read-only, but it can never widen it beyond what the person already has.

### Can my team share one Momence connection?

Yes. One person connects Momence in Elaichi and shares the connection with a team, and nobody else ever sees or handles the client ID, secret, or any credential. Each teammate still signs in as themselves, so the audit log names the actual person who looked up a member or froze a membership in Momence.

### Can I stop an agent from deleting or changing things in Momence?

Yes. Restrictions in Elaichi apply per action, so you can allow reading Momence members and appointments while blocking bulk updates, freezes, or deletions of phone numbers. A blocked action is never shown to Claude, ChatGPT, or any other client at all, so no prompt, however worded, can reach it.

### What happens to a Momence connection when someone leaves?

When you offboard someone in Elaichi, their access to Momence through every client ends at once. A Momence connection that was shared with a team keeps working for everyone else on that team. If you want Momence gone entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client together.

## All 73 Momence tools

Every tool below is callable through https://api.elaichi.ai/mcp once Momence is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Momence auth authorizes** (List). Initiate the OAuth2 authorization code flow in Momence by redirecting the user to the authorize endpoint. The user sees a Momence login screen and, upon successful authentication, is redirected back to the provided redirect_uri with an authorization code. The returned response is a browser-facing HTML page or HTTP redirect, not a JSON body.
- **Create a Momence auth token** (Create). Obtain a new OAuth2 access token in Momence using the password, refresh_token, or authorization_code grant type. Returns: accessToken, access_token, accessTokenExpiresAt, refreshToken, refresh_token, refreshTokenExpiresAt. Additional fields (username/password, refresh_token, or code) are required depending on the chosen grant type; client credentials may be sent in the body…
- **List all Momence auth profiles** (List). Get the currently logged-in user's profile in Momence. Returns: userId, memberId, email, firstName, lastName.
- **Create a Momence auth logout** (Create). Invalidate the provided access token, ending the current Momence session. Returns an empty 201 response on success. No required parameters.
- **List all Momence appointments reservations** (List). List all appointment reservations in Momence with optional filtering by date range, cancellation status, and payment status. Returns: id, createdAt, cancelledAt, startsAt, endsAt, durationInMinutes, priceInCurrency, depositInCurrency, isDepositPaid, currency, isPaid, capacity, board, service, serviceVariant, teacher, additionalTeacher, isInPerson, inPersonLocation, onlineStreamUrl,…
- **Create a Momence checkout compatible membership** (Create). Get bought memberships compatible with a specified member's checkout cart in Momence. Returns: items. Incompatible memberships are also returned with an incompatibility reason so you can display why a membership cannot be used. Required: memberId, items.
- **Create a Momence checkout price** (Create). Get checkout prices for a member's cart in Momence. Call this before the checkout endpoint to fetch correct prices for every item in the cart. Returns: items with per-item pricing data. Required: memberId, items, paymentMethods.
- **Create a Momence host checkout** (Create). Perform checkout in Momence, paying for cart items on behalf of a specified member. Returns: items (list of purchased items). Currently only supports buying sessions with membership payment; fetch correct prices from /prices and verify membership compatibility via /compatible-memberships before calling. Required: memberId, items, paymentMethods.
- **List all Momence member appointments** (List). List appointment reservations for a specific Momence member, with optional date-range and cancellation filters. Returns: id, createdAt, cancelledAt, startsAt, endsAt, durationInMinutes, priceInCurrency, depositInCurrency, isDepositPaid, currency, isPaid, capacity, board, service, serviceVariant, teacher, additionalTeacher, isInPerson, inPersonLocation, onlineStreamUrl, onlineStreamPassword,…. Required: member_id.
- **List all Momence bought memberships actives** (List). List all active subscriptions and packs for a specific member in Momence. Returns: id, type, startDate, endDate, isFrozen, eventCreditsLeft, eventCreditsTotal, moneyCreditsLeft, moneyCreditsTotal, usageLimitForSessions, usageLimitForAppointments, combinedUsageLimit, usedSessions, usedAppointments, combinedUsage, usageLimitStartDate, usageLimitEndDate, membership, freeze, declinedRenewal.…. Required: member_id.
- **Momence bought membership credits bulk update** (Update). Update credits of a package-events or package-money bought membership for a specific member in Momence. Returns the updated bought membership credit information reflecting the new credit balance. Required: member_id, bought_membership_id.
- **Momence bought membership membership freezes bulk update** (Update). Freeze a bought membership immediately or schedule a future freeze/unfreeze in Momence (host-scoped endpoint). Returns an empty 200 response on success. Required: member_id, bought_membership_id, freezeType, freezeAt, unfreezeType, unfreezeAt.
- **Bought membership membership schedule freezes bulk update** (Update). Schedule a bought membership freeze in Momence. Returns an empty response on success. Required: member_id, bought_membership_id, freezeType, freezeAt.
- **Bought membership membership schedule freezes bulk delete** (Delete). Unfreeze a bought membership or remove a scheduled freeze in Momence. Returns an empty response on success. Required: member_id, bought_membership_id.
- **Bought membership membership schedule unfreezes bulk update** (Update). Schedule a bought membership unfreeze for a specific member in Momence (host-scoped endpoint). Returns an empty 200 response on success. Required: member_id, bought_membership_id, unfreezeType, unfreezeAt.
- **Bought membership membership schedule unfreezes bulk delete** (Delete). Remove a scheduled membership unfreeze for a specific member's bought membership in Momence (host-scoped endpoint). Returns an empty 200 response on success. Required: member_id, bought_membership_id.
- **List all Momence host members** (List). List members (customers) associated with the current host in Momence. Returns: id, firstName, lastName, email, phoneNumber, pictureUrl, firstSeen, lastSeen, visits, customerFields, customerTags, memberId, firstSeenAt, lastSeenAt. Max 100 per page.
- **Create a Momence host member** (Create). Add a new member to a host in Momence. Returns the created member including memberId, email, firstName, lastName, firstSeenAt, and lastSeenAt. Required: email, firstName, lastName.
- **Get single Momence host member by ID** (Get). Get a single member by id in Momence. Returns: id, email, visits, memberId. Required: id.
- **Momence member names bulk update** (Update). Update a Momence member's first and last name. Returns: memberId, firstName, lastName, email. Required: member_id, firstName, lastName.
- **Momence member phone numbers bulk update** (Update). Update a member's phone number in Momence via the host API. Returns an empty 200 response on success. Required: member_id, phoneNumber.
- **Momence member phone numbers bulk delete** (Delete). Delete all phone number records for a member in Momence via the host API. Returns an empty 200 response on success. Required: member_id.
- **Momence member emails bulk update** (Update). Update a member's email address in Momence. Returns the updated member object including memberId, email, firstName, and lastName. Required: member_id, email.
- **List all Momence host memberships** (List). List available host memberships in Momence via the host API. Returns: id, name, description, type, locationId, disabled, autoRenewing, minimumAutoRenews, eventCredits, moneyCredits, duration, durationUnit, isActivatedOnFirstUse, activationDeadlineInDays, hasFreeTrial, freeTrialDurationInDays, contractAgreement, order, isIntroOffer, usageLimitForSessions, usageLimitForAppointments,…
- **List all Momence member notes** (List). List notes for a specific Momence member. Returns: id, createdAt, modifiedAt, type, note, imageLink, customerNoteTemplateId, sessionBookingId, appointmentReservationId, productOrderId, boughtMembershipId, paymentTransactionId, lockedAt, lockedByUserId. Max 100 items per page. Required: member_id.
- **List all Momence member sessions** (List). List session bookings for a specific member in Momence. Returns: id, createdAt, roomSpotId, checkedIn, cancelledAt, session. Required: member_id.
- **Create a Momence member tag** (Create). Assign a tag to a Momence member. Returns an empty 201 response on success. Required: member_id, tag_id.
- **Delete a Momence member tag by ID** (Delete). Unassign a tag from a Momence member. Returns an empty 200 response on success. Required: id, member_id.
- **List all Momence host sales** (List). List host sales in Momence, sorted newest-first by default. Returns each sale with memberId, customerName, customerEmail, paymentValue, paymentStatus, paymentMethod, paymentDate, saleItemId, transactionItems, saleReference, and details. Experimental feature — contact Momence support to enable.
- **Create a Momence session booking check in** (Create). Mark a Momence session booking as checked-in. Returns an empty response on success. Required: booking_id.
- **Momence session booking check ins bulk delete** (Delete). Remove the check-in from a Momence session booking, marking it as not checked-in. Returns an empty response on success. Required: booking_id.
- **Delete a Momence host session booking by ID** (Delete). Cancel a single session booking in Momence by id. Returns an empty 200 response on success. Does not cancel or impact recurring bookings; a separate endpoint handles those. Required: id, refund, disableNotifications, isLateCancellation.
- **Delete a Momence host session recurring booking by ID** (Delete). Cancel a recurring session booking in Momence by id. This cancels both the recurring booking and all individual bookings originating from it; the id corresponds to the recurringBookingId field from the session booking list response. Returns an empty response on success. Required: id.
- **List all Momence host sessions** (List). List Momence host sessions with optional filtering by type, teacher, location, and date range. Returns: id, name, type, description, startsAt, endsAt, durationInMinutes, capacity, bookingCount, teacher, isRecurring, isCancelled, isInPerson, isDraft, inPersonLocation, onlineStreamUrl, onlineStreamPassword, bannerImageUrl, hostPhotoUrl, tags, sessionId, roomId, teacherId, payrateId, locationId,…
- **Get single Momence host session by ID** (Get). Get a single Momence host session detail by id. Returns: sessionId, type, roomId, teacherId, payrateId, locationId, sessionTemplateId, sessionSemesterOccurrenceId, name, startsAt, endsAt, capacity, durationMinutes, description. Required: id.
- **List all Momence session bookings** (List). List session bookings for a specific Momence session. Returns each booking's id, recurringBookingId, firstName, lastName, and createdAt. Required: session_id.
- **Create a Momence bookings free** (Create). Add a member to a Momence session for free (staff action). Returns: sessionBookingId, sessionId, payingMemberId, targetMemberId. Required: session_id, memberId.
- **Create a Momence waitlist booking** (Create). Add a member to a session waitlist in Momence. Returns: sessionBookingId, sessionId, payingMemberId, targetMemberId. Required: session_id, memberId.
- **List all Momence host tags** (List). List available host tags in Momence. Returns: id, name, isCustomerBadge, badgeLabel, badgeColor, corporateTagId. Max 100 per page.
- **List all Momence member addresses** (List). List member addresses in Momence. Returns: id, address, zipcode, city, country, createdAt. Sort results by createdAt in ascending or descending order.
- **Create a Momence member address** (Create). Create a member address in Momence. Returns: id, address, zipcode, city, country, createdAt. Required: address, zipcode, city, country.
- **Get single Momence member address by ID** (Get). Get a single member address by id in Momence. Returns: id, address, zipcode, city, country, createdAt. Required: id.
- **Update a Momence member address by ID** (Update). Update a member address by id in Momence. Returns: id, address, zipcode, city, country, createdAt. Required: id, address, zipcode, city, country.
- **Delete a Momence member address by ID** (Delete). Delete a member address by id in Momence. Returns an empty response on success. Required: id.
- **Create a Momence member checkout** (Create). Perform checkout for a Momence member, processing payment for cart items. Returns the list of purchased items, each including id, type, sessionId, and attemptedPriceInCurrency. Only one item per request is currently supported; call /prices and /compatible-memberships before checkout to validate the cart. Required: items, paymentMethods.
- **List all Momence members** (List). Get information about the currently logged-in Momence member. Returns: id, firstName, lastName, email, phoneNumber, pictureUrl, memberId.
- **Momence members bulk update** (Update). Update the currently logged-in Momence member's details. Email and phone number must be changed via the /email and /phone-number endpoints respectively. Returns an empty 200 response on success. Required: firstName, lastName.
- **List all Momence member visits** (List). List visit counts for the current authenticated member in Momence. Returns the member's visit count data as described by the MemberVisitsDto schema. No caller-supplied parameters are required.
- **Create a Momence member password reset email** (Create). Request a password reset email for a member in Momence. The endpoint triggers Momence to send a password reset email to the user. Returns an empty 201 response on success.
- **List all Momence host locations** (List). List available host locations in Momence. Returns: id, parentLocationId, name, timeZone, fullAddress, address, city, countryCode, zipCode, latitude, longitude, isPhysical. Max 200 per page.
- **List all Momence host signable documents** (List). List signable documents (waivers, privacy policy, contracts) with signature status for the current member's host in Momence. Returns: id, type, status.
- **Momence signable documents signs bulk update** (Update). Sign one or multiple signable documents (waivers, privacy policy, contracts...) in Momence using a single signature. Returns an empty 200 response on success. Requires a JSON request body (MemberSignDocumentRequestDto).
- **List all Momence member saved payment methods** (List). List saved payment methods for the currently authenticated Momence member. Returns: paymentMethods.
- **Create a Momence member saved payment method** (Create). Generate a temporary pre-authenticated URL for adding a saved payment method via a Momence-hosted form. After the user completes, they are redirected back to the provided return URL. Returns: paymentMethods. The URL is valid for 3600 seconds. Required: redirectUrl.
- **Delete a Momence member saved payment method by ID** (Delete). Remove a saved payment method for the currently authenticated Momence member by id. Returns an empty 200 response on success. The last payment method cannot be deleted if the member has an active non-cancellable subscription. Required: id.
- **Create a Momence host report** (Create). Initiate report generation in Momence. Returns the report run with id, status, parameters, and data. Generation is async; poll the get endpoint for completed data. Required: parameters.
- **Get single Momence host report by ID** (Get). Retrieve a Momence report run by id. Returns the report run with id, status, parameters, and data (including report items when completed). Required: id.
- **Create a Momence member checkout compatible membership** (Create). Get bought memberships potentially compatible with a Momence checkout cart, including incompatible ones with an incompatibility reason. Returns: items. Required: items.
- **Create a Momence member checkout price** (Create). Fetch correct prices for every item in a member checkout cart in Momence before calling checkout. Returns: items with id, type, and price details for each cart item. The checkout endpoint will reject any request that doesn't contain correct prices, even when using memberships to pay. Required: items, paymentMethods.
- **List all Momence member bought memberships actives** (List). List active bought memberships for the authenticated member in Momence. Returns a paginated list of bought membership objects including boughtMembershipId and membership details such as subscription end dates and remaining event credits.
- **Momence member bought membership freezes bulk update** (Update). Freeze a bought membership in Momence immediately or schedule a future freeze and unfreeze. Returns a 200 response on success. A JSON request body is required but its individual fields are not documented in the available source. Required: bought_membership_id, freezeType, freezeAt, unfreezeType, unfreezeAt.
- **Momence member bought membership schedule freezes bulk update** (Update). Schedule a future freeze for a bought membership in Momence. Returns a 200 response on success; no response body fields are documented in the API specification. Required: bought_membership_id, freezeType, freezeAt.
- **Momence member bought membership schedule freezes bulk delete** (Delete). Remove a scheduled freeze or unfreeze a bought membership in Momence. Returns an empty 204 response on success. Required: bought_membership_id.
- **Momence member bought membership schedule unfreezes bulk update** (Update). Schedule a bought membership unfreeze in Momence for a future date. Returns an empty 200 response on success. Required: bought_membership_id, unfreezeType, unfreezeAt.
- **Momence member bought membership schedule unfreezes bulk delete** (Delete). Remove a scheduled unfreeze from a bought membership in Momence. Returns an empty 200 response on success. Required: bought_membership_id.
- **Momence member self phone numbers bulk update** (Update). Update the phone number of the currently authenticated Momence member. Changes the user's phone number via a JSON request body. Returns an empty 200 response on success. Required: phoneNumber.
- **Momence member self phone numbers bulk delete** (Delete). Delete all phone number records for the currently logged member in Momence. Returns an empty 200 response on success. No required parameters — the member is inferred from the authenticated session.
- **Momence member self emails bulk update** (Update). Update the email of the currently authenticated Momence member. Returns an empty response on success. A request body is required. Required: email.
- **List all Momence member host memberships** (List). List available host memberships in Momence. Returns: id, name, description, type, locationId, disabled, autoRenewing, minimumAutoRenews, eventCredits, moneyCredits, duration, durationUnit, isActivatedOnFirstUse, activationDeadlineInDays, hasFreeTrial, freeTrialDurationInDays, contractAgreement, order, isIntroOffer, usageLimitForSessions, usageLimitForAppointments, combinedUsageLimitEnabled,…
- **List all Momence member host sessions** (List). List available host sessions in Momence, filterable by session type, teacher, location, and date range. Returns: id, name, type, description, startsAt, endsAt, durationInMinutes, capacity, participants, waitlistEnabled, waitlistCapacity, salesCutoffInMinutes, isCancelled, priceType, fixedTicketPrice, dynamicTicketPriceMin, dynamicTicketPriceMax, dynamicTicketFreeOptionEnabled, teacher,…
- **List all Momence member self sessions** (List). List session bookings for the currently authenticated Momence member. Returns: id, createdAt, roomSpotId, checkedIn, cancelledAt, isRecurring, session, sessionId, name, startsAt, endsAt. Supports sorting and date-based filtering via startAfter and endAfter.
- **Delete a Momence member self session by ID** (Delete). Cancel a Momence session booking by id. Returns an empty 200 response on success. Required: id.
- **List all Momence search host members** (List). Search and list Momence host members with filters. Returns: id, email, visits, memberId. Max 100 per page. Required: page, pageSize.
