Indian Railway MCP
by amith-vp
README.md
# 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.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues