query_reservationsLABSCO SUMMARY
One tool here deletes rows with no undo.
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.
What it is
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.
What you get
query_reservationsfilters by user ID, status or booking item, with a limit on how many rows come backupdate_reservation_statusmoves a booking between statuses and can record a cancellation reasondelete_reservationremoves a record permanently — the README flags it as irreversible- Three statuses with fixed meanings:
1booked,10cancelled,99cancelled by the system - Records come from the
ax_joincollection, with fields for the booking, user, item, title, status and reason - Formatted output rather than raw database documents
Requirements
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.
Setup effort
Build from source — git clone https://github.com/lingki1/mcp-reservation-server.git
USE CASES
Answering what is booked
Filter by user or item and read the bookings back as formatted text rather than database documents.
Cancelling a booking with a reason on record
Set the status and attach the reason in one call so the audit trail stays intact.
Restoring one that was cancelled by mistake
Move the status back to booked instead of recreating the record.
Clearing out a test record
Delete it permanently — with the caveat that there is no way back.
3 tools
Listed in project docs. Your client may show a different list.
update_reservation_statusdelete_reservationBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation.
Requires
- WECHAT_APP_ID in your environment
- WECHAT_APP_SECRET in your environment
- WECHAT_ENV_ID in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/lingki1/mcp-reservation-server.git
cd mcp-reservation-server
npm install
npm run buildAdd the block below to your client, with the absolute path to dist/index.js in your clone and your Mini Program's AppID, AppSecret and cloud environment ID
MCP Clients
Any MCP client
{
"mcpServers": {
"reservation": {
"command": "node",
"args": [
"<YOUR_PATH_TO_MCP_RESERVATION_SERVER>/dist/index.js"
],
"env": {
"WECHAT_APP_ID": "<YOUR_WECHAT_APP_ID>",
"WECHAT_APP_SECRET": "<YOUR_WECHAT_APP_SECRET>",
"WECHAT_ENV_ID": "<YOUR_WECHAT_ENV_ID>"
}
}
}
}