indian-railway-mcp

indian-railway-mcp

19

The Indian Railway MCP project provides a suite of tools through an MCP server for accessing Indian Railways information. It's designed to be integrated with Claude Desktop, offering features like train search, seat availability, and live status updates. Users can interact with these functionalities seamlessly within MCP-compatible clients.

Indian Railway MCP

Claude Desktop Integration

Important: First, install the latest version of mcp-remote globally:

npm i -g mcp-remote

Access the remote MCP server from Claude Desktop

  1. Open Claude Desktop and go to:
    SettingsDeveloperEdit Config

  2. Replace/Add the config content with:

{
  "mcpServers": {
    "railways": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://railway-mcp.amithv.xyz/mcp"
      ]
    }
  }
}
  1. Restart Claude Desktop.
    The tools will be available in Claude.

Available Tools

Below are the available tools exposed by this MCP server, with a sample response for each. (Order: search, seat, train info, live status, delay, station code, train code)

1. Search-trains

  • Description: Searches for available trains between two stations on a given date.
  • Sample response:
    TRAINS FROM ERS TO SBC (20250415)
    
    Train    Name                Departure      Arrival        Duration  Classes  Days
    ---------------------------------------------------------------------------------
    12677    YPR SAMPARK KRANTI  ERS 06:45 → SBC 20:30  13h45m  2A,3A,SL  SMTWTFS
    16525    ISLAND EXPRESS      ERS 09:00 → SBC 23:55  14h55m  2A,3A,SL  SMTWTFS
    ...
    

2. Get-seat-availability

  • Description: Checks seat availability for a train between two stations on upcoming dates. Returns a formatted text with train details, seat availability status (available or waitlisted), and fare information for different classes and dates.
  • Sample response:
    SEAT AVAILABILITY: 12617 MANGALA LDWEEP EXP
    Route: ERS → NZM | Quota: GN
    
    Date       | Class | Status
    -----------------------------
    2025-04-16 | 2A    | AVAILABLE 2
               | 3A    | WL 5
               | SL    | AVAILABLE 10
    -----------------------------
    2025-04-17 | 2A    | AVAILABLE 5
               | 3A    | WL 5
               | SL    | REGRET
    -----------------------------
    ...
    

3. Get-train-info

  • Description: Fetches detailed information about a specific Indian Railways train, including its route and schedule.
  • Sample response:
    TRAIN 12617 MANGALA LDWEEP EXP (Superfast)
    Route: ERS-NZM
    Runs: SMTWTFS | Classes: 2A,3A,SL | Zone: SR
    Pantry Available | Booking: 120 days in advance
    
    COACH POSITION: EOG-SLR-2A-3A-3A-SLR
    
    SCHEDULE:
    Stn   Station Name       Dist   Arr    Dep    Platform  Halt
    --------------------------------------------------------------
    ERS   Ernakulam Jn       0     Origin 10:00   1        -
    MAJN  Mangalore Jn       400   14:00  14:10  2        10
    ...
    NZM   Hazrat Nizamuddin  2760  13:15  Terminus 5      -
    

4. Get-train-live-status

  • Description: Fetches the current live running status of a specific train, including location, delays, and expected arrivals.
  • Sample response:
    LIVE STATUS: Train 12617 on 2025-04-15
    
    Stn  Name            Dist    Platform  Arrival           Departure
    -------------------------------------------------------------------
    1.  Ernakulam Jn     0       PF:1      10:00 (On-time)   10:00 (On-time)
    2.  Mangalore Jn     400     PF:2      14:00 (14:05)     14:10 (14:15)
    ...
    25. Hazrat Nizamuddin 2760   PF:5      13:20 (13:25)     TERMINUS
    

5. Get-train-delay-info

  • Description: Retrieves average delay information for a specific train at each station for a specified time period.
  • Sample response:
    TRAIN 12617 MANGALA LDWEEP EXP (Superfast)
    Route: ERS-NZM | Runs: SMTWTFS
    Classes: 2A,3A,SL | Zone: SR
    
    DELAY STATISTICS (Period: Last Month)
    Station        Code   Avg Delay (mins)
    --------------------------------------
    Ernakulam Jn   ERS    2
    Mangalore Jn   MAJN   5
    ...
    Hazrat Nizamuddin NZM 10
    

6. Get-live-station-info

  • Description: Retrieves live train schedule information for a specific Indian Railway station.
  • Sample response:
    TRAINS AT NDLS STATION
    
    12002 BHOPAL SHTBDI (NDLS-BPL)
    PF:1 A:06:00/D:06:10 [Arr:On-time/Dep:On-time]
    ---
    12952 MUMBAI RAJDHANI (NDLS-BCT)
    PF:3 A:16:25/D:16:35 [Arr:+10/Dep:+10]
    ---
    ...
    

7. Get-station-code

  • Description: Finds station code(s) by station name(s). Supports multiple names, variations, and case-insensitive matching.
  • Sample response:
    Station search results:
    New Delhi: NDLS
    Trivandrum: TVC
    Matching 'Delhi':
    New Delhi: NDLS
    Old Delhi: DLI
    ...
    

8. Get-train-code

  • Description: Finds train code (number) by train name. Supports multiple train names, variations, and case-insensitive matching.
  • Sample response:
    Train search results:
    Rajdhani Express: 12951
    Shatabdi Express: 12001
    Matching 'Rajdhani':
    12951: Mumbai Rajdhani
    12952: Delhi Rajdhani
    ...
    

Each tool returns a formatted text response suitable for direct use in Claude or other MCP-compatible clients.