Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Read Bookingmood bookings, availability, guests, payments and invoices; update bookings, contacts.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://bookingmood.usefulapi.io/mcpRun this in your terminal
claude mcp add --transport http bookingmood https://bookingmood.usefulapi.io/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"bookingmood": {
"url": "https://bookingmood.usefulapi.io/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"bookingmood": {
"type": "http",
"url": "https://bookingmood.usefulapi.io/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://bookingmood.usefulapi.io/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.
bookingmood_get_organizationThe Bookingmood organization this API key belongs to: name, company, plan (tier, subscription type, expiry), languages, country, VAT number, custom domain and contact details. Payment-provider ids and secrets are not returned. GET /organizations.
bookingmood_list_productsList the rentable products (apartments, rooms, boats, bikes...) with name, currency, timezone, rent period (daily/nightly), booking interaction, fee and deposit. Names and descriptions are objects keyed by language ('default', 'nl-NL', ...). Images are not returned. GET /products
bookingmood_get_productOne product by id with its capacities (guest-group min/max limits) embedded. GET /products?id=eq.{id}&select=*,capacities(*).
bookingmood_list_bookingsList bookings, newest first: reference, method (request or book), currency, confirmed_at (null = not confirmed yet), created_at. A booking's dates and guests are on its calendar events (bookingmood_list_calendar_events) and contacts. Filter by creation date, confirmation state or
bookingmood_get_bookingOne booking with everything attached: its calendar events (dates, product, status, occupancy, notes), line items, payments, invoices and the guest contacts linked to it. Five or six read requests. The guest contacts come from the booking-contact link table; if that lookup fails t
bookingmood_list_calendar_eventsList calendar events: bookings (type 'booking'), blocked periods and notes, with product_id, booking_id, start_date, end_date, status (TENTATIVE, CONFIRMED, CANCELLED), occupancy, title and notes. Use the date filters for arrivals/departures (e.g. start_date_from = start_date_to
bookingmood_check_availabilityAvailability calendar of up to 5 products: per product a list of intervals {start, end, status} with status available, tentative, unavailable, booked or reserved. One request per product. GET /availability?product_id={id}.
bookingmood_search_productsWhich products can be booked for a stay: for each product whether it matches the dates, guest numbers and options, its availability and a price range {min, max}. Read-only (a search; nothing is booked). occupancy maps a capacity-group id (from bookingmood_get_product capacities)
bookingmood_list_contactsList contacts (guests and customers): name, email, phone, company, address, language, notes. Search by name, email or company (case-insensitive, contains). Newest first. GET /contacts.
bookingmood_get_contactOne contact by id. GET /contacts?id=eq.{id}.
bookingmood_list_paymentsList payments (deposits, balances, offline payments): booking_id, invoice_id, amount and paid (integers; the API reference does not state the unit, normally the smallest currency unit), currency, due_at, completed_at (null = not paid), status, offline. Filter to unpaid payments,
bookingmood_list_invoicesList invoices: reference, booking_id, attachment (a custom uploaded file URL, if any), created_at. Filter by booking or creation date. Newest first. GET /invoices.
bookingmood_list_line_itemsList invoice/booking line items: name (per language), amount and quantity (integers; the API reference does not state the unit), item_type (rent, fee...), fee_type (fee or deposit), booking_id, event_id, invoice_id. GET /line_items.
bookingmood_list_couponsList discount coupons: code, description, definition, quota, scope (global, product, service, rent), stackable. Deleted coupons are left out. GET /coupons.
bookingmood_list_servicesList services: the extras, fees and form fields guests can add to a booking, with label, type, fee, deposit and description. GET /services.
bookingmood_list_tasksList housekeeping/operations tasks attached to calendar events: label, due_at, completed_at (null = open), schedule (manual, arrival, departure), calendar_event_id. Filter to open tasks or a due-date window. Earliest due first. GET /tasks.
bookingmood_list_messagesList the e-mails and SMS Bookingmood sent or scheduled to guests: subject, body, type (email or sms), status (sent, manually-scheduled, scheduled-around-arrival, scheduled-around-departure), send_at, booking_id. The rendered HTML is not returned. Latest first. GET /messages.
bookingmood_update_event_notesWRITE: replace the internal notes of ONE calendar event (the whole notes text is overwritten, so include the existing text if you want to keep it - read it first with bookingmood_list_calendar_events). Notes are internal; no guest is notified. PATCH /calendar_events?id=eq.{id}.
bookingmood_set_event_statusWRITE: change the status of ONE calendar event to CONFIRMED, TENTATIVE or CANCELLED. This changes what the calendar shows as available and can trigger Bookingmood's own automations for the booking (guest e-mails, tasks, payment reminders), so confirm with the user before cancelli
bookingmood_create_contactWRITE: create ONE new contact (guest/customer) in Bookingmood. Not idempotent: calling it twice creates two contacts, so search with bookingmood_list_contacts first. No message is sent to the contact. POST /contacts.
bookingmood_update_contactWRITE: change fields of ONE existing contact (only the fields you pass are changed; others stay). No message is sent to the contact. PATCH /contacts?id=eq.{id}.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified against the domain usefulapi.io (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 46 ms (HTTP 200)
No sign-in needed
Read 21 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.14.4) reached the registry today.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, zanadir
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Find what a repository's CI is missing, and which security checks cannot fail the build.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Read Bookingmood bookings, availability, guests, payments and invoices; update bookings, contacts.
Live endpoint: https://bookingmood.usefulapi.io/mcp · Homepage: https://usefulapi.io/bookingmood
https://bookingmood.usefulapi.io/mcp.claude mcp add --transport http bookingmood https://bookingmood.usefulapi.io/mcp, then run /mcp to log in.{
"mcpServers": { "bookingmood": { "url": "https://bookingmood.usefulapi.io/mcp" } } }
Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Bookingmood credentials.
Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/bookingmood/
On first connect you'll paste a Bookingmood API key (admin dashboard → Settings of your organization → API keys at the bottom of the page). The key belongs to your organization. Your credentials are validated, stored per-user, and scoped to you — no keys in config files.
| Tool | Type | What it does |
|---|---|---|
bookingmood_get_organization | read | Get organization |
bookingmood_list_products | read | List products (rentals) |
bookingmood_get_product | read | Get product |
bookingmood_list_bookings | read | List bookings |
bookingmood_get_booking | read | Get booking with details |
bookingmood_list_calendar_events | read | List calendar events |
bookingmood_check_availability | read | Check availability |
bookingmood_search_products | read | Search available products |
bookingmood_list_contacts | read | List contacts (guests) |
bookingmood_get_contact | read | Get contact |
bookingmood_list_payments | read | List payments |
bookingmood_list_invoices | read | List invoices |
bookingmood_list_line_items | read | List line items |
bookingmood_list_coupons | read | List coupons |
bookingmood_list_services | read | List services (extras and fees) |
bookingmood_list_tasks | read | List tasks |
bookingmood_list_messages | read | List guest messages |
bookingmood_update_event_notes | write | Set calendar event notes |
bookingmood_set_event_status | write | Set calendar event status (confirm / cancel) |
bookingmood_create_contact | write | Create contact |
bookingmood_update_contact | write | Update contact |
bookingmood_usage_status | meta | Usage status (free-tier meter) |
bookingmood_request_feature | meta | Request a missing feature |
bookingmood_upgrade | meta | Upgrade to Pro or Pro+ |
bookingmood_cancel_subscription | meta | Cancel the Pro subscription |
read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 50 tool calls / month |
| Pro (per organization) | $9/mo or $90/yr (2 months free) | Unlimited* |
\*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to support@usefulapi.io.
Pro covers this server only. Subscribe with bookingmood_upgrade (it returns a Stripe Checkout link). Cancel any time with bookingmood_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running bookingmood_upgrade before then undoes the cancel. Or write to support@usefulapi.io.