Back to Directory/Developer Tools

io.github.chrischall/easytable-mcp

easyTable restaurant reservations for Claude — availability, and create/modify/cancel bookings

Developer ToolsTypeScriptv1.2.4

easytable-mcp

An MCP server for easyTable restaurant reservations. easyTable is a restaurant table-booking system with a public per-restaurant widget at https://book.easytable.com/book/?id=<restaurantId>.

Every request rides the user's own signed-in, Cloudflare-cleared book.easytable.com browser tab via the @fetchproxy/server bridge — the site blocks server-side requests, and there is no login (the restaurant is identified by its id).

This project was developed and is maintained by AI (Claude Code). Use at your own discretion.

Tools

ToolKind
easytable_list_typesread — bookable areas/types for a restaurant
easytable_list_datesread — bookable dates for an area + party size
easytable_list_timesread — available time slots
easytable_find_bookingsread — look up bookings by phone number
easytable_create_bookingwrite (confirm-gated) — make a reservation
easytable_modify_bookingwrite (confirm-gated) — change a reservation
easytable_cancel_bookingwrite (confirm-gated) — cancel a reservation
easytable_healthcheckread — bridge connection status

Writes are confirm-gated: without confirm: true they return a dry-run preview and make no network call.

Setup

  1. Install the fetchproxy browser extension.
  2. Open a booking widget in Chrome: https://book.easytable.com/book/?id=<id> and let it finish loading.
  3. The first tool call prints a one-time pair code to approve in the extension.

create and modify additionally read the widget's Cloudflare Turnstile token from the loaded confirm step, so a booking-widget tab must be open when you confirm one.

Development

npm install
npm run build
npm test

See docs/EASYTABLE-API.md for the reverse-engineered request/response shapes and CLAUDE.md for architecture notes.

License

MIT

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y easytable-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-chrischall-easytable-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "easytable-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

easytable-mcpnpm

Compatible MCP Clients

io.github.chrischall/easytable-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More