Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
easyTable restaurant reservations for Claude — availability, and create/modify/cancel bookings
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
EASYTABLE_WS_PORT, EASYTABLE_DEBUG, FETCHPROXY_WS_HOST, FETCHPROXY_IDENTITY_DIR必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、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"
}
}
}
}ターミナルでこれを実行します
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-mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.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"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"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"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
EASYTABLE_WS_PORT envEASYTABLE_DEBUG envFETCHPROXY_WS_HOST envFETCHPROXY_IDENTITY_DIR envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント chrischall で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(1.3.0)がレジストリに届いたのは一昨日です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, sync. labs
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
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.
Lipsync videos, dub them into other languages, make talking videos and open sync. Studio.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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