Cancelling sets a status and is reversible; `delete_reservation` removes the record outright, and the README says so plainly. Worth backing up the collection before connecting a model that can call it. The status codes are the other thing to internalise — `10` and `99` both mean cancelled, but only one of them means a person did it.
A Node server over WeChat Cloud Development's database API, scoped to one booking collection. It reads reservation records, changes their status — cancel, restore, or mark system-cancelled with a reason — and permanently deletes them. Access tokens are fetched and refreshed by the server, so the client only deals with bookings.
- `query_reservations` filters by user ID, status or booking item, with a limit on how many rows come back
- `update_reservation_status` moves a booking between statuses and can record a cancellation reason
- `delete_reservation` removes a record permanently — the README flags it as irreversible
- Three statuses with fixed meanings: `1` booked, `10` cancelled, `99` cancelled by the system
- Records come from the `ax_join` collection, with fields for the booking, user, item, title, status and reason
- Formatted output rather than raw database documents
A WeChat Mini Program with Cloud Development enabled, and three environment variables: `WECHAT_APP_ID`, `WECHAT_APP_SECRET` and `WECHAT_ENV_ID`. Run `npm install`, `npm run build`, then point your client at `node` with `dist/index.js`. Package `mcp-reservation-server`, version 1.0.0. The credentials are your Mini Program's, so treat the config file accordingly, and note that WeChat's API enforces an IP allowlist.
