Skip to main content
Glama

Faceabot Rail Ireland (Irish Rail, DART)

Server Details

Irish trains and DART: live direct trains in the next 90 minutes, departures. Free, no key.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.8/5.0

Scored across 3 tools

Disambiguation4/5

The three tools split cleanly by intent: station lookup, departures from one station, and direct connections between two stations. However, ie_station_departures and ie_train_connections both return 'next trains in the next 90 minutes,' so an agent asking for trains from A to B could plausibly pick either.

Naming Consistency4/5

All names use a consistent ie_ prefix and snake_case, so the set reads as one family. The internal pattern is slightly mixed (verb-first ie_find_station vs noun-first ie_station_departures / ie_train_connections), but not enough to cause confusion.

Tool Count4/5

Three tools is lean but plausible for a focused real-time rail board: search, departures, and connections cover the common queries. It sits at the low end of the 3-15 range, leaving little room for adjacent needs like alerts or fares.

Completeness3/5

Core live workflows are covered, but notable gaps exist: no service alerts/disruptions, no multi-day or later-today scheduling, and no journeys involving transfers, which is a common rail need. The tools themselves state these limits, so agents will hit dead ends on trip planning beyond the next 90 minutes.

Available Tools

3 tools
ie_find_stationFind an Irish stationA
Read-onlyIdempotent
Inspect

Finds Irish Rail stations (Republic of Ireland and Northern Ireland lines served by Irish Rail) matching a word, with their codes. Use when: a station name is ambiguous or misspelled. Example: {"query":"Dublin"}

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesPart of the station name

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description goes beyond that by disclosing match semantics (matching by a word, i.e. partial/substring matching) and that results come with station codes, which helps the agent interpret output without an output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, front-loaded elements: purpose, when-to-use, and a usage example. No filler sentences; the scoping parenthetical is the only elaboration and it earns its place by disambiguating coverage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter lookup with no output schema, the description adequately covers what is searched, what is returned (stations with codes), and when to use it. It leaves minor gaps like result caps or behavior when no match is found, but nothing that would cause an incorrect invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the query parameter is already documented as 'Part of the station name'. The description adds a concrete example ({"query":"Dublin"}) that clarifies the expected granularity, but no additional format or matching rules beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Finds) plus resource (Irish Rail stations) and scopes it geographically (Republic of Ireland and Northern Ireland lines served by Irish Rail). It also notes the return content (codes), which cleanly separates it from the sibling departure/connection tools without needing to name them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The explicit 'Use when: a station name is ambiguous or misspelled' gives a clear triggering condition for this lookup/resolution tool. It stops short of 5 because it names no alternatives or when-not conditions (e.g. using exact station codes directly), though the trigger is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ie_station_departuresNext trains from an Irish stationA
Read-onlyIdempotent
Inspect

Next train departures from one Irish station within the next 90 minutes: time, train, destination, live delay, last reported position. Includes DART and commuter trains. Use when: someone is at (or going to) a station in Ireland. Example: {"station":"Dublin Connolly"}

ParametersJSON Schema
NameRequiredDescriptionDefault
minutesNo
resultsNo
stationYesStation name or code

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: the data is live (delay, last reported position), the window is 90 minutes, and coverage includes DART and commuter services. No auth or rate-limit details, but the bar is lower given annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight lines: purpose first, then when-to-use, then a concrete invocation example. Every sentence earns its place, though the return-field list is somewhat dense for the opening sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does a good job enumerating returned fields (time, train, destination, delay, position). However, it leaves two of three parameters unexplained and gives no guidance on station code vs. name beyond a single name example, which is a meaningful gap for a 3-param tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33%: 'station' is documented, but 'minutes' and 'results' are not explained anywhere. The description's 'within the next 90 minutes' implies a fixed window and could even mislead an agent away from the configurable minutes parameter, and the results limit is never mentioned. The example {"station":"Dublin Connolly"} only clarifies the station format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Next train departures from one Irish station') with the time window and return fields (time, train, destination, live delay, position). It does not explicitly distinguish itself from siblings ie_find_station or ie_train_connections, though the departure-board framing makes the distinction inferable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use when: someone is at (or going to) a station in Ireland' gives a clear situational trigger. It does not name alternatives (e.g. ie_train_connections for journey planning) or state when this tool is the wrong choice, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ie_train_connectionsDirect Irish trains between two stations, next 90 minutes (Irish Rail)A
Read-onlyIdempotent
Inspect

Direct trains leaving in the next 90 minutes between two stations in Ireland (Irish Rail Intercity, Commuter, DART, Enterprise to Belfast): departure and arrival times, live delay, where the train is now. Live data only: no later days, no transfers. Use when: someone wants to take a train in Ireland now or soon (e.g. Dublin to Cork). Example: {"from":"Dublin Heuston","to":"Cork"}

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesArrival station or code
fromYesDeparture station (Dublin Heuston, Dublin Connolly, Cork, Galway, Limerick, Belfast…) or its code (HSTON). "Dublin" searches all main Dublin stations
resultsNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this a read-only, idempotent, open-world, non-destructive call, so the safety profile is covered. The description adds meaningful behavioral context beyond that: the data is live-only, there are no transfers, and the window is capped at 90 minutes, plus it previews the payload (departure/arrival times, live delay, current train position). No rate limits or failure modes are mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short lines, front-loaded with the capability and scope, followed by a use case and a concrete call example. Nothing is padded, though the operator list in parentheses is slightly more than the agent strictly needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description correctly fills that gap by enumerating the returned fields (times, live delay, current position). Combined with the live-only and no-transfer constraints, an agent has enough to call and interpret the tool, with only the results-count behavior left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%, and the "from" parameter is already richly documented in the schema (station names, codes, and the "Dublin" catch-all). The description's worked example {"from":"Dublin Heuston","to":"Cork"} usefully demonstrates accepted station formats, but "to" and the "results" limit remain thin, so the description only partially compensates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb+resource+scope: direct Irish Rail trains between two named stations within the next 90 minutes, with the operator types listed (Intercity, Commuter, DART, Enterprise). An agent can tell this is a point-to-point live journey lookup, but the description never names its siblings (ie_station_departures, ie_find_station) to sharpen the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states an explicit use condition ("Use when: someone wants to take a train in Ireland now or soon") and a hard exclusion ("Live data only: no later days, no transfers"), which is real routing guidance. It stops short of naming an alternative tool for the excluded cases, so the agent must infer that ie_station_departures handles other departure queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • First observedie_find_station
    • First observedie_station_departures
    • First observedie_train_connections

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables querying live departure and arrival boards, delays, platforms, cancellations, crowding, stop-by-stop progress, and journey planning with up to one change for Lombardy's regional rail network, using public open data without an API key.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides live UK rail data including station search, departures, arrivals, service details, and pre-filled Trainline booking links.
    ISC
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables keyless access to German and European rail and public transport data, including station search, live departures and arrivals, and multi-leg journey planning with real-time updates.
    7 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources