Skip to main content
Glama

Server Details

Official UK mountain bike parks, uplift services, trail counts, and bike workshop directory for AI assistants.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.9/5.0

Scored across 3 tools

Disambiguation5/5

Each tool targets a distinct resource and action: get_bike_park retrieves a single park, list_bike_parks enumerates/filters parks, and search_bike_shops finds shops. There is no overlap in purpose, so an agent can easily select the right tool.

Naming Consistency5/5

All names follow a consistent snake_case verb_noun pattern (get_*, list_*, search_*) with correct pluralization for list/search operations. The convention is predictable and readable.

Tool Count4/5

Three tools are within the typical 3-15 range and each earns its place, but the server covers two domains (parks and shops) with an asymmetric tool count. It is slightly thin, though still reasonable for a focused read-only API.

Completeness4/5

Parks have both detail retrieval and listing/filtering, while shops only have a search tool. Adding a shop detail endpoint would close the minor gap, but the current surface likely supports most agent discovery workflows.

Available Tools

3 tools
get_bike_parkGet bike park detailsB
Read-onlyIdempotent
Inspect

Fetch full details for a single UK bike park by exact or partial name match. Returns trails, uplift, facilities, opening times, terrain and wet-weather tips.

NameRequiredDescriptionDefault
nameYesBike park name or partial name, e.g. 'BikePark Wales' or 'Dyfi'.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so safety behaviour is covered. The description adds genuine value by enumerating the returned content (trails, uplift, facilities, times, terrain, tips), but it says nothing about ambiguity handling for partial matches or the failure mode when no park matches.

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?

Two tight sentences with zero filler; the lookup scope is front-loaded and the return contents are listed compactly afterward.

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 one-parameter read with no output schema, the description helpfully previews the return shape, which compensates for the absent output schema. The only real gap is behaviour on ambiguous or failed name resolution.

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 description coverage is 100% and the schema already documents the single 'name' parameter with a partial-match example, so the description's 'exact or partial name match' largely restates it. Baseline 3 applies when the schema does the heavy lifting.

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 ('Fetch'), resource ('single UK bike park'), and matching mode ('exact or partial name'), plus enumerates the payload. The word 'single' implicitly separates it from list_bike_parks, but the sibling is never named, so differentiation is left to inference.

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

Usage Guidelines2/5

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

No explicit when-to-use guidance, no mention of when list_bike_parks or search_bike_shops would be the better choice, and no note about what happens when a partial name matches several parks. The purpose implies a lookup scenario but nothing routes the agent.

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

list_bike_parksList UK bike parksA
Read-onlyIdempotent
Inspect

List UK mountain bike parks from BikesAndThat. Filter by location text (e.g. 'Wales'), trail difficulty (minimum blue/red/black counts, pro lines), uplift (available or type such as 'van'), or distance from a latitude/longitude. When coordinates are given, results include distance_miles and are sorted closest first.

NameRequiredDescriptionDefault
limitNoMax rows to return. Default 100.
latitudeNoOrigin latitude for distance search.
longitudeNoOrigin longitude for distance search.
uplift_typeNoSubstring to match against uplift type, e.g. 'van', 'gondola', 'chairlift'.
radius_milesNoOnly return parks within this many miles of latitude/longitude.
featured_onlyNoIf true, return only featured parks.
has_pro_linesNoIf true, only parks with at least one pro line.
min_red_trailsNoMinimum number of red trails.
min_blue_trailsNoMinimum number of blue trails.
min_black_trailsNoMinimum number of black trails.
uplift_availableNoTrue for parks with an uplift service; false for push-up/pedal-only parks.
location_containsNoCase-insensitive substring to match against the park's location field.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent and closed-world behavior, so the description's added value is the output behavior: when coordinates are supplied, results carry distance_miles and are sorted closest-first. That is real behavioral disclosure beyond the structured fields, though rate limits, pagination beyond the limit param, and result shape are not covered.

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?

Two sentences, no filler. The core purpose leads, the filter enumeration follows, and the distance/sort caveat closes — an efficient structure for a 12-parameter tool.

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?

With no output schema, the description partially compensates by describing the distance_miles field and sort order, and the schema itself documents limit and all filters. It does not describe the overall record shape or result envelope, but nothing needed to invoke the tool correctly is missing.

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%, so the baseline is 3, but the description adds genuine semantic value by distinguishing the two uplift filters ('available or type such as van') and clarifying that difficulty filters are minimum counts rather than exact matches. That maps directly onto uplift_available vs uplift_type and the min_*_trails params.

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 with scope: 'List UK mountain bike parks from BikesAndThat'. The plural 'list' naturally separates it from the singular get_bike_park sibling, though the description never names an alternative explicitly, which keeps it just short of a 5.

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 enumerates the four filter modes (location text, trail difficulty thresholds, uplift, distance) with concrete examples like 'Wales' and 'van', which tells an agent exactly what this tool is for. It stops short of stating when to prefer get_bike_park or search_bike_shops instead, so no explicit exclusions.

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

search_bike_shopsSearch UK MTB bike shopsA
Read-onlyIdempotent
Inspect

Search MTB bike shops in the UK by town, region, or country. Returns shop name, location, website, and whether a workshop is available.

NameRequiredDescriptionDefault
limitNoMax rows to return. Default 50.
queryNoSubstring to match against shop_name, town, or region.
countryNoCountry filter e.g. 'England', 'Scotland', 'Wales'.
workshop_onlyNoIf true, only shops offering a workshop.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, and closed-world semantics, so safety is covered. The description adds genuine value beyond those annotations by disclosing the returned fields (name, location, website, workshop availability) — important because no output schema exists. It stops short of describing result counts or pagination 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?

Two sentences, zero padding: the first states the action and filter axes, the second states the return shape. Both sentences earn their place and the key scoping information is front-loaded.

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?

With no output schema, the description carries the return-value burden and does so adequately, and the 100%-covered input schema handles parameter detail. The only shortfall is the absence of any note on result volume, default limits, or empty-result behavior for a search tool.

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 description coverage is 100%, so all four parameters are already documented in the schema with defaults, bounds, and matching semantics. The description's mention of town/region/country and workshop availability echoes that information without adding new syntax or format detail, so baseline 3 applies.

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: "Search MTB bike shops in the UK," and even names the filterable dimensions (town, region, country). It is clearly distinguishable from the bike-park siblings, though it never explicitly contrasts its search semantics with them.

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

Usage Guidelines3/5

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

"By town, region, or country" implies the supported lookup contexts, so usage is inferable. However, there is no when-to-use framing, no exclusions, and no mention of the sibling tools (e.g. use list_bike_parks for parks), leaving routing guidance implicit.

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
    • Changedget_bike_park1 field changed
      • addedInput schema / properties / name / description
        Added value: +"Bike park name or partial name, e.g. 'BikePark Wales' or 'Dyfi'."
    • Changedlist_bike_parks12 fields changed
      • addedInput schema / properties / featured_only / description
        Added value: +"If true, return only featured parks."
      • addedInput schema / properties / has_pro_lines
        Added value: +{
        +  "description": "If true, only parks with at least one pro line.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / latitude
        Added value: +{
        +  "description": "Origin latitude for distance search.",
        +  "maximum": 90,
        +  "minimum": -90,
        +  "type": "number"
        +}
      • addedInput schema / properties / limit / description
        Added value: +"Max rows to return. Default 100."
      • addedInput schema / properties / location_contains / description
        Added value: +"Case-insensitive substring to match against the park's location field."
      • addedInput schema / properties / longitude
        Added value: +{
        +  "description": "Origin longitude for distance search.",
        +  "maximum": 180,
        +  "minimum": -180,
        +  "type": "number"
        +}
      • addedInput schema / properties / min_black_trails
        Added value: +{
        +  "description": "Minimum number of black trails.",
        +  "maximum": 9007199254740991,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedInput schema / properties / min_blue_trails
        Added value: +{
        +  "description": "Minimum number of blue trails.",
        +  "maximum": 9007199254740991,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedInput schema / properties / min_red_trails
        Added value: +{
        +  "description": "Minimum number of red trails.",
        +  "maximum": 9007199254740991,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedInput schema / properties / radius_miles
        Added value: +{
        +  "description": "Only return parks within this many miles of latitude/longitude.",
        +  "exclusiveMinimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / uplift_available
        Added value: +{
        +  "description": "True for parks with an uplift service; false for push-up/pedal-only parks.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / uplift_type
        Added value: +{
        +  "description": "Substring to match against uplift type, e.g. 'van', 'gondola', 'chairlift'.",
        +  "type": "string"
        +}
    • Changedsearch_bike_shops4 fields changed
      • addedInput schema / properties / country / description
        Added value: +"Country filter e.g. 'England', 'Scotland', 'Wales'."
      • addedInput schema / properties / limit / description
        Added value: +"Max rows to return. Default 50."
      • addedInput schema / properties / query / description
        Added value: +"Substring to match against shop_name, town, or region."
      • addedInput schema / properties / workshop_only / description
        Added value: +"If true, only shops offering a workshop."
  2. 3 tool updates
    • First observedget_bike_park
    • First observedlist_bike_parks
    • First observedsearch_bike_shops

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    23 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources