npm package: @iflow-mcp/amith-vp-indian-railway-mcp
Description: indian railways implementation of MCP Streamable HTTP protocol
Latest version: 1.0.1

# Indian Railway MCP



## Claude Desktop Integration

> **Important:**
> First, install the latest version of `mcp-remote` globally:
>
> ```sh
> npm i -g mcp-remote
> ```


### Access the remote MCP server from Claude Desktop

1. **Open Claude Desktop** and go to:  
   `Settings` → `Developer` → `Edit Config`

2. **Replace/Add the config content** with:

```json
{
  "mcpServers": {
    "railways": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://railway-mcp.amithv.xyz/mcp"
      ]
    }
  }
}
```

3. **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.