NS Travel Information MCP Server logo

NS Travel Information MCP Server

by r-huijts

This MCP server connects Claude to real-time NS (Nederlandse Spoorwegen) travel information, turning your AI assistant into a Dutch railways expert. It's your perfect companion for navigating the Netherlands by train.

View on GitHub

Last updated: N/A

| <img src="https://upload.wikimedia.org/wikipedia/commons/b/b7/Nederlandse_Spoorwegen_logo.svg" alt="NS Logo" width="380"/> | <img src="https://glama.ai/mcp/servers/tzd5oz5tov/badge" alt="NS Travel Information Server MCP server" width="380"/> | |:---:|:---:|

NS Travel Information MCP Server

npm version

npm version

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 activities

Pricing 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 conditions

Station 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 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