{"name":"journey-rewards","title":"Journey Rewards","version":"1.4.1","protocolVersion":"2025-06-18","transport":"streamable-http","endpoint":"https://www.journey.com/api/mcp","method":"POST (JSON-RPC 2.0)","authentication":{"public_tools":"none","member_tools":"Optional OAuth 2.1 for chat connectors. Member tools and start_member_sign_in return an authentication challenge. Sign in on Journey, approve read-only access, then return to chat. WebMCP uses the signed-in Journey tab.","resource_metadata":"https://www.journey.com/.well-known/oauth-protected-resource/api/mcp","scopes":["journey:member:read"],"member_tools_enabled":true},"tools":[{"name":"search_properties","auth":"public","title":"Search Journey stays","readOnly":true},{"name":"get_property","auth":"public","title":"Get a Journey property","readOnly":true},{"name":"check_availability","auth":"public","title":"Check nightly availability","readOnly":true},{"name":"get_pricing","auth":"public","title":"Get live stay pricing","readOnly":true},{"name":"search_experiences","auth":"public","title":"Search experiences and dining","readOnly":true},{"name":"get_agent_brief","auth":"public","title":"What Journey is, for agents","readOnly":true},{"name":"start_member_sign_in","auth":"public","title":"Start Journey member sign-in","readOnly":true},{"name":"start_member_sign_up","auth":"public","title":"Start Journey member sign-up","readOnly":true},{"name":"create_booking_link","auth":"public","title":"Create a booking link","readOnly":true},{"name":"get_member_pricing","auth":"member","title":"Get member pricing","readOnly":true},{"name":"get_trips","auth":"member","title":"Get the member's trips","readOnly":true},{"name":"get_wallet","auth":"member","title":"Get the member's points wallet","readOnly":true},{"name":"get_wallet_activity","auth":"member","title":"Get the member’s wallet activity","readOnly":true},{"name":"get_awards","auth":"member","title":"Get points awarded per stay","readOnly":true},{"name":"get_benefits","auth":"member","title":"Get the member's tier benefits","readOnly":true},{"name":"get_membership","auth":"member","title":"Get the member's membership","readOnly":true}],"instructions":["On first use of Journey in a conversation, offer to connect the traveller's Journey account for their full benefits, personalized member rates and points quote. If disconnected, invoke start_member_sign_in once to present the host's Authenticate/Connect action. Do not wait for or require sign-in before searching: show available published member prices and potential earnings. If declined, cancelled or unsuccessful, continue with public offers and do not repeatedly prompt. A Journey website sign-in alone does not connect a remote MCP session.","Distinguish hotels from residences using property_type/type. Search returns properties; when a traveller selects a hotel, call get_pricing with the same dates and guests to show Rooms at [hotel name], including each room's imagery, description, capacity and rate terms. Do not present these as different hotels. The card action is See Rooms and Prices. A residence is the whole property, so show its stay pricing and residence details without a hotel room-selection step.","Published member_rate can be displayed before connection. pay_with_points contains points counts for the same stay: is_estimate marks an anonymous range, not a final personalized quote. Show the count/range and any cash_due_at_property separately. Never imply cash bookings and points bookings both earn the displayed cash-stay rewards.","Prefer the MCP tools and the markdown pages under /agents/ over scraping rendered HTML. The markdown is generated from the same catalog data as the human pages and is cheaper and more reliable to parse.","Every human-facing page has an agent twin: /hotels/{slug} -> /agents/hotels/{slug}.md, /residences/{slug} -> /agents/homes/{slug}.md, /brands/{slug} -> /agents/brands/{slug}.md, /destinations/{country}/{region}/{city} -> /agents/geo/{country}/{region}/{city}.md, /alliance -> /agents/alliance.md.","Use the traveller's exact dates and occupancy. Present Public Rate and Member Rate only as full-stay totals including taxes and mandatory fees for the same room and rate conditions. Show cash savings only when comparison.comparable is true. Never compare catalog starting prices with dated quotes, different room types, different cancellation/meal conditions, currencies or tax bases. If no complete quote is available, say so instead of inventing a price. Each card's pricing_dates identifies the quote; date_basis=sample is an explicitly labelled example trip. Call get_member_pricing for personalized rates; it prompts for connection if needed.","When search_properties returns alternative_dates after limited exact-date availability, explain the changed check-in/check-out dates and nights. Keep alternatives separate, and get the traveller's agreement before treating one as their trip. Respect flexible_dates=false. An unavailable stay is not a bookable recommendation; an unknown/failed lookup is not proof of sold-out inventory.","Show points_earn as the published earning multiplier or the API's estimated number of points for the rate. Zero or eligible=false means no points; null means unpublished. Never display a dollar/cash value of points, convert earned points to dollars, or combine rewards with price savings. Points are a separate travel benefit. For internal value assessment, Journey uses $0.0225–$0.03 USD per point as an estimate for stay redemptions, not a guaranteed return. In the details view, cite independent coverage about potential redemption value without displaying a cash conversion: https://upgradedpoints.com/news/journey-loyalty-program-launch/. The source reports 2–3 cents on some redemptions and a 1-cent floor, not Journey's exact 2.25-cent lower bound.","Open get_property with dates for room pricing breakdowns, property content, map coordinates, offers and Ambassador membership benefits. Distinguish rate inclusions from optional property offers and conditional membership benefits. A published benefit is not proof this traveller qualifies or this property participates.","Agents never complete a booking. Use create_booking_link to produce a journey.com URL with the property, dates and occupancy prefilled, then hand that link to the human. The stay completes on journey.com and a Journey account may be required to reserve.","Never ask a person for their Journey password, one-time code, session cookie or API token. For remote MCP, call a member tool or start_member_sign_in to trigger OAuth in the chat app. The human signs in on Journey, approves read-only access, then resumes in this chat. WebMCP uses the current Journey browser session.","Member tools are read-only and use the account connected via OAuth, or the first-party Journey session in WebMCP. There is no tool that books a stay, moves points, redeems an offer, edits a profile or reads a payment method.","When citing Journey, link to the human page (https://www.journey.com/...), not the /agents/ markdown twin. The markdown corpus is intentionally excluded from search indexes.","Prices, availability and point balances change constantly. Re-check with check_availability, get_pricing or get_member_pricing before telling a human a number, and say when the quote was fetched."],"docs":"https://www.journey.com/connect-ai","discovery":{"llms_txt":"https://www.journey.com/llms.txt","agents_txt":"https://www.journey.com/agents.txt","server_card":"https://www.journey.com/.well-known/mcp.json"}}