A Model Context Protocol (MCP) server to retrieve train schedules from National Rail.
This project implements a server using the Model Context Protocol (MCP) that allows AI agents to retrieve train information on National Rail trains using the Realtime Trains API.
It provides tools for:
- get_live_departures
- get_live_arrivals
- get_departures_by_date
- get_arrivals_by_date
Real Time Trains API account can be created from here: https://api.rtt.io/
You will need to note down your API Auth credentials
To install mcp-national-rail for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @lucygoodchild/mcp-national-rail --client claude
- Node.js
- Clone this repository
- Install dependencies
npm install
- Build and start the project
npm run build
npm run start
- Add the following to your MCP client configuration (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"mcp-national-rail": {
"command": "node",
"args": ["/path/to/mcp-national-rail/dist/index.js"],
"env": {
"RTT_API_USERNAME": "your_rtt_api_username",
"RTT_API_PASSWORD": "your_rtt_api_password"
}
}
}
}
Make sure to replace "/path/to/mcp-national-rail/dist/index.js" with the actual path and add your RTT API username and password which can be created from here: https://api.rtt.io/
- Restart Claude
- Create .env file based on the example file
RTT_API_USERNAME=your_rtt_api_username
RTT_API_PASSWORD=your_rtt_api_password
Run the inspector with the following command:
npx @modelcontextprotocol/inspector node dist/index.js