Skip to content
Conduit

mcp server

confirmtkt-mcp

MCP server for live Indian Railways train search & seat availability.

uditya-kumar/confirmtkt-mcpcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

Before you start

  • Node.js 20 or newer
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "confirmtkt-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "confirmtkt-mcp"
      ]
    }
  }
}

same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12

Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs

README

synced Oct 26, 2026

Data comes from ConfirmTkt's public (unauthenticated) trains-search API — no key, no login, no CAPTCHA. The endpoint was reverse-engineered.

Sample query & output

Ask Claude: "Find trains from New Delhi to Bhopal on 28-06-2026 with 3A available."

Claude calls search_trains (origin/destination resolved live: New Delhi → NDLS, Bhopal → BPL) with travelClass: "3A" and availableOnly: true, and gets back 9 trains with confirmed 3A seats:

🚆 New Delhi → Bhopal Jn · 28 Jun 2026 · class 3A · available only · 9 trains

TrainNameDep → ArrDuration3A statusFare
12438SC Rajdhani15:35 → 23:307h 55mAVL 25₹1,995
22222CSMT Rajdhani16:55 → 00:357h 40mAVL 31₹1,995
22692SBC Rajdhani19:50 → 03:457h 55mAVL 2₹1,905
12191NZM JBP SF14:05 → 01:5511h 50mAVL 14₹1,110
12780Goa Express15:15 → 02:3511h 20mAVL 1₹1,110
07622NED Summer Spl21:40 → 07:179h 37mAVL 123₹1,365
…and 3 more

Raw tool output (truncated):

{
  "source": "NDLS",
  "destination": "BPL",
  "date": "28-06-2026",
  "filters": { "travelClass": "3A", "availableOnly": true },
  "trainCount": 9,
  "trains": [
    {
      "trainNumber": "12438",
      "trainName": "SC RAJDHANI",
      "fromStnCode": "NZM", "toStnCode": "BPL",
      "departureTime": "15:35", "arrivalTime": "23:30",
      "durationFormatted": "7h 55m", "distance": 694, "hasPantry": true, "trainRating": 4.4,
      "availability": [
        { "travelClass": "3A", "status": "AVL 25", "seats": 25, "fare": 1995, "confirmStatus": "Confirm", "confirmChance": 100, "quota": "GN" }
      ]
    }
  ]
}

Tools

ToolWhat it does
search_trainsAll trains between origin & destination on a date, with per-class seat availability (SL/3A/3E/2A/1A/CC/EC/2S), fares, timings, duration, rating. Optional travelClass and availableOnly filters.
get_seat_availabilityLive availability for one specific train number on a route+date.
find_station_codeResolve any station/city name to its IRCTC code via live autocomplete (e.g. "Itarsi" → "ET").

Inputs are forgiving:

  • Origin / destination accept a station code (NDLS) or a city name (New Delhi).
  • Dates accept DD-MM-YYYY (28-06-2026) or YYYY-MM-DD (2026-06-28).

Availability status codes

StatusMeaning
AVL nn seats confirmed-available now (seats field = n)
WL nWaitlist position n
RAC nReservation Against Cancellation, position n
Regret / Not AvailableNo booking in that class

Each class also reports fare (₹), confirmStatus, and confirmChance (0–100%).

Build

npm install
npm run build

Register with Claude Code

claude mcp add --scope user confirmtkt-trains -- node /absolute/path/to/dist/server.js

Then ask Claude: "Find trains from New Delhi to Bhopal on 28-06-2026 with 3A available."

License

Released under the MIT License.

↑↓ navigate openesc close