Skip to main content
Glama
r-huijts

NS Travel Information MCP Server

by r-huijts

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NS_API_KEYYesYour NS API key from the NS API Portal (https://apiportal.ns.nl/)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_disruptionsA

Get comprehensive information about current and planned disruptions on the Dutch railway network. Returns details about maintenance work, unexpected disruptions, alternative transport options, impact on travel times, and relevant advice. Can filter for active disruptions and specific disruption types.

get_travel_adviceA

Get detailed travel routes between two train stations, including transfers, real-time updates, platform information, and journey duration. Can plan trips for immediate departure or for a specific future time, with options to optimize for arrival time. Returns multiple route options with status and crowding information.

get_departuresA

Get real-time departure information for trains from a specific station, including platform numbers, delays, route details, and any relevant travel notes. Returns a list of upcoming departures with timing, destination, and status information.

get_ovfietsC

Get OV-fiets availability at a train station

get_station_infoC

Get detailed information about a train station

get_current_time_in_rfc3339A

Get the current server time (Europe/Amsterdam timezone) in RFC3339 format. This can be used as input for other tools that require date-time parameters.

get_arrivalsA

Get real-time arrival information for trains at a specific station, including platform numbers, delays, origin stations, and any relevant travel notes. Returns a list of upcoming arrivals with timing, origin, and status information.

get_pricesC

Get price information for domestic train journeys, including different travel classes, ticket types, and discounts. Returns detailed pricing information with conditions and validity.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 8 tools

Disambiguation5/5

Each tool has a clearly distinct purpose targeting specific aspects of train travel information, such as arrivals, departures, disruptions, pricing, station details, and route planning. There is no overlap in functionality, and the descriptions clearly differentiate the scope of each tool, making it easy for an agent to select the correct one without confusion.

Naming Consistency5/5

All tool names follow a consistent 'get_' prefix pattern with descriptive nouns, such as get_arrivals, get_departures, get_disruptions, etc. This uniform naming convention enhances readability and predictability, allowing agents to easily understand and anticipate the purpose of each tool based on its name.

Tool Count5/5

With 8 tools, the server is well-scoped for providing comprehensive Dutch railway travel information. Each tool serves a specific and necessary function, covering real-time data, disruptions, pricing, station details, and route planning, without being overly broad or lacking in essential features for the domain.

Completeness5/5

The tool set offers complete coverage for train travel information, including real-time arrivals and departures, disruptions, pricing, station details, bike availability, and route planning. There are no obvious gaps, as it supports core workflows from trip planning to real-time updates and ancillary services like OV-fiets, ensuring agents can handle a wide range of travel-related queries effectively.

Maintenance

ActivityInactive
ResponsivenessUnresponsive