Skip to content

Repository files navigation

OpenClaw Travala Plugin

🧳 Travala hotel booking integration for OpenClaw — by GoPlausible

Features

  • 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_book HTTP 402, the agent completes payment through the headless Algorand MCP server's make_http_request_with_x402 tool (USDC/ALGO)
  • Two MCP servers auto-registered: first-load init writes declarative entries into ~/.mcporter/mcporter.jsontravala-mcp (HTTP) and algorand-mcp (headless stdio, via npx) — plus a memory file into the agent workspace. No sudo, no post-install hooks
  • 1 Skilltravala-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.

Payment — Algorand MCP (headless x402)

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:

"algorand-mcp": { "command": "npx", "args": ["-y", "@goplausible/algorand-mcp@4.4.0"] }

travala-plugin setup also pre-fetches the package into the npm cache so the first booking doesn't wait on a cold download.

Coexistence with the GoPlausible Algorand plugin

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.)

Why not Coinbase's payments-mcp?

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-mcp is 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.

Installation

1- Install the plugin from npm:

openclaw plugins install @goplausible/travala-plugin-openclaw

2- Then restart the OpenClaw gateway:

openclaw gateway restart

3- Then set it up:

openclaw travala-plugin setup

4- Then restart the OpenClaw gateway:

openclaw gateway restart

To update it:

1- Update the plugin from npm:

openclaw plugins update @goplausible/travala-plugin-openclaw
openclaw travala-plugin setup

2- Then set it up:

openclaw travala-plugin setup

3- Then set it up:

openclaw travala-plugin setup

4- Then restart the OpenClaw gateway:

openclaw gateway restart

Configuration

On 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 Routing in your workspace MEMORY.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.

CLI

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 agents

Development

npm install
npm run build   # tsc → dist/

License

MIT © GoPlausible

About

This OpenClaw standard plugin installs all requirements for Travala MCP and Coinbase MCP and skills in one install

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages