Hotel Booking MCP Server
README.md
# Hotel Booking MCP Server (No Auth)
A minimal, no-authentication MCP server for the hotel booking demo. Exposes three tools:
- `list_room_types` — check availability, pricing, and amenities (optionally filtered by room type)
- `create_booking` — create a booking; automatically computes nights/total price and decrements availability
- `list_bookings` — lists all bookings made so far (handy for demoing/debugging)
Data is in-memory and seeded with the same 4 room types from the build guide (Standard, Deluxe, Suite, Executive). It resets whenever the server restarts.
## Deploy to Render (fastest free option)
1. Create a free account at **render.com** if you don't have one.
2. Push this folder to a new GitHub repo (or use Render's "Deploy from a public Git repo" — you can also zip-upload if you don't want to use Git; Render supports both).
3. In Render, click **New +** → **Web Service**.
4. Connect your repo (or paste the public repo URL).
5. Settings:
- **Runtime:** Node
- **Build Command:** `npm install`
- **Start Command:** `node server.js`
- **Instance Type:** Free
6. Click **Create Web Service**. Render will build and deploy — takes about 1–2 minutes.
7. Once live, your MCP server URL will be:
```
https://<your-service-name>.onrender.com/mcp
```
That full URL (including `/mcp`) is what you'll register as the Server URL in Salesforce's Agentforce Registry.
**Note:** Render's free tier spins the service down after inactivity and takes ~30–60 seconds to wake up on the next request. For a live demo, hit the URL once a minute or two before you present so it's already warm.
## Register in Salesforce
1. Setup → Agentforce Registry → Registered MCP Servers → New.
2. **Server URL:** `https://<your-service-name>.onrender.com/mcp`
3. **Authentication Method:** No Authentication
4. Create and Continue — no callback URL, no client ID/secret, no OAuth step at all.
5. In Agentforce Builder, add the `list_room_types` and `create_booking` tools to your agent's topics, same as previously planned.
## Run locally (optional, to test before deploying)
```bash
npm install
node server.js
```
Server listens on port 3000 (or `$PORT` if set). Health check at `GET /`, MCP endpoint at `POST /mcp`.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues