Search real flights and buy an onward ticket (proof of onward travel), paid in USDC over MPP
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Buy the ticket for a flight from search_flights, paid in USDC. Call it first without payment to get the price, wallet address and MPP challenges. After sending the USDC, call it again with tx_hash and chain (or an MPP credential in _meta "org.paymentauth/credential"). x402 clients can instead sign one of the offers in error.data.x402 and retry with the PaymentPayload in _meta "x402/payment", with no gas needed. Returns the ticket link and PDF.
Passenger's last name, as on their passport
The flight id from search_flights
Passenger's first name, as on their passport
Chain the USDC was sent on, defaults to base
Optional, also emails the ticket here
Hash of the USDC transfer that paid for it
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Buy the ticket for a flight from search_flights, paid in USDC. Call it first without payment to get the price, wallet address and MPP challenges. After sending the USDC, call it again with tx_hash and chain (or an MPP credential in _meta "org.paymentauth/credential"). x402 clients can instead sign one of the offers in error.data.x402 and retry with the PaymentPayload in _meta "x402/payment", with no gas needed. Returns the ticket link and PDF.
| Argument | Type | Description |
|---|---|---|
| chain | string | Chain the USDC was sent on, defaults to base |
| string | Optional, also emails the ticket here | |
| tx_hash | string | Hash of the USDC transfer that paid for it |
| last_name* | string | Passenger's last name, as on their passport |
| ticket_id* | string | The flight id from search_flights |
| first_name* | string | Passenger's first name, as on their passport |
{
"type": "object",
"required": [
"ticket_id",
"first_name",
"last_name"
],
"properties": {
"chain": {
"enum": [
"base",
"ethereum",
"optimism",
"polygon"
],
"type": "string",
"description": "Chain the USDC was sent on, defaults to base"
},
"email": {
"type": "string",
"description": "Optional, also emails the ticket here"
},
"tx_hash": {
"type": "string",
"description": "Hash of the USDC transfer that paid for it"
},
"last_name": {
"type": "string",
"description": "Passenger's last name, as on their passport"
},
"ticket_id": {
"type": "string",
"description": "The flight id from search_flights"
},
"first_name": {
"type": "string",
"description": "Passenger's first name, as on their passport"
}
}
}Look up 3 letter IATA airport codes by city, airport or country name.
| Argument | Type | Description |
|---|---|---|
| query* | string | City, airport, country or code, e.g. "Bangkok" |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "City, airport, country or code, e.g. \"Bangkok\""
}
}
}Find one-way flights to use as an onward ticket. Returns up to 10 flights, each with an id to buy and its price in USD.
| Argument | Type | Description |
|---|---|---|
| date | string | Departure date, YYYY-MM-DD, within 9 months. Defaults to 14 days from now. |
| origin* | string | IATA code of the airport leaving the country the traveller is entering, e.g. "BKK" |
| destination* | string | IATA code of where the onward flight goes, e.g. "SIN" |
{
"type": "object",
"required": [
"origin",
"destination"
],
"properties": {
"date": {
"type": "string",
"description": "Departure date, YYYY-MM-DD, within 9 months. Defaults to 14 days from now."
},
"origin": {
"type": "string",
"description": "IATA code of the airport leaving the country the traveller is entering, e.g. \"BKK\""
},
"destination": {
"type": "string",
"description": "IATA code of where the onward flight goes, e.g. \"SIN\""
}
}
}