@Furlpay/Travel
FreeNot checkedEnables AI agents to autonomously search, pay, and book travel by integrating Travala's travel inventory with FurlPay's payment rails, supporting both crypto-na
About
Enables AI agents to autonomously search, pay, and book travel by integrating Travala's travel inventory with FurlPay's payment rails, supporting both crypto-native and legacy payment methods.
README
The payment & orchestration layer for agentic travel. This MCP server composes Travala's Travel MCP (search 2.2M+ hotels + flights) with FurlPay's payment rails (pay), so an AI agent can search, budget-check, pay, and book travel autonomously.
Two payment routes, chosen per booking:
- Travala / crypto-native → an x402 payment proof, settled in gasless USDC on Base. Accrues the 10% cbBTC developer rebate Travala pays on MCP-driven bookings.
- Legacy Web2 merchant (Airbnb, Skyscanner…) → a single-use Visa virtual card, MCC-locked to travel and limited to the booking total.
Clone-and-run: with no keys, search and payment simulate end-to-end (no network) so you can drive the whole loop offline. Zero runtime dependencies.
Maintained by FurlPay · MIT licensed.
Use as an MCP server
{
"mcpServers": {
"furlpay-travels": {
"command": "npx",
"args": ["-y", "@furlpay/travel-mcp"],
"env": {
"FURLPAY_API_KEY": "fp_live_sk_...", // omit for demo mode
"TRAVALA_API_KEY": "...", // omit for demo inventory
"DUFFEL_API_KEY": "duffel_test_...", // live flight offers (free test token, duffel.com)
"FURLPAY_DEVELOPER_WALLET": "0xYourWallet" // receives the 7% cbBTC split
}
}
}
}
Tools
| Tool | What it does |
|---|---|
travel_search_stays |
Search Travala hotels for a city + date range |
travel_search_flights |
Search flights for a route + date |
travel_set_agent_budget |
Cap an agent's USDC travel spend |
travel_authorize_booking |
Pay a booking — x402/USDC (Travala) or single-use MCC-locked Visa VCN (legacy) |
travel_confirm_booking |
Confirm after passkey step-up |
travel_cancel_booking |
Cancel & void the authorization |
travel_list_rebates |
Accumulated 10% cbBTC rebates (7% dev / 3% treasury) |
Trusted-agent mode (new in 0.2.0)
Visa's Trusted Agent Protocol went
production-live in July 2026: agent-initiated payments carry cryptographic proof of
agent identity and user consent. This server supports the same model via
@furlpay/agent-trust — configure a
MandateVerifier and every travel_authorize_booking call must present a
mandateToken: an agent-signed intent under a user-signed spend mandate
(budget cap, MCC allowlist, expiry, single-use, replay-safe).
import { TravelClient } from "@furlpay/travel-mcp";
import { AgentTrust, generateKeypair, issueMandate, createBookingToken } from "@furlpay/agent-trust";
const trust = new AgentTrust();
trust.registerUser(user.publicKeyPem);
trust.registerAgent(agent.publicKeyPem);
const travel = new TravelClient({ trust }); // bookings now REQUIRE a valid mandateToken
const mandate = issueMandate({ /* user signs: $500 cap, MCC 7011+4511, 7-day expiry */ });
const mandateToken = createBookingToken({ mandate, /* agent signs THIS exact intent */
intent: { amountUsd: 320, source: "legacy", mcc: "7011" } });
const booking = await travel.authorizeBooking({ amountUsd: 320, source: "legacy", mandateToken });
// booking.trust = { agentKeyId, mandateId, remainingUsd }
The verifier checks the full chain — user signed the mandate, mandate names this agent, agent signed this exact amount/mcc/source, constraints hold, nonce never seen — before any x402 proof or virtual card is issued. Without a verifier configured, behavior is unchanged (back-compat).
Use as a library
import { TravelClient, MCC } from "@furlpay/travel-mcp";
const travel = new TravelClient({ developerWallet: "0xDev" });
const stays = await travel.searchStays({
city: "London", checkIn: "2026-08-01", checkOut: "2026-08-04", maxNightlyUsd: 200,
});
travel.setAgentBudget("agent_1", 1000);
// Crypto-native route → x402/USDC on Base + 10% cbBTC rebate
const booking = await travel.authorizeBooking({
amountUsd: stays[0].totalUsd, source: "travala", agentId: "agent_1", reference: stays[0].quoteId,
});
// booking.authorization.x402 · booking.rebate.developerUsd
// Legacy merchant route → single-use MCC-locked Visa VCN
const legacy = await travel.authorizeBooking({ amountUsd: 130, source: "legacy", mcc: MCC.LODGING });
// legacy.authorization.card = { last4, mccWhitelist, singleUse, limitUsd }
travel.listRebates(); // { developerTotalUsd, treasuryTotalUsd, accruals }
Live flight data (new in 0.3.0)
Set DUFFEL_API_KEY and travel_search_flights returns live real-time
offers — NDC + GDS + LCC content from 300+ airlines via
Duffel, cheapest first. Free test tokens
(duffel_test_…) work out of the box against Duffel's sandbox inventory.
Any Duffel failure falls back to Travala/demo, so the agent loop never breaks.
Why Duffel in mid-2026: Amadeus Self-Service shuts down July 17 2026, Kiwi's Tequila is closed to new partners, and Expedia/Booking gate API access behind commercial review — Duffel is the one top-1% supplier a developer can start on today with no contract.
How the routes map to reality
| Route | Rail | Why |
|---|---|---|
travala |
x402 → gasless USDC on Base, ~$0.01/booking | The rail Travala's protocol accepts directly; earns the cbBTC rebate |
legacy |
Single-use Visa VCN, MCC-locked (7011 lodging, 4511 airlines, 7512 car rental) | Reaches Web2 travel merchants Travala doesn't cover; card can only spend on travel, up to the booking total |
FurlPay's value here is the layer Travala doesn't provide: agent spend budgets, multi-token funding, VCN issuing for legacy merchants, and rebate accounting.
Run the demo
npm run example # full search → pay → book → rebate flow, demo mode
npm start # run the MCP server on stdio
Test
npm test # tsc build + node --test (demo mode, no network)
The suite pins the contract: deterministic search, the x402 route's proof + exact 10%/(7/3) rebate math, the legacy route's single-use MCC-locked VCN, budget enforcement, the confirm/cancel lifecycle, rebate aggregation (excluding cancellations), and well-formed MCP tools.
Scope
This server orchestrates Travala search and FurlPay payments — it does not custody funds or settle on-chain itself; x402 settlement and card issuing happen in the FurlPay API, and inventory/fulfilment in Travala. Point it at your own accounts and it books on your behalf. Issuing travel cards and handling refunds carries money-transmission/merchant-compliance obligations — wire in FurlPay's compliance engine before going live.
License
MIT
Install @Furlpay/Travel in Claude Desktop, Claude Code & Cursor
unyly install furlpay-travel-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add furlpay-travel-mcp -- npx -y @furlpay/travel-mcpFAQ
Is @Furlpay/Travel MCP free?
Yes, @Furlpay/Travel MCP is free — one-click install via Unyly at no cost.
Does @Furlpay/Travel need an API key?
No, @Furlpay/Travel runs without API keys or environment variables.
Is @Furlpay/Travel hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install @Furlpay/Travel in Claude Desktop, Claude Code or Cursor?
Open @Furlpay/Travel on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Stripe
Payments, customers, subscriptions
by Stripemalamutemayhem/unclick-agent-native-endpoints
110+ tools for AI agents spanning social media, finance, gaming, music, AU-specific services, and utilities. Zero-config local tools plus platform connectors. n
by malamutemayhemwhiteknightonhorse/APIbase
Unified API hub for AI agents with 56+ tools across travel (Amadeus, Sabre), prediction markets (Polymarket), crypto, and weather. Pay-per-call via x402 micropa
by whiteknightonhorsetrackerfitness729-jpg/sitelauncher-mcp-server
Deploy live HTTPS websites in seconds. Instant subdomains ($1 USDC) or custom .xyz domains ($10 USDC) on Base chain. Templates for crypto tokens and AI agent pr
Compare @Furlpay/Travel with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All finance MCPs
