🧳 Travala hotel booking integration for OpenClaw — by GoPlausible
- Remote Travala MCP server:
travala-mcp(HTTP,https://travel-mcp.travala.com/mcp) — hotel search, package selection, booking, lookup, and cancellation - x402 payment via Algorand MCP: on
travala_bookHTTP 402, the agent completes payment through the headless Algorand MCP server'smake_http_request_with_x402tool (USDC/ALGO) - Two MCP servers auto-registered: first-load init writes declarative entries into
~/.mcporter/mcporter.json—travala-mcp(HTTP) andalgorand-mcp(headless stdio, via npx) — plus a memory file into the agent workspace. Nosudo, no post-install hooks - 1 Skill —
travala-booking-expert: the end-to-end hotel workflow (search → book → pay → look up → cancel), critical booking rules, OTP handling, and x402 payment recovery
Hotels only — no flights, car rentals, restaurants, tours, or activities.
Booking and search work on their own, but payment uses the x402 flow via @goplausible/algorand-mcp (algorand-mcp, stdio). On travala_book HTTP 402, the agent calls algorand-mcp:make_http_request_with_x402 (x402 micropayment in USDC/ALGO via the GoPlausible facilitator).
It is a real headless stdio MCP server — fetched and run by npx, no GUI, no environment variables required. The agent wallet is a mnemonic stored in a local SQLite database managed by the server's own tools. The plugin registers the entry in mcporter automatically on first load:
travala-plugin setup also pre-fetches the package into the npm cache so the first booking doesn't wait on a cold download.
algorand-mcp is a shared singleton keyed by id in ~/.mcporter/mcporter.json. The GoPlausible Algorand plugin registers the same server, but from a binary it bundles in its own node_modules (absolute path) rather than via npx. If both plugins run on the same OpenClaw instance (e.g. a shared Docker/VPS), this plugin defers to whatever is already registered — it never overwrites a foreign algorand-mcp entry. It only registers its own npx-based entry when none exists, so it works standalone too. Net effect: one algorand-mcp server, no conflict, regardless of install order. (travala-plugin status shows which launch command is actually registered.)
An earlier iteration targeted @coinbase/payments-mcp. It was dropped because it is fundamentally unfit for headless deployment (Docker / VPS — OpenClaw's main target):
@coinbase/payments-mcpis an npx installer that downloads an Electron desktop app, not a server.- Every MCP tool (including
make_http_request_with_x402) is a thin proxy that forwards to the app's Chromium renderer window (sendToWindow(...)), and the renderer loads a Coinbase-hosted URL. A live window must exist for any tool to work. - On a headless host there is no display, so the server cannot run at all — no sign-in, no payment. It is only viable on a desktop, or on Linux via
xvfb+--no-sandbox+ bundled Chromium libs (heavy, fragile, Linux-only). - Sign-in is an interactive Electron wallet-UI flow (email + OTP through the renderer), which a headless gateway can't drive.
The Algorand MCP has none of these constraints: plain stdio, key-based signing, no browser. A full inventory of the Coinbase payments-mcp tools and their schemas (captured during evaluation, for peer-mapping) lives in .notes/coinbase-payments-mcp-tools.md.
1- Install the plugin from npm:
openclaw plugins install @goplausible/travala-plugin-openclaw2- Then restart the OpenClaw gateway:
openclaw gateway restart3- Then set it up:
openclaw travala-plugin setup4- Then restart the OpenClaw gateway:
openclaw gateway restartTo update it:
1- Update the plugin from npm:
openclaw plugins update @goplausible/travala-plugin-openclaw
openclaw travala-plugin setup2- Then set it up:
openclaw travala-plugin setup3- Then set it up:
openclaw travala-plugin setup4- Then restart the OpenClaw gateway:
openclaw gateway restartOn first load, the plugin initializes idempotently:
- Writes the plugin memory file into your agent workspace (
memory/travala-plugin.md) - Adds a single pointer line under
## Plugin Routingin your workspaceMEMORY.md - Registers
travala-mcp(remote, HTTP) in~/.mcporter/mcporter.json - Registers
algorand-mcp(headless stdio, via npx) in~/.mcporter/mcporter.json
Then restart the OpenClaw gateway to apply changes. The Algorand MCP is fetched by npx on first use (no separate install step); travala-plugin setup pre-warms the npm cache.
openclaw travala-plugin setup # reconfigure (memory, mcporter, allowlist)
openclaw travala-plugin status # show skill + MCP server status
openclaw travala-plugin mcp-config # print an MCP config snippet for external agentsnpm install
npm run build # tsc → dist/MIT © GoPlausible