Developers & AI agents
OlaChill (MIA Co., Ltd., Osaka) sells Japan tours, attraction tickets, kimono rental, eSIM, helicopter flights, golf, charter buses and private cars. Public catalogue and API resources are read-only and need no API key. The MCP server is read-only except for one explicitly declared request-for-quote tool (request_charter_quote), which sends a quotation request only after the user confirms — it never books or charges. Only the signed-in user's own bookings need OAuth.
Prices are "from" prices. Dates, availability, the final price, cancellation terms and payment are always on the product page, where the traveller books. There are no booking, payment or cancellation endpoints.
Quick start
| MCP endpoint | POST https://olachill.com/mcp |
| Server type | Streamable HTTP, stateless: JSON-RPC 2.0 over POST, JSON responses, no SSE stream. Protocol versions 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05. |
| Authentication | Public MCP tools (including request_charter_quote) and the catalogue API: none (no API key, no sign-in). Account data (the user's own bookings): OAuth 2.1 authorization code + PKCE S256. How it works |
| Public vs authenticated | 13 anonymous MCP tools + /api/v1/catalog; OAuth only for /api/v1/me, /api/v1/me/bookings and the account tool list_my_bookings. |
| OpenAPI | /api/openapi.json (same document at /openapi.json) |
| API version | v1 — stability policy |
| Tool specs | MCP tools below; full input and output JSON Schemas from tools/list. |
Minimal client config:
{
"mcpServers": {
"olachill": { "type": "streamable-http", "url": "https://olachill.com/mcp" }
}
}
Endpoints
| What | URL |
|---|---|
| MCP server (Streamable HTTP, stateless) | POST https://olachill.com/mcp |
| MCP server card | /.well-known/mcp/server-card.json |
| Catalogue JSON (per language, hourly) | /agent-catalog/{locale}.json |
| OpenAPI 3.1 description | /api/openapi.json · /openapi.json |
| API v1 index | /api/v1 |
| Catalogue API v1 | /api/v1/catalog/{locale} |
| OAuth authorization server metadata (RFC 8414) | /.well-known/oauth-authorization-server |
| OAuth protected resource metadata (RFC 9728) | /.well-known/oauth-protected-resource/mcp · …/api/v1 |
| API catalog (RFC 9727) | /.well-known/api-catalog |
| AI catalog (one JSON document, served at both paths) | /.well-known/ai-catalog.json · /.well-known/ard.json |
| Agent skills | /.well-known/agent-skills/index.json |
| Site guide for language models | /llms.txt · /llms-full.txt |
Languages: en ja zh tw ko th id fr de es it vi.
MCP tools
Anonymous tools — no sign-in, securitySchemes: [{"type":"noauth"}]:
| Tool | Arguments (* required) | Use it when |
|---|---|---|
search_travel_productsread-only | query, city, category, private_onsen, max_price_per_person_jpy, meal_plan, group_size, limit, locale | Use this when the user wants to find, compare or price things to do in Japan, whether or not they mention OlaChill: guided and private day tours and day trips (for example Mt Fuji, Hakone, Nikko, Kamikochi, Kyoto or Nara from Tokyo, Osaka or Nagoya), multi-day tours, local food and neighbourhood tours, street go-kart rides in Tokyo or Osaka, activities and cultural experiences (kimono rental, tea ceremony, cooking classes, crafts), attraction admission tickets (for example teamLab, Tokyo Skytree, theme parks, museums), transport tickets and passes (highway and overnight buses, airport buses, JR and regional rail passes) or a ryokan stay. |
recommend_japan_travel_optionsread-only | city, category, interests, max_price_per_person_jpy, private_onsen, meal_plan, group_size, limit, locale | Use this when the user asks for recommendations, suggestions, a shortlist, 'what should we do', or 'which option fits us' among bookable Japan tours, activities, cultural experiences, attraction or transport tickets, and ryokan, based on preferences such as area, interests, budget, private onsen or meal plan. |
check_product_availabilityread-only | product_id*, date_from*, date_to, locale | Use this when the user asks whether a specific OlaChill tour or ticket can be booked on certain dates (for example 'is the teamLab ticket available on 20 March' or 'does the Fuji tour run next Saturday') and you have its product_id from search_travel_products; call search_travel_products first if you do not. |
search_helicopter_experiencesread-only | area, time_of_day, service_type, passengers, limit, locale | Use this when the user wants a helicopter experience in Japan, whether or not they mention OlaChill: a Tokyo helicopter tour or sightseeing flight (including short 10–30 minute flights), a night-view flight, a Mt Fuji, Yokohama, Osaka or Kyoto helicopter flight, a private helicopter charter for a proposal, anniversary or special occasion, or a heli-taxi or helicopter transfer between two points. |
search_private_transfersread-only | airport, destination, passengers, large_bags, locale | Use this when 1–6 travellers want a private car with a driver to or from a Japanese airport, whether or not they mention OlaChill: for example a Narita or Haneda transfer to a Tokyo hotel or district (Shinjuku, Shibuya, Ginza…), hotel to airport, Kansai Airport to Kyoto or Osaka, Itami, New Chitose to Sapporo or Niseko, Fukuoka, or a fixed Tokyo–ski resort route; also when a family or small group with large suitcases asks how much an airport private car or airport chauffeur costs. |
search_charter_vehiclesread-only | region*, country, passengers*, large_bags, locale | Use this when a group needs its own bus, coach, minibus or large van with a driver, whether or not they mention OlaChill: for example charter bus or coach hire in Japan, a private bus with driver, a school trip, company outing or incentive trip, MICE or conference transport, a wedding shuttle, a tour group, an airport group transfer, or a large group with luggage, in Japan or in a supported Schengen country in Europe. |
get_charter_quoteread-only | region*, country, pickup*, destination, date*, end_date, trip_type, passengers*, large_bags, vehicle_type, pickup_hour, locale | Use this when the user wants a price for a specific charter trip with a bus, coach, minibus or van and driver: pickup, destination, date(s) and group size (for example '45-seat bus Tokyo to Hakone on 20 March for 40 people', a school trip, a company outing or a multi-day group itinerary). |
request_charter_quotesends a request (asks the user to confirm) | user_confirmed*, region*, country, pickup*, pickup_prefecture, destination*, date*, end_date, pickup_time, passengers*, large_bags, vehicle_type, vehicle_count, contact_name*, contact_email*, contact_phone, company, notes, locale | Use this only when the user explicitly asks OlaChill to check availability and send a quotation for a charter coach, minibus or van, after you have shown an estimate from get_charter_quote and collected: region (and country for Europe), pickup, destination, travel date, passengers, and the traveller's own name and email (plus a phone number for Japan). |
get_booking_statusread-only | booking_id*, email*, locale | Use this when the user asks about an existing OlaChill booking, order or quotation request and gives both its reference (for example TOKY-1018-0427 or BUS-FR-1018-0427) and the email address used when booking. |
list_olachill_servicesread-only | locale | Use this as the fallback when the user asks about a Japan travel service that OlaChill offers but that none of the dedicated search tools covers, or asks in general what OlaChill offers: for example premium and luxury private tours, medical travel coordination, VIP arrival immigration at Narita or Haneda, self-drive car rental, fireworks festivals, destination guides, multi-day itineraries, the AI trip planner or real estate in Japan. |
search_golf_packagesread-only | region, golfers, days, limit, locale | Use this when the user wants to play golf in Japan with the round and transport arranged: a round at a named course near Tokyo, Mt Fuji, Hakone or Kansai (Kyoto, Osaka, Shiga), a one-day golf trip with hotel pickup from Tokyo, or a multi-day golf package (Tokyo, Hakone, Mt Fuji, Kyoto, Hokkaido, Okinawa). |
search_chauffeur_servicesread-only | passengers, large_bags, hire_type, prefecture, days, hours, date, locale | Use this when the user wants a private car with a driver in Japan by the day or by the hour, for example a chauffeured Toyota Alphard, Lexus LM, Lexus LS, Lexus LX, Lexus ES, Toyota Crown or Mercedes V-Class for city sightseeing, business meetings, shopping or a day trip with a driver who waits. |
search_esim_plansread-only | days, stay_type, data, locale | Use this when the user wants mobile data in Japan on an eSIM: which travel eSIM covers a trip of a given length, unlimited data versus 3GB per day, what it costs, or a monthly eSIM (data only, or with a phone number) for living in Japan longer than 90 days. |
Every tool except request_charter_quote is read-only. request_charter_quote sends a charter quotation request to OlaChill only after the user confirms (user_confirmed: true); it never books, reserves or charges. Pages on olachill.com also register WebMCP tools in browsers that support it: read-only catalogue tools, plus open_olachill_page, which only opens an olachill.com page in the same tab (so it is not marked read-only). None of them books, submits a form or charges.
Account tools — OAuth, only the signed-in user's own data. Not yet listed in tools/list on the public server; the same data is available now from GET /api/v1/me/bookings.
| Tool | Scope | Use it when |
|---|---|---|
list_my_bookings | bookings:read | Use this when the signed-in user asks about their own OlaChill bookings (status, dates, totals). |
Authentication (OAuth 2.1)
Searching, pricing and checking availability never need sign-in. OAuth is used only to read the signed-in user's own OlaChill data. The user signs in with the OlaChill account they already use on olachill.com (Google, Apple or LINE); there is no separate developer account.
- Flow: authorization code with PKCE,
code_challenge_method=S256only. No implicit or password grant. - Authorization server metadata: https://olachill.com/.well-known/oauth-authorization-server
- Endpoints: authorize
https://olachill.com/oauth/authorize· tokenhttps://olachill.com/oauth/token· dynamic client registration (RFC 7591)https://olachill.com/oauth/register· revocation (RFC 7009)https://olachill.com/oauth/revoke - Send
resource(RFC 8707):https://olachill.com/mcporhttps://olachill.com/api/v1. Tokens are audience-bound; a token for one resource is rejected by the other. - Access tokens last 1 hour; refresh tokens rotate on every use, and reusing an old one revokes the grant.
- A request without a valid token gets
401withWWW-Authenticate: Bearer resource_metadata="…", scope="…"; a token without the scope gets403 insufficient_scope. - Bookings are matched by the account's email. Another person's booking reference returns 404, never their data.
| Scope | Grants |
|---|---|
profile:read | Read the email address of your OlaChill account. |
bookings:read | Read the bookings made with your OlaChill account email (status, date, service, total). |
There are no write scopes: nothing can book, pay, cancel or change a booking through the API.
API versioning
- Current version:
v1under/api/v1/…./mcp,/agent-catalog/{locale}.jsonand/openapi.jsonstay at their current paths and are covered by the same policy. - Within v1 changes are additive only: new endpoints, new optional parameters, new response fields. Clients must ignore fields they do not know.
- A breaking change would ship as
/api/v2. v1 would then keep working for at least 6 months, withDeprecationandSunsetresponse headers and a note on this page. - MCP tool names are stable; a renamed tool keeps its old name as an alias for at least a month.
Try it
curl -s https://olachill.com/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_travel_products","arguments":{"query":"mt fuji","limit":3}}}'
Add to an MCP client:
{
"mcpServers": {
"olachill": { "type": "streamable-http", "url": "https://olachill.com/mcp" }
}
}
Limits and terms
- Request body up to 64 KB; batches up to 20 messages.
- Please cache the catalogue JSON (it changes at most hourly).
- Always send travellers to the product page URL; do not present "from" prices as final.
- Terms of service · Privacy policy
Contact
Integrations and partnerships: partners@olachill.com