BikesAndThat
Server Details
Official UK mountain bike parks, uplift services, trail counts, and bike workshop directory for AI assistants.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool targets a distinct resource+action: get_bike_park (single park by name), list_bike_parks (enumerate parks), and search_bike_shops (query shops). No overlap between retrieval modes or resource types, so misselection is unlikely.
All three tools follow a strict verb_noun snake_case pattern (get_/list_/search_ + plural or singular resource). The convention is uniform and predictable, aiding both selection and discovery.
Three tools is on the thin side for a domain covering both parks and shops, but each earns its place with a clear purpose. It is slightly under-scoped rather than bloated, which is the safer failure mode.
Parks get both listing and detail retrieval, but shops are covered only by a search operation with no corresponding detail or list tool, creating an asymmetric surface. Agents can work around this but cannot fetch full shop records the way they can for parks.
Available Tools
3 toolsget_bike_parkGet bike park detailsARead-onlyIdempotentInspect
Fetch full details for a single UK bike park by name.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so the safety profile is covered. The description adds 'full details' and 'by name' as lookup semantics, but says nothing about behavior when the name does not match or about match strictness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the verb and resource front-loaded. Nothing is wasted or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only lookup with no output schema, the definition covers the essentials. The remaining gap is match semantics and not-found behavior, which is minor but real.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load, and it tells the agent the 'name' parameter identifies the park. It does not specify whether matching is exact, case-sensitive, or fuzzy, so it only partially compensates for the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Fetch') plus resource ('full details for a single UK bike park'), and 'single' implicitly contrasts with the list_bike_parks sibling. It stops short of naming the sibling outright, so it is clear but not maximally differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the detail lookup to use once it has a park name. There is no explicit when-to-use statement, no exclusion, and no named alternative such as list_bike_parks.
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 parksCRead-onlyIdempotentInspect
List UK mountain bike parks from BikesAndThat.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| featured_only | No | ||
| location_contains | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and openWorldHint=false, so safety, repeatability and the closed data domain are covered. The description adds only the data source (BikesAndThat) and nothing about pagination, ordering, or what a record contains; with annotations carrying the behavioral load this is adequate but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or repetition, which is the right shape for a list tool. It is efficient but borders on under-specified rather than truly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Three parameters with zero description coverage, no output schema, and no explanation of return shape or filtering behavior leave real gaps. For a parameterized listing tool the definition does not supply enough for an agent to call it optimally.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and all three optional parameters (limit, featured_only, location_contains) are undocumented in both schema and description. The description gives no hint about filtering by keyword, subsetting to featured parks, or result caps, so an agent must guess semantics from parameter names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (UK mountain bike parks) with a data-source qualifier (BikesAndThat), so the operation is unambiguous. It does not explicitly differentiate itself from the siblings get_bike_park (single-item retrieval) or search_bike_shops (different resource), leaving that distinction to be inferred.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of alternatives; the description never suggests get_bike_park for fetching a single park. Usage is only implied by the verb 'List'.
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 shopsCRead-onlyIdempotentInspect
Search MTB bike shops in the UK.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| country | No | ||
| workshop_only | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=false, so the safety profile is covered. The description contributes nothing beyond that: no result shape, no pagination or limit behavior, no explanation of what openWorld=false means for shop coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short, front-loaded sentence with no wasted words, which is structurally clean. However, the brevity reflects under-specification rather than disciplined conciseness, so it earns no more than a middling score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with four undocumented parameters, no output schema, and three filter options whose semantics matter (workshop_only, limit), the description is far too thin. An agent cannot determine how to construct a useful call or what to expect back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters (limit, query, country, workshop_only), and the description never explains any of them. 'In the UK' faintly alludes to the country parameter but does not clarify its format or relationship to the fixed UK scope, and query, limit, and workshop_only go entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a recognizable verb ('Search') and resource ('MTB bike shops in the UK'), but it is essentially a restatement of the tool title and adds no differentiation from the sibling tools get_bike_park and list_bike_parks. An agent can only infer the distinction (shops vs. parks) from the names themselves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the park-related siblings, no mention of prerequisites, and no indication of when results would be empty or when another tool is preferable. Usage must be inferred entirely from the name.
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.
3 tool updates
- First observed
get_bike_park - First observed
list_bike_parks - First observed
search_bike_shops
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables 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.1611 npm1MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs117 npm54 PyPIMIT
- AlicenseAqualityCmaintenanceRevnuvo Company Intelligence tells AI agents what changed at a company, with evidence. It observes company websites, technologies, and DNS over time and returns timestamped, confidence-aware changes, signals, and monitoring.9MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.