NS Travel Information MCP Server
About
An MCP server that provides access to NS (Dutch Railways) travel information.
Details
- Author
- R.Huijts
- Repository
- r-huijts/ns-mcp-server
- GitHub stars
- 22
- Downloads
- 592
- License
- MIT License
- Categories
- Search, API, Developer Tools, Media
- Tags
- #data
Jump to
This MCP server provides comprehensive access to NS train information through the following endpoints:
Setting up with Highlight
Follow these steps to add this server as a custom Highlight plugin:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
NS Travel Information MCP ServerCommand (node, npx, python, etc.)npxArguments-
Argument 1
-y -
Argument 2
ns-mcp-server
Environment-
NS_API_KEY
your_api_key_here
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
You can install this server in three ways:
| Variable | Description |
|----------|-------------|
| NS_API_KEY | Your NS API key (required) |
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"ns travel information mcp server": {
"env": {
"NS_API_KEY": "your_api_key_here"
},
"args": [
"-y",
"ns-mcp-server"
],
"command": "npx"
}
}
}
Linux
{
"env": {
"NS_API_KEY": "your_api_key_here"
},
"args": [
"-y",
"ns-mcp-server"
],
"command": "npx"
}
Macos
{
"env": {
"NS_API_KEY": "your_api_key_here"
},
"args": [
"-y",
"ns-mcp-server"
],
"command": "npx"
}
Windows
{
"env": {
"NS_API_KEY": "your_api_key_here"
},
"args": [
"/c",
"npx",
"-y",
"ns-mcp-server"
],
"command": "cmd"
}
NS Travel Information MCP Server
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
1. Clone this repository
2. Install dependencies:
npm install
3. Copy the example environment file:
cp .env.example .env
4. 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:
1. Replace /path/to/ns-server with the actual path to your installation
2. Add your NS API key in the env section. It can be obtained from here https://apiportal.ns.nl/product#product=NsApp
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:
Real-time Train Information
- 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 activitiesPricing Information
- 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 conditionsStation Information
- Station Details: Access comprehensive station information including: - Facilities and accessibility features - Platform layouts and track information - OV-fiets (bike rental) availability - Location and approach detailsAdditional 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-timeLicense
This project is licensed under the MIT License - see the LICENSE file for details
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




