Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
easyTable restaurant reservations for Claude — availability, and create/modify/cancel bookings
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
EASYTABLE_WS_PORT, EASYTABLE_DEBUG, FETCHPROXY_WS_HOST, FETCHPROXY_IDENTITY_DIRNecesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"easytable": {
"command": "npx",
"args": [
"-y",
"easytable-mcp"
],
"env": {
"EASYTABLE_WS_PORT": "your-value",
"EASYTABLE_DEBUG": "your-value",
"FETCHPROXY_WS_HOST": "your-value",
"FETCHPROXY_IDENTITY_DIR": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add easytable --env EASYTABLE_WS_PORT=your-value --env EASYTABLE_DEBUG=your-value --env FETCHPROXY_WS_HOST=your-value --env FETCHPROXY_IDENTITY_DIR=your-value -- npx -y easytable-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"easytable": {
"command": "npx",
"args": [
"-y",
"easytable-mcp"
],
"env": {
"EASYTABLE_WS_PORT": "your-value",
"EASYTABLE_DEBUG": "your-value",
"FETCHPROXY_WS_HOST": "your-value",
"FETCHPROXY_IDENTITY_DIR": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"easytable": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"easytable-mcp"
],
"env": {
"EASYTABLE_WS_PORT": "your-value",
"EASYTABLE_DEBUG": "your-value",
"FETCHPROXY_WS_HOST": "your-value",
"FETCHPROXY_IDENTITY_DIR": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
EASYTABLE_WS_PORT envEASYTABLE_DEBUG envFETCHPROXY_WS_HOST envFETCHPROXY_IDENTITY_DIR envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub chrischall, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (1.3.0) llegó al registro anteayer.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, FlyDocs
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
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.
Spec-driven development workflow: your agent works issues, sessions and the status lifecycle.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
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= .
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.
| Tool | Kind |
|---|---|
easytable_list_types | read — bookable areas/types for a restaurant |
easytable_list_dates | read — bookable dates for an area + party size |
easytable_list_times | read — available time slots |
easytable_find_bookings | read — look up bookings by phone number |
easytable_create_booking | write (confirmed) — make a reservation |
easytable_modify_booking | write (confirmed) — change a reservation |
easytable_cancel_booking | write (confirmed) — cancel a reservation |
easytable_healthcheck | read — bridge connection status |
Every write asks you to confirm it first. A client that can show a confirmation prompt (Claude Code) shows one. Elsewhere the first call sends nothing and returns a preview plus a confirmToken; only a repeat call with the same arguments and that token books, changes or cancels. A cancel looks the booking up first, so its preview shows which reservation it is, and an id that isn't one of that mobile's bookings is refused. The token is single-use, and a changed argument invalidates it.
| variable | default | |
|---|---|---|
MCP_CONFIRM_MODE | ask-user | What a write does on a client that cannot show a confirmation prompt (claude.ai, Claude Desktop). ask-user: two steps — the first call does nothing and returns a preview plus a token, and the model must get your approval in chat before calling again with it. auto: the same two steps, but the model may use the token after reviewing the preview itself. refuse: writes are refused on such clients. A client that can show prompts (Claude Code) always gets the real prompt, unless MCP_CONFIRM_ELICITATION=off. An unrecognised value is treated as refuse. |
MCP_CONFIRM_ELICITATION | on | off never sends a confirmation prompt, so every client gets the MCP_CONFIRM_MODE path. Set it for a client that declares it can show prompts but never does (the gated call hangs — opencode 2.0.x). Any other value stays on, with a stderr warning. |
MCP_CONFIRM_TTL_SECONDS | 600 | How long a token stays valid. |
MCP_CONFIRM_SECRET | random per process | Signing key; set it only if tokens must survive a server restart. |
contextmint-bridge-chrome-*.zip asset and load it unpacked (chrome://extensions → Developer mode → Load unpacked); in Safari, it ships inside the ContextMint app, which has no public download link yet, so use Chrome for now. ContextMint Bridge is the fetchproxy browser extension under its new name, from the same maintainer — fetchproxy's own README points to it. Its source is public at nullnet-app/contextmint-bridge: build it yourself, or check a release zip against the .sha256 file published beside it (shasum -a 256 -c contextmint-bridge-chrome- .zip.sha256).https://book.easytable.com/book/?id= and let it finish loading.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.
No environment variables are required. These optional knobs mirror the .mcpb manifest's settings (the MCP_CONFIRM_* family is under Confirmations):
| variable | default | |
|---|---|---|
EASYTABLE_WS_PORT | 37149 | Concentrator port for the fetchproxy browser bridge. Every fetchproxy MCP on one machine shares it, so move it for all of them or none (local testing, or a hosted registration's bridge port). |
FETCHPROXY_WS_HOST | 127.0.0.1 | Bridge bind interface, a literal IP only (anything else is ignored). Keep on loopback; it exists for a hosted child in its own network namespace. |
FETCHPROXY_IDENTITY_DIR | ~/.fetchproxy/identity/ | Where the bridge's long-term identity keypair is stored, an absolute path only (anything else is ignored). For a host that runs a separate child per caller. |
EASYTABLE_DEBUG | unset | Set to a truthy value to log the bridge role and per-request debug lines to stderr. |
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.
MIT