Skip to main content
Glama

Mind the Gates — UK level crossings

Server Details

Live barrier status and closure forecasts for ~1,600 UK level crossings. Public data, no auth.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.8/5 across 4 of 4 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool performs a distinct function: busiest_today gives predicted delays, crossings_near finds nearby crossings, crossing_status provides live status for one crossing, and list_crossings searches for crossings. No overlap in purpose.

Naming Consistency4/5

Tools use snake_case and mostly follow a verb_noun or descriptive pattern (list_crossings, crossing_status). 'busiest_today' and 'crossings_near' deviate slightly but remain clear and consistent overall.

Tool Count4/5

Four tools is appropriate for a focused domain like UK level crossings. It covers key operations without being too sparse or overwhelming.

Completeness4/5

The server covers main use cases: search, list busy crossings, find nearby crossings, and get live status. Missing features like detailed static crossing info or historical data, but not essential given the real-time focus.

Available Tools

4 tools
busiest_todayBusiest crossings todayA
Read-onlyIdempotent
Inspect

The ten UK level crossings with the most predicted road-closed time today. Takes no arguments. Each line gives the rank, crossing name, predicted minutes closed across the whole day, and a status URL ending .md. The ranking is computed from today's timetable once per day, shortly after UK midnight, and the build timestamp is included in the reply — it is a whole-day total, not a live reading, so use crossing_status for what a barrier is doing now. Briefly unavailable right after a restart while the first build runs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

The description discloses key behavioral traits beyond annotations: computed once per day after midnight, includes build timestamp, unavailable after restart. These add value since annotations only indicate read-only and idempotent.

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?

The description is concise (3-4 sentences), front-loaded with purpose, and every sentence provides essential information: output format, update frequency, guidance, and availability. No wasted words.

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

Completeness5/5

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

The description is fully complete for a simple tool: explains output (rank, name, minutes, URL), update cadence, and behavioral quirks (unavailable after restart). No output schema needed as format is described.

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

Parameters4/5

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

With zero parameters and 100% schema coverage, the description adds the confirmation 'Takes no arguments' and explains the output format. Baseline is 4, and the description meets that with no gaps.

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?

The description clearly states it returns the ten UK level crossings with the most predicted road-closed time today. It uses specific verbs ('gives') and identifies the resource (level crossings), and distinguishes from sibling tools like crossing_status.

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

Usage Guidelines5/5

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

The description explicitly guides when to use this tool vs. crossing_status: 'it is a whole-day total, not a live reading, so use crossing_status for what a barrier is doing now.' It also notes unavailability after restart.

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

crossings_nearCrossings near a pointA
Read-onlyIdempotent
Inspect

Nearest listed level crossings to a point, closest first. Returns one line per crossing — distance in MILES, then name, type, region and a status URL ending .md. Distance is straight-line (great circle) between the point and the crossing, NOT distance by road or along the railway: it answers 'which crossings are near this place', not 'which will this train reach next'.

ParametersJSON Schema
NameRequiredDescriptionDefault
latYesLatitude in WGS84 decimal degrees, e.g. 51.3958. Positive is north.
lonYesLongitude in WGS84 decimal degrees, e.g. -1.2637. NEGATIVE is west, which is most of Great Britain.
limitNoHow many crossings to return, nearest first; clamped to 1-25.
Behavior5/5

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

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint as true. The description adds valuable behavioral context by explaining the distance calculation is straight-line great circle (not road/rail) and describes the response format. No contradictions with annotations.

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 sentences, no wasted words. First sentence gives purpose and output summary, second clarifies distance metric, third clarifies use case. Information is front-loaded and every sentence earns its place.

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?

No output schema, but description covers what each result line contains. Parameters are fully documented in schema. Annotations cover safety. Missing details about error handling or timeouts, but given the tool's simplicity, it is fairly complete.

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

Parameters4/5

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

Schema coverage is 100%, with well-described parameters (lat, lon, limit). The description adds extra meaning: distance is in MILES and status URL ends in .md, which are not in schema. However, since schema already covers parameters well, the added value is moderate.

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?

The description clearly states the tool returns the nearest listed level crossings to a point, sorted closest first, and specifies the output fields (distance in miles, name, type, region, status URL). It effectively distinguishes from sibling tools like busiest_today and crossing_status by focusing on proximity.

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

Usage Guidelines5/5

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

Explicitly tells when to use ('which crossings are near this place') and when not to use ('NOT distance by road or along the railway'). It also contrasts with a potential alternative ('not which will this train reach next'). Provides clear, actionable guidance.

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

crossing_statusLive crossing statusA
Read-onlyIdempotent
Inspect

Live barrier status, the next-30-minute closure timeline and approaching trains for ONE crossing, as markdown. Forecasts are rebuilt per request from the live train feeds, so the answer changes minute to minute. Informational only — never a substitute for the signals and barriers at the crossing itself. An ambiguous name returns the candidate URL words to choose between; an unknown one asks you to call list_crossings first.

ParametersJSON Schema
NameRequiredDescriptionDefault
crossingYesThe crossing's URL word as returned by list_crossings (e.g. 'thatcham'), or its name — spaces are accepted and hyphenated internally.
Behavior5/5

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

Annotations (readOnlyHint, openWorldHint, idempotentHint) are confirmed by the description: 'Informational only' and 'Forecasts are rebuilt per request... answer changes minute to minute.' It adds error handling behavior and the dynamic nature, going beyond annotations.

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 sentences, all essential: first sentence gives purpose and output, second explains dynamic nature, third provides error handling and prerequisites. No wasted words, front-loaded with key info.

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

Completeness5/5

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

Given one parameter, no output schema, and rich annotations, the description covers purpose, behavior, parameter handling, safety warning, and error conditions. It is fully adequate for an agent to use the tool correctly.

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

Parameters4/5

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

Schema coverage is 100% (one parameter 'crossing'), so baseline 3. The description adds behavior guidance: ambiguous names return candidates, unknown names require calling list_crossings first. This adds value beyond the schema description.

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?

The description clearly states what the tool does: 'Live barrier status, the next-30-minute closure timeline and approaching trains for ONE crossing, as markdown.' It distinguishes itself from siblings (busiest_today, crossings_near, list_crossings) by focusing on a single crossing's live status and mentioning list_crossings as a prerequisite for unknown names.

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 description provides when to use (for live status of one crossing) and includes a safety warning ('Informational only — never a substitute...'). It also explains behavior for ambiguous/unknown names. While it doesn't explicitly compare to alternatives, the scope is clear.

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

list_crossingsSearch level crossingsA
Read-onlyIdempotent
Inspect

Search UK level crossings by name, URL word or region name (substring, case-insensitive). Returns one line per match — name, crossing type, region, and a status URL ending .md that returns that crossing's live markdown status. Reports the total match count and returns the first limit; there is no pagination, so narrow the query to see different matches. Names starting with the query sort first.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum matches to return; clamped to 1-50. The total match count is reported regardless.
queryYesSubstring of a crossing name, its URL word, or a region name, e.g. 'thatcham' or 'kent'.
Behavior5/5

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

The description adds significant behavioral context beyond the annotations (readOnlyHint, openWorldHint, idempotentHint). It details the return format (one line per match with name, type, region, status URL), total match count, lack of pagination, and sorting priority, providing a complete picture of the tool's behavior.

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?

The description is concise at four sentences, with clear front-loading of the purpose. Each sentence adds necessary information without redundancy, making it easy for an AI agent to parse quickly.

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

Completeness5/5

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

Despite the lack of an output schema, the description fully explains the return format and behavior, including edge cases like no pagination and sorting. Given the tool's complexity (text search with limit), the description is complete and actionable.

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

Parameters5/5

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

Although the input schema already describes the parameters (query and limit) with 100% coverage, the description adds valuable semantics: it explains that the query is a substring search across multiple fields, that the limit is a maximum with no pagination, and that results starting with the query sort first. These details enhance the agent's understanding beyond the schema.

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?

The description clearly states the tool searches UK level crossings by name, URL word, or region name using substring and case-insensitive matching. It distinguishes itself from sibling tools like busiest_today, crossings_near, and crossing_status by focusing on text-based searching.

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 description explains that results are limited to the first `limit` matches with no pagination, advising users to narrow queries for different results. It also mentions sorting behavior for names starting with query. However, it does not explicitly state when not to use this tool (e.g., for status or location queries).

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources