# io.usefulapi/momence (remote · momence.usefulapi.io)

Look up Momence members, class schedules, bookings and memberships, and handle front-desk actions.

- Trust score: 77/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-03

## Components

- remote · `momence.usefulapi.io`: 77/100 (this document), [markdown](https://verifymcp.io/servers/io-usefulapi-momence/momence.md), [page](https://verifymcp.io/servers/io-usefulapi-momence/momence)

## Channel facts

- Endpoint: `https://momence.usefulapi.io/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-03.

- **Endpoint Security**: 89/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 74/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3381 tokens (~147/item across 23 items; 23 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 10/100
  - Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 23 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 23 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the io.usefulapi/momence MCP server?

io.usefulapi/momence is a hosted endpoint at https://momence.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http io-usefulapi-momence 'https://momence.usefulapi.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-usefulapi-momence": {
      "url": "https://momence.usefulapi.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-usefulapi-momence": {
      "type": "http",
      "url": "https://momence.usefulapi.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-usefulapi-momence]
url = "https://momence.usefulapi.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-usefulapi-momence": {
      "type": "remote",
      "url": "https://momence.usefulapi.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-usefulapi-momence --url 'https://momence.usefulapi.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-usefulapi-momence:
    url: "https://momence.usefulapi.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-usefulapi-momence": {
      "Transport": "http",
      "Url": "https://momence.usefulapi.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-usefulapi-momence -t streamable-http -u 'https://momence.usefulapi.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-momence": {
      "type": "http",
      "url": "https://momence.usefulapi.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-03 (score 77, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-02 (score 76, +58)

- [security improvement] HTTPS: unverified → pass
- [security improvement] Authorization: unverified → pass
- [security improvement] Injection markers: unverified → pass
- [security improvement] Transport: fail → pass
- [functional regression] MCP protocol: unverified → fail
- [functional improvement] Endpoint reachability: not serving MCP → reachable
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Stability: unverified → 0.07
- [functional] Server version: 1.0.0 → 1.5.1

### 2026-10-01 (score 18, −53)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Tool safety: pass → unverified
- [security regression] Authorization: pass → unverified
- [security regression] Transport: pass → fail
- [functional regression] Capabilities: fail → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-09-30 (score 71, +50)

- [security improvement] Transport: unverified → pass
- [security improvement] Authorization: unverified → pass
- [security improvement] Injection markers: unverified → pass
- [security] First check of Judged manipulation: pass
- [security] First check of Authorization: partial
- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: excellent
- [functional] First check of Destructive annotations: pass
- [functional] First check of Schema quality: fail
- [functional] First check of Tool coverage: 100
- [functional] This server's schema is too large to store in full, so we cannot compare its tools day to day

### 2026-09-29 (score 21)

First indexed and scored.

## MCP tools (23)

### `momence_get_current_user` (~48 tokens)

Get the logged-in user

Return the staff user the API is acting as (userId, email, name). A cheap way to confirm the credentials work. Momence: GET /api/v2/auth/profile.

### `momence_list_members` (~169 tokens)

List members

List or search the studio's customers (members), with visit counts, custom fields and tags. Search by name, email or phone with `query`; use filterPreset=with-active-membership for current members. Momence: GET /api/v2/host/members.

Input parameters:

- `filterPreset` (string): Only customers with an active membership.
- `page` (integer): Page number, starting at 0 (default 0).
- `pageSize` (integer): Rows per page, 1-100 (default 20).
- `query` (string): Search customers by name, email or phone.
- `sortBy` (string): Field to sort by.
- `sortOrder` (string): Sort direction.
- `staticSegmentId` (integer): Only customers in this static segment.

### `momence_get_member` (~59 tokens)

Get one member

Fetch one customer by id: contact details, first/last seen, visit counts, custom fields and tags. Momence: GET /api/v2/host/members/{memberId}.

Input parameters:

- `memberId` (integer, required): The member id.

### `momence_list_member_session_bookings` (~268 tokens)

List a member's class bookings

List the class/session bookings of one member, with the session details and check-in state. Momence: GET /api/v2/host/members/{memberId}/sessions.

Input parameters:

- `endAfter` (string): Only sessions ending after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z).
- `endBefore` (string): Only sessions ending before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z).
- `includeCancelled` (boolean): Also include cancelled bookings.
- `memberId` (integer, required): The member id.
- `page` (integer): Page number, starting at 0 (default 0).
- `pageSize` (integer): Rows per page, 1-100 (default 20).
- `sortOrder` (string): Sort direction.
- `startAfter` (string): Only sessions starting after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z).
- `startBefore` (string): Only sessions starting before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z).

### `momence_list_member_appointments` (~263 tokens)

List a member's appointments

List the appointment reservations (1:1 services) of one member. Momence: GET /api/v2/host/members/{memberId}/appointments.

Input parameters:

- `endAfter` (string): Only appointments ending after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z).
- `endBefore` (string): Only appointments ending before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z).
- `includeCancelled` (boolean): Also include cancelled appointments.
- `memberId` (integer, required): The member id.
- `page` (integer): Page number, starting at 0 (default 0).
- `pageSize` (integer): Rows per page, 1-200 (default 20).
- `sortOrder` (string): Sort direction.
- `startAfter` (string): Only appointments starting after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z).
- `startBefore` (string): Only appointments starting before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z).

### `momence_list_member_notes` (~114 tokens)

List a member's notes

List the staff notes (regular and SOAP) recorded on one member. Momence: GET /api/v2/host/members/{memberId}/notes.

Input parameters:

- `memberId` (integer, required): The member id.
- `page` (integer): Page number, starting at 0 (default 0).
- `pageSize` (integer): Rows per page, 1-100 (default 20).
- `sortBy` (string): Field to sort by.
- `sortOrder` (string): Sort direction.

### `momence_list_member_memberships` (~123 tokens)

List a member's active memberships

List one member's active subscriptions and class packs (bought memberships): type, dates, credits left, usage limits and freeze state. Momence: GET /api/v2/host/members/{memberId}/bought-memberships/active.

Input parameters:

- `includeFrozen` (boolean): Also include frozen memberships.
- `memberId` (integer, required): The member id.
- `page` (integer): Page number, starting at 0 (default 0).
- `pageSize` (integer): Rows per page, 1-200 (default 20).

### `momence_list_sessions` (~335 tokens)

List sessions (classes)

List the studio's scheduled sessions — classes, events, courses — with time, teacher, location, capacity and booking count. Filter by date window, type, teacher or location. Momence: GET /api/v2/host/sessions.

Input parameters:

- `endAfter` (string): Only sessions ending after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z).
- `endBefore` (string): Only sessions ending before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z).
- `includeCancelled` (boolean): Also include cancelled sessions.
- `includeChildLocations` (boolean): With locationId, also include its child locations.
- `locationId` (integer): Only sessions at this location.
- `page` (integer): Page number, starting at 0 (default 0).
- `pageSize` (integer): Rows per page, 1-200 (default 20).
- `sortBy` (string): Field to sort by.
- `sortOrder` (string): Sort direction.
- `startAfter` (string): Only sessions starting after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z).
- `startBefore` (string): Only sessions starting before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z).
- `teacherId` (integer): Only sessions taught by this teacher.
- `types` (array): Only these session types.

### `momence_get_session` (~66 tokens)

Get one session

Fetch one session's detail: times, capacity and booking count, waitlist capacity and count, teachers, location, online stream details and tags. Momence: GET /api/v2/host/sessions/{sessionId}.

Input parameters:

- `sessionId` (integer, required): The session id.

### `momence_list_session_bookings` (~143 tokens)

List a session's bookings (roster)

List who is booked into one session — the class roster — with each booking's id, member, check-in state and recurring-booking id. Momence: GET /api/v2/host/sessions/{sessionId}/bookings.

Input parameters:

- `includeCancelled` (boolean): Also include cancelled bookings.
- `page` (integer): Page number, starting at 0 (default 0).
- `pageSize` (integer): Rows per page, 1-100 (default 20).
- `sessionId` (integer, required): The session id.
- `sortBy` (string): Field to sort by.
- `sortOrder` (string): Sort direction.

### `momence_list_appointments` (~290 tokens)

List appointment reservations

List all appointment reservations across the studio (service, teacher, time, price, paid state, attendees). Momence: GET /api/v2/host/appointments/reservations.

Input parameters:

- `endAfter` (string): Only appointments ending after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z).
- `endBefore` (string): Only appointments ending before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z).
- `includeCancelled` (boolean): Also include cancelled appointments.
- `includeCancelledAttendees` (boolean): Also include attendees who cancelled.
- `isPaid` (boolean): Only paid (true) or unpaid (false) appointments.
- `page` (integer): Page number, starting at 0 (default 0).
- `pageSize` (integer): Rows per page, 1-200 (default 20).
- `sortOrder` (string): Sort direction.
- `startAfter` (string): Only appointments starting after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z).
- `startBefore` (string): Only appointments starting before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z).

### `momence_list_memberships` (~188 tokens)

List membership plans

List the membership plans the studio sells (subscriptions, class packs, money packs): pricing, duration, credits, usage limits, trial and intro-offer flags. Optionally only plans usable for a given session or appointment. Momence: GET /api/v2/host/memberships.

Input parameters:

- `compatibleWithAppointmentId` (integer): Only plans that can pay for this appointment.
- `compatibleWithSessionId` (integer): Only plans that can pay for this session.
- `includeDisabled` (boolean): Also include disabled plans.
- `onlyFeatured` (boolean): Only featured plans.
- `page` (integer): Page number, starting at 0 (default 0).
- `pageSize` (integer): Rows per page, 1-200 (default 20).
- `sortBy` (string): Field to sort by.
- `sortOrder` (string): Sort direction.

### `momence_list_tags` (~88 tokens)

List customer tags

List the customer tags defined for the studio (ids for momence_set_member_tag). Momence: GET /api/v2/host/tags.

Input parameters:

- `page` (integer): Page number, starting at 0 (default 0).
- `pageSize` (integer): Rows per page, 1-100 (default 20).
- `sortOrder` (string): Sort direction.

### `momence_list_customer_leads` (~170 tokens)

List customer leads

List the studio's sales leads, open and converted (a non-null memberId means converted). Filter by search text, lead source or pipeline stage; resolve the ids with momence_list_lead_sources / momence_list_lead_stages. Momence: GET /api/v2/host/customer-leads.

Input parameters:

- `page` (integer): Page number, starting at 0 (default 0).
- `pageSize` (integer): Rows per page, 1-100 (default 20).
- `query` (string): Search leads by first name, last name, email or phone.
- `sortOrder` (string): Sort direction.
- `sourceId` (integer): Only leads from this lead source.
- `stageId` (integer): Only leads in this lead stage.

### `momence_list_lead_sources` (~101 tokens)

List lead sources

List lead sources (resolves the sourceId on customer leads). Momence: GET /api/v2/host/customer-lead-sources.

Input parameters:

- `page` (integer): Page number, starting at 0 (default 0).
- `pageSize` (integer): Rows per page, 1-100 (default 20).
- `query` (string): Search lead sources by name.
- `sortOrder` (string): Sort direction.

### `momence_list_lead_stages` (~115 tokens)

List lead stages

List lead pipeline stages (resolves the stageId on customer leads). Momence: GET /api/v2/host/customer-lead-stages.

Input parameters:

- `page` (integer): Page number, starting at 0 (default 0).
- `pageSize` (integer): Rows per page, 1-100 (default 20).
- `query` (string): Search lead stages by name.
- `sortBy` (string): Field to sort by.
- `sortOrder` (string): Sort direction.

### `momence_create_member` (~92 tokens)

Add a member

Add a new customer to the studio. Returns the new memberId. Momence: POST /api/v2/host/members.

Input parameters:

- `email` (string, required): The customer's email address.
- `firstName` (string, required): First name.
- `homeLocationId` (integer): The customer's home location id.
- `lastName` (string, required): Last name.
- `phoneNumber` (string): Phone number.

### `momence_update_member` (~142 tokens)

Update a member's name, email or phone

Correct a customer's contact details. Give firstName+lastName together to rename, and/or email, and/or phoneNumber; each is a separate Momence call (PUT /api/v2/host/members/{memberId}/name, /email, /phone-number) and they run in that order, stopping at the first failure.

Input parameters:

- `email` (string): New email address.
- `firstName` (string): New first name (requires lastName too).
- `lastName` (string): New last name (requires firstName too).
- `memberId` (integer, required): The member id.
- `phoneNumber` (string): New phone number.

### `momence_set_member_tag` (~103 tokens)

Tag or untag a member

Assign a customer tag to a member (assigned=true) or remove it (assigned=false). Fully reversible. Tag ids come from momence_list_tags. Momence: POST / DELETE /api/v2/host/members/{memberId}/tags/{tagId}.

Input parameters:

- `assigned` (boolean, required): true to assign the tag, false to remove it.
- `memberId` (integer, required): The member id.
- `tagId` (integer, required): The tag id.

### `momence_book_member_free` (~113 tokens)

Book a member into a session for free

Add a member to a session at no charge (a comp booking), optionally as a recurring booking for every occurrence of a recurring class. Returns the sessionBookingId. Undo with momence_cancel_session_booking. Momence: POST /api/v2/host/sessions/{sessionId}/bookings/free.

Input parameters:

- `createRecurringBooking` (boolean): Also book every future occurrence (recurring sessions only).
- `memberId` (integer, required): The member id.
- `sessionId` (integer, required): The session id.

### `momence_add_member_to_waitlist` (~125 tokens)

Add a member to a session waitlist

Put a member on a session's waitlist. If a spot opens and they are booked from the waitlist, Momence uses the best matching bought membership unless you name specific ones in useBoughtMembershipIds. Returns the waitlistBookingId. Momence: POST /api/v2/host/sessions/{sessionId}/waitlist/bookings.

Input parameters:

- `memberId` (integer, required): The member id.
- `sessionId` (integer, required): The session id.
- `useBoughtMembershipIds` (array): Bought memberships to try when booking from the waitlist.

### `momence_set_booking_check_in` (~98 tokens)

Check a booking in or out

Mark a session booking as checked in (checkedIn=true) or undo the check-in (checkedIn=false). Booking ids come from momence_list_session_bookings. Momence: POST / DELETE /api/v2/host/session-bookings/{bookingId}/check-in.

Input parameters:

- `bookingId` (integer, required): The session booking id.
- `checkedIn` (boolean, required): true to check in, false to undo the check-in.

### `momence_cancel_session_booking` (~168 tokens)

Cancel one session booking

Cancel a SINGLE session booking (not a recurring series). By default: NO refund, NOT treated as a late cancellation (no penalty), and the member IS notified. Set refund=true only to return the member's payment or credit; isLateCancellation=true applies the studio's late-cancel policy. Not undoable except by re-booking. Momence: DELETE /api/v2/host/session-bookings/{bookingId}.

Input parameters:

- `bookingId` (integer, required): The session booking id.
- `disableNotifications` (boolean): Suppress the cancellation notification to the member (default false).
- `isLateCancellation` (boolean): Treat as a late cancellation under the studio policy (default false).
- `refund` (boolean): Refund the member's payment/credit for this booking (default false).

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-usefulapi-momence/momence#diagnostics

## Score history

- 2026-10-03: 77
- 2026-10-02: 76
- 2026-10-01: 18
- 2026-09-30: 71
- 2026-09-29: 21

## Common questions

### What is the io.usefulapi/momence MCP server?

io.usefulapi/momence is an MCP server listed in the public MCP registry as io.usefulapi/momence. Look up Momence members, class schedules, bookings and memberships, and handle front-desk actions. This page covers its hosted endpoint (https://momence.usefulapi.io/mcp).

### Is the io.usefulapi/momence MCP server safe to use?

io.usefulapi/momence scores 77 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.usefulapi/momence MCP server expose?

io.usefulapi/momence exposes 23 tools: momence_get_current_user, momence_list_members, momence_get_member, momence_list_member_session_bookings, momence_list_member_appointments, and 18 more. Their descriptions and schemas cost roughly 3,381 tokens of context every time the server is loaded.

### Does the io.usefulapi/momence MCP server require authentication?

Yes. io.usefulapi/momence asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the io.usefulapi/momence MCP server still maintained?

io.usefulapi/momence is still listed as active in the MCP registry. We last reached this channel on 3 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://momence.usefulapi.io/mcp
- Repository: https://github.com/m190/usefulapi-mcp
- Changelog RSS feed: https://verifymcp.io/servers/io-usefulapi-momence/momence.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-usefulapi-momence/momence.json
- HTML version of this page: https://verifymcp.io/servers/io-usefulapi-momence/momence
