Skip to main content
Connect your AI agent to Jinko in under 2 minutes. One URL and your agent can search flights, compare prices, and book travel.

Connect via MCP OAuth

MCP clients that support OAuth with Dynamic Client Registration (DCR) authenticate automatically. Just provide the endpoint — the client handles discovery, registration, and the browser-based sign-in flow (OAuth 2.1 with PKCE). No configuration needed. Supported clients: Claude Desktop, Claude Code, ChatGPT, Cursor, and any MCP client with OAuth/DCR support.

Claude Desktop / Claude Web

Go to Settings > Connectors > Add custom connector:
FieldValue
NameJinko Travel
URLhttps://mcp.builders.gojinko.com/mcp
Leave OAuth fields empty — Claude handles the auth flow automatically. You’ll sign in with your Jinko account on first use.

Claude Code

claude mcp add --transport http jinko https://mcp.builders.gojinko.com/mcp
OAuth will open a browser window for sign-in on first use.

Cursor

Go to Settings > MCP Servers > Add Server:
{
  "mcpServers": {
    "jinko": {
      "url": "https://mcp.builders.gojinko.com/mcp"
    }
  }
}

CLI

The CLI uses its own OAuth flow (device authorization via WorkOS) — this is separate from MCP OAuth.
npm install -g @gojinko/cli
jinko auth login
# → select "OAuth — sign in with browser"
The CLI displays a URL and code. Open it in any browser (works over SSH too), approve, and you’re authenticated. Tokens are stored locally and refreshed automatically.
CLI tokens cannot be reused as Bearer tokens on the MCP endpoint — they have different issuers. Use an API key (jnk_*) for programmatic MCP access.

Connect via API Key

For agents, scripts, CI/CD, or any environment without MCP OAuth support.
1

Get your key

Sign in at the Jinko dashboard — your key starts with jnk_ and gives you 1,000 requests per month.
2

Configure your client

claude mcp add --transport http jinko https://mcp.builders.gojinko.com/mcp --header "Authorization: Bearer jnk_your_key"

Try it

Ask your agent:
“Find me a flight from Paris to Barcelona next weekend”
Or try these:
  • “What are the cheapest destinations from London in June?”
  • “Search direct flights from JFK to LAX on May 15”
  • “Find roundtrip flights from CDG to NRT, 7 day trip in July”

Booking flow

Build a trip and hand the user off to the hosted payment page. The canonical flow is:
find-flight → flight-search → trip → quote → (optional: select-ancillaries) → checkout → user pays in browser → confirm-payment
1

Install

npm install -g @gojinko/cli
2

Authenticate

jinko auth login --key jnk_YOUR_KEY
Or use OAuth for interactive use:
jinko auth login
3

Find a flight

jinko find-flight --from CDG --to JFK --date 2026-05-01
Each result has an offer_token. Pick one.
4

Get live pricing

jinko flight-search --offer-token <offer_token> --format json
Returns a trip_item_token with the exact price.
5

Create a trip

jinko trip \
  --trip-item-token <trip_item_token> \
  --travelers '[{"first_name":"Jane","last_name":"Doe","date_of_birth":"1990-01-15","gender":"FEMALE","passenger_type":"ADULT"}]' \
  --contact '{"email":"jane@example.com","phone":"+33612345678"}'
Returns a trip_id.
6

Quote the trip

jinko quote --trip-id <trip_id>
Returns:
  • items — what’s in the trip, each with item_id, kind, price, pax_count, available_ancillaries, selected_ancillaries
  • totals — quoted pricing for the trip
Use the item_id from this response if you want to preselect ancillaries before payment.
7

(Optional) Preselect ancillaries

jinko select-ancillaries \
  --trip-id <trip_id> \
  --item-id <item_id> \
  --select <offer_id_1>,<offer_id_2>
Otherwise your user selects them on the checkout page.
8

Create checkout

jinko checkout --trip-id <trip_id>
Returns a checkout_url and payment session identifiers.
9

Hand the user off

Redirect or link your user to checkout_url. They complete payment on the Jinko-hosted page.
10

Confirm payment

jinko confirm-payment --trip-id <trip_id> --checkout-session <checkout_session>
This triggers booking and returns the booking confirmation, including booking references and PNRs.
That’s it — full booking with the canonical book flow.

Tips for best results

  • Use real traveler data — never fabricate names, dates of birth, or passport details
  • Airport codes first — use IATA airport codes like CDG, JFK, or NRT
  • Roundtrip searches return both legs in a single offer — no need to search separately
  • JSON format gives your agent structured data, including the trip_item_token

Need help?