Transform your AI assistant into a Dutch railways expert! This MCP server connects Claude to real-time NS (Nederlandse Spoorwegen) travel information, making it your perfect companion for navigating the Netherlands by train.
Installation
You can install this server in three ways:
1. Using Claude Desktop with NPM Package
Update your Claude configuration file (~/Library/Application Support/Claude/claude_desktop_config.json
):
{
"mcpServers" : {
"ns-server" : {
"command" : "npx" ,
"args" : [
"-y" ,
"ns-mcp-server"
] ,
"env" : {
"NS_API_KEY" : "your_api_key_here"
}
}
}
}
You can get an API key from NS API Portal
2. Using Smithery
To install NS Travel Information Server automatically via Smithery :
npx -y @smithery/cli install ns-server --client claude
3. From Source
Clone this repository
Install dependencies:
npm install
Copy the example environment file:
cp .env.example .env
Add your NS API key to the .env
file:
NS_API_KEY=your_api_key_here
Then update your Claude configuration file:
{
"mcpServers" : {
"ns-server" : {
"command" : "node" ,
"args" : [
"/path/to/ns-server/build/index.js"
] ,
"env" : {
"NS_API_KEY" : "your_api_key_here"
}
}
}
}
Make sure to:
Replace /path/to/ns-server
with the actual path to your installation
Add your NS API key in the env
section
After updating the configuration, restart Claude Desktop for the changes to take effect.
Real-World Use Cases
"Is my usual 8:15 train from Almere to Amsterdam running on time?"
"Are there any delays on the Rotterdam-Den Haag route today?"
"What's the best alternative route to Utrecht if there's maintenance on the direct line?"
"Which train should I take to arrive at my office in Amsterdam Zuid before 9 AM?"
"Which route to Amsterdam has the fewest transfers with a stroller?"
"What's the earliest train I can take to make my 10 AM meeting in The Hague?"
"When's the last train back to Groningen after a night out in Amsterdam?"
"Are there any weekend engineering works that might affect my Monday morning class?"
"Are there OV-fiets bikes available at Utrecht Centraal for my afternoon meeting?"
"Is Eindhoven Strijp-S station wheelchair accessible and what platforms does it have?"
"What trains are arriving at Utrecht Centraal in the next hour?"
"Has the train from Venlo to Schiphol Airport arrived on time?"
"How much does a first-class ticket from Amsterdam to Rotterdam cost?"
"What's the price for 2 adults and 1 child traveling to Den Haag?"
🔑 Environment Variables
Variable Description NS_API_KEY Your NS API key (required)
🌟 Features
This MCP server provides comprehensive access to NS train information through the following endpoints:
Departures : Get real-time departure information including platform numbers, delays, and travel notes
Arrivals : Access upcoming train arrivals with origin stations, platform changes, and status updates
Journey Planning : Find optimal travel routes with transfers and real-time updates
Service Updates : Check for disruptions, maintenance work, and engineering activities
Ticket Prices : Get accurate pricing for single and return journeys
Travel Classes : Compare prices for first and second class travel
Group Pricing : Calculate fares for adults and children
Discount Options : Check joint journey discounts and special offers
Validity Details : View ticket validity periods and travel conditions
Station Details : Access comprehensive station information including:
Facilities and accessibility features
Platform layouts and track information
OV-fiets (bike rental) availability
Location and approach details
Additional Features
Multi-language Support : Information available in Dutch and English
Flexible Queries : Search by station name, code, or UIC identifier
Time Zones : Proper handling of time zones for international stations
Status Updates : Track changes, delays, and cancellations in real-time
License
This project is licensed under the MIT License - see the LICENSE file for details