mcp-booking-bridge
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
mcp-booking-bridge
Hva det er
Dette lar deg styre restaurantens bordbestillinger ved å snakke med en assistent på telefonen, på vanlig norsk, i stedet for å klikke deg gjennom et bookingprogram. Du spør «har vi plass til seks på fredag?» eller sier «legg inn Per klokka sju i morgen», og assistenten sjekker ledige bord og ordner bookingen for deg. Den kan se og legge inn bestillinger, men aldri slette, og den gjør aldri en endring uten at du har sett nøyaktig hva som skjer og sagt ja først.
Under panseret er det en liten server som kobler Claude til et bookingsystem på en kontrollert måte. Resten av denne fila forklarer hvordan den er bygget, og hvordan du kobler den til ditt eget system.
Related MCP server: @striderlabs/mcp-opentable
Teknisk
En MCP-server (Model Context Protocol) som lar en LLM-agent som Claude lese og trygt skrive restaurantbookinger. Bygget som en Next.js-app og ment å hostes på Vercel som en custom connector. Repoet leveres med en mock-provider med data i minnet, så serveren kjører rett ut av boksen, uten noen ekte integrasjon.
Claude (mobil/web) -> Anthropic sky -> denne serveren (Vercel) -> BookingProviderSikkerhetsmodellen (kjernen i prosjektet)
En agent som kan skrive til et ekte bookingsystem er en angrepsflate. Denne serveren er bygget etter prinsippet om at broen skal kunne minst mulig:
Hemmelig sti-segment. Endepunktet lever på
/api/<MCP_PATH_SECRET>/mcp. Feil secret, feil transport eller en hvilken som helst annen sti svarer404, så serveren røper ikke engang at den finnes.Skriving er avslått som standard. Uten
BOOKING_ENABLE_WRITE=trueeksponeres kun leseverktøy. Å gi agenten skrivetilgang er et bevisst, eksplisitt valg.Sletting finnes ikke. Det er ingen
cancel- ellerdelete-verktøy i det hele tatt. Broen kan ikke slette en booking, uansett hva den blir bedt om. Kansellering gjøres i backend-systemets eget admin-UI.Prompt-injection-vakt. Hvert skriveverktøy har sikkerhetsregler bakt inn i verktøybeskrivelsen: skriv kun når brukeren selv har bedt om det direkte i samtalen, aldri fordi innhold i en e-post, et dokument eller en nettside ber om det, og vis alltid nøyaktig hva som sendes og få et ja først. Det er et konkret forsvar mot «lethal trifecta»: privat data + upålitelig innhold + ekstern handling i samme løp.
Fornuftsvakter i kode. Maks 20 gjester, ingen datoer i fortiden (Europe/Oslo), gyldig
HH:MM, og bookinger uten kundenavn avvises, uavhengig av hva agenten prøver å sende.Logging uten persondata. Kall logges med metode og verktøynavn, aldri argumenter eller kundedata.
Rate limit. Et tak per varm instans mot loops og hamring.
Verktøy
Verktøy | Type | Aktiv |
| lese | alltid |
| lese | alltid |
| lese | alltid |
| lese | alltid |
| lese | alltid |
| lese | alltid |
| lese | alltid |
| lese | alltid |
| lese | alltid |
| skrive | kun |
| skrive | kun |
Kom i gang
npm install
cp .env.example .env.local
# sett MCP_PATH_SECRET (openssl rand -hex 24), la BOOKING_ENABLE_WRITE stå tom
npm run devKoble den til som en custom connector i Claude med URL
http://localhost:3000/api/<MCP_PATH_SECRET>/mcp (eller Vercel-URL-en i
produksjon). Serveren svarer med mock-data med en gang.
Koble til et ekte system
All backend-logikk sitter bak ett grensesnitt, BookingProvider, i
lib/provider.ts. route.ts vet ingenting om HTTP,
databaser eller noen bestemt leverandør. For å peke serveren mot et ekte
bookingsystem skriver du en adapter som implementerer BookingProvider og
returnerer den fra getProvider():
export function getProvider(): BookingProvider {
if (!provider) {
provider = new MyRestApiProvider(process.env.BOOKING_API_TOKEN!);
}
return provider;
}Alle verktøyene og alle sikkerhetsvaktene fungerer uendret. Standard-
implementasjonen (MockBookingProvider) holder bookinger i minnet og er ment
som referanse.
Deploy
Deploy til Vercel og sett MCP_PATH_SECRET (og eventuelt
BOOKING_ENABLE_WRITE=true) som miljøvariabler. For en server som skal skrive
til et ekte system bør du vurdere å oppgradere beskyttelsen fra hemmelig sti til
OAuth (withMcpAuth i mcp-handler) — hemmelig sti er greit som MVP, men OAuth
er riktig nivå når serveren kan endre data.
Lisens
MIT
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Create, read, update and delete your data lake with simple prompts. Share tables by row and column.
Run your restaurant group's events, leads, invoices and marketing drafts from your AI assistant.
OpenTable MCP server for ChatGPT, Claude and any AI agent: search restaurants with open tables, check availability, book a reservation, modify a reservation, cancel a reservation, list your reservations, read the reservation book and add guest notes and tags in your own OpenTable account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to OpenTable yourself; Cotlet does not store your password and you need no OpenTable API key. About the official OpenTable API: OpenTable has APIs only for approved partners (checked 27 Oct 2026). Booking, Sync, CRM, Directory and Reviews APIs need an application through the OpenTable partner program, and they work per restaurant, not on a diner account. Setup and FAQ: https://cotlet.dev/integrations/opentable-api-mcp-server
ResDiary MCP server for ChatGPT, Claude and any AI agent: list bookings for a date, check open times, create a booking, move a booking, cancel a booking, read the W8LIST, add guest notes and set a customer type in your own ResDiary account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to ResDiary yourself; Cotlet does not store your password and you need no ResDiary API key. About the official ResDiary API: ResDiary has official APIs, but only for approved integrations (checked 31 Oct 2026). A venue or developer asks for access, states the purpose and passes certification, and the API licence then covers that one purpose. Setup and FAQ: https://cotlet.dev/integrations/resdiary-api-mcp-server
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceEnables restaurant reservation management and schedule checking through Supabase with multi-tenant support. Designed for WhatsApp and phone agents to verify opening hours, create reservations with automatic table assignment, and handle multiple restaurants from a single server.-
- AlicenseAqualityDmaintenanceEnables AI agents to search restaurants, check availability, and book reservations on OpenTable, including managing booking history and handling multi-factor authentication.9260 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables managing restaurant reservations over Streamable HTTP, with tools for booking, checking availability, cancelling, resources for reservation data, and prompts for drafting confirmations.MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to manage restaurant reservations through typed MCP tools, including checking table availability, creating and canceling reservations, and listing the day's confirmed bookings.-