MCP Connector — Developer Reference
Integrate Tatkal Flights with Claude, ChatGPT, Cursor, and other AI assistants via the Model Context Protocol. Live INR fares across IndiGo, Air India, Akasa, SpiceJet, and Air India Express for 180+ Indian domestic routes.
Endpoints
| Purpose | URL |
|---|---|
| MCP endpoint | https://api.tatkal.flights/mcp |
| Authorization-server discovery | /.well-known/oauth-authorization-server |
| Protected-resource discovery | /.well-known/oauth-protected-resource |
| Authorization URL | https://tatkal.flights/oauth/authorize |
| Token URL | https://api.tatkal.flights/oauth/token |
| Revocation URL | https://api.tatkal.flights/oauth/revoke |
| User dashboard (revoke connections) | https://tatkal.flights/account/api-keys |
OAuth 2.1 flow
Authorization Code with PKCE. S256 is mandatory — code_challenge_method=plain is rejected.
- Client generates
code_verifier+code_challenge(S256). - Redirect user to
/oauth/authorize?response_type=code&client_id=&redirect_uri=&scope=flights:search&code_challenge=&code_challenge_method=S256&state=. - User signs in to tatkal.flights, approves, gets redirected back with
?code=…&state=…. - Exchange code at
POST /oauth/tokenwithgrant_type=authorization_code,code,code_verifier,redirect_uri,client_id. - Receive
access_token(30-day expiry). Use asAuthorization: Bearer …on/mcp.
Scopes: flights:search, flights:read.
Allowed redirect_uri hosts: claude.ai, claude.com, anthropic.com, chat.openai.com, chatgpt.com, localhost, 127.0.0.1.
The tool: search_flights
Input schema
| Field | Type | Required | Notes |
|---|---|---|---|
from | string | yes | 3-letter IATA (DEL, BOM, BLR…) |
to | string | yes | 3-letter IATA |
date | string | yes | YYYY-MM-DD |
adults | int | no | 1–9 (default 1) |
cabin | enum | no | economy / premium_economy / business / first |
stops | enum | no | direct / any |
airlines | string[] | no | Substring match on airline name |
depart_after | string | no | HH:MM |
depart_before | string | no | HH:MM |
limit | int | no | 1–20 (default 10) |
Output (per flight option)
Each option carries: airline name + flight number, departure/arrival airport & time, duration, stops, cabin, INR price, baggage allowance (15 kg check-in + 7 kg cabin standard), fare-rule flags, meal flag (true only for Air India mainline), and a deep-link booking_url to tatkal.flights with the flight pre-selected.
Fare rules & baggage (policy)
- Baggage: 15 kg check-in + 7 kg cabin on every domestic economy fare.
- User-initiated cancellation: non-refundable.
- User-initiated change: non-changeable (book a fresh ticket).
- Airline-initiated cancellation or >2 hr reschedule: full refund under DGCA rules — contact
care@tatkalflights.comwith PNR. - Meals: complimentary on Air India mainline (AI flight numbers, not IX). All other carriers are buy-on-board.
Rate limits
- Search: 60 / hour / IP
POST /oauth/token: 30 / 5 min / IPPOST /oauth/revoke: 30 / 5 min / IP
Security
- OAuth 2.1 with PKCE S256 (mandatory; non-S256 is rejected with 400)
- Tokens never logged; opaque format
tf_<48-hex> - 30-day expiry; user can revoke any time from /account/api-keys
- CORS allowlist: claude.ai, claude.com, chat.openai.com, chatgpt.com, anthropic.com
- No card data, passenger PII, or payment info crosses the MCP channel — checkout happens on tatkal.flights via Razorpay
Quick test
curl -i https://api.tatkal.flights/mcp
# → 401 Unauthorized
# → WWW-Authenticate: Bearer resource_metadata="https://api.tatkal.flights/.well-known/oauth-protected-resource"
curl -s https://api.tatkal.flights/.well-known/oauth-protected-resource | jq
Contact
Partnership / directory submission queries: partners@tatkalflights.com
Customer support (refund / PNR questions): care@tatkalflights.com
Operated by Swadesi Travel Pvt Ltd, India.