Skip to main content
Glama

Server Details

Garden Route travel MCP - routes, accommodation, and local guides

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
Last Tested
Transport
Streamable HTTP · MCP 2024-11-05
URL
Repository
tyronplaatjies74-wq/garden-route-specialist-api
GitHub Stars
0

TDQS

A3.7/5.0

Scored across 3 tools

Disambiguation4/5

The three tools target clearly different outputs: a built itinerary, per-town reference knowledge, and API usage stats. There is mild overlap because both generate_itinerary and get_knowledge surface activities and prices, but the descriptions make the boundary (assembled plan vs. raw town lookup) reasonably clear.

Naming Consistency5/5

All three names follow a clean verb_noun pattern: generate_itinerary, get_knowledge, get_stats. Snake_case is used uniformly, with no mixed conventions or vague verbs.

Tool Count4/5

Three tools is lean but each has a distinct role, and the heavy lifting is concentrated in a well-parameterised itinerary generator. It is slightly thin for a destination-planning server, and get_stats is a meta utility rather than a domain tool.

Completeness3/5

Core planning (itinerary + town knowledge) is covered, but there is no way to list available towns, adjust or regenerate a single day, or search activities/transport independently of a full itinerary build. Agents can work around these gaps by iterating get_knowledge, but the surface is noticeably partial.

Available Tools

3 tools
generate_itineraryAInspect

Build a day-by-day Garden Route itinerary (west to east, no repeated activities) with per-day costs, a budget check, dietary verification, safety notes and transport estimates. Activities within a day are kept walkable or a short costed hop apart. If a town has nothing left or open (e.g. rain), the day becomes a trip to the nearest hub. Picks, prices and whale season depend on the month, so ask the traveller for their travel month first (if omitted, the current month is assumed and flagged). Costs are in South African rand; times and fares are estimates.

NameRequiredDescriptionDefault
daysYesTrip length in days, 1-30.
seedNoOptional. Repeat a shuffled result.
debugNoInclude debug info.
monthNoMonth of travel, e.g. 'July' or 7. Ask the traveller; do not guess. If omitted, the current month is assumed and flagged in warnings. Changes activity picks, hostel prices and whale-watching.
townsYesTowns to visit. Valid: mossel bay, george, wilderness, knysna, plettenberg bay, tsitsikamma.
dietaryNovegan, vegetarian or halal. Evening meals are marked verified or NOT verified.
shuffleNoVary the picks between calls.
budget_maxNoMaximum spend per day in rand, all-in (dorm + food allowance + activities), excluding inter-town transport.
rainy_daysNoOptional. Day numbers (1-based) the traveller wants rain-proofed with indoor/covered options or a hub trip, e.g. [2, 3].
family_modeNoPrefer family-friendly activities and private/family rooms.
travel_styleNoOne of: backpacker, adventure, chill, family, foodie. Default: backpacker.

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full disclosure burden and does well: it states ordering constraints (west to east), no-repeat activities, walkable clustering, rainy-day hub fallback, month-dependent picks/prices/whale season, ZAR currency, and that times and fares are estimates. It omits whether the tool has side effects (e.g. that it books nothing) and any auth/rate-limit context, which keeps it from a 5.

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?

Front-loaded with the core purpose, then rule/behavior details, then currency and estimation caveats. Four tight sentences with little waste, though the month instruction partially restates the schema's month description.

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 an 11-parameter generator with no output schema, the description conveys what the output contains (per-day plans, costs, budget check, dietary verification, safety notes, transport estimates) and how warnings work. It does not specify the output structure (e.g. JSON shape), but an agent has enough to call it and interpret results.

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 already 100%, so the baseline is 3; the description adds meaning beyond the schema by explaining cross-parameter behavior: month changes activity picks, hostel prices and whale watching; budget is all-in per day; rainy days trigger hub trips; dietary drives verified/NOT verified marking. A few statements (month handling, budget definition) duplicate schema text, so it is not a full 5.

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?

Starts with a specific verb and resource ('Build a day-by-day Garden Route itinerary') and immediately names the defining constraints: west-to-east, no repeated activities, with per-day costs, budget check, dietary verification, safety notes and transport estimates. This is unmistakably different from the sibling tools get_knowledge and get_stats, which are read-only data lookups.

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?

Gives explicit operational guidance: ask the traveller for their travel month first and note that the current month is assumed and flagged if omitted. It also describes the fallback when a town has nothing open (rain → nearest hub trip). It does not provide when-not-to-use guidance, but the sibling tools are unrelated enough that explicit alternatives are not necessary.

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

get_knowledgeAInspect

Local knowledge for one Garden Route town: free/paid activities, hidden gems, dorm prices with booking links, evenings, safety tips and NSRI links.

NameRequiredDescriptionDefault
townYesOne of: mossel bay, george, wilderness, knysna, plettenberg bay, tsitsikamma. Aliases like 'plett' and 'brenton-on-sea' work.

TDQS

A3.8/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden, and it does reasonably well: the 'get'/'Local knowledge' framing implies a non-mutating lookup, and enumerating returned content (booking links, NSRI links, dorm prices) substitutes for a missing output schema. It omits any note on caching, freshness, or failure behavior for an unsupported town.

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?

A single front-loaded sentence with no filler; scope comes first and the content inventory follows. Every element 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?

For a simple one-parameter lookup with no output schema, the description is nearly sufficient because it inventories the return contents. Only the response format and behavior for an out-of-list town are unaddressed.

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% — the single town parameter already lists every valid value plus alias handling ('plett', 'brenton-on-sea'). The description only restates 'one Garden Route town', adding no format or matching details beyond the schema, 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?

States a specific resource and scope: 'Local knowledge for one Garden Route town', then enumerates exactly what kinds of content come back (activities, hidden gems, dorm prices, evenings, safety tips, NSRI links). The weak verb 'get' is offset by the concrete content list, and the town-level scope distinguishes it from get_stats and generate_itinerary without naming 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?

Usage is implied by the content inventory — an agent can infer this is the reference-lookup tool for a single town versus itinerary planning or statistics. However, it never states when to prefer it over generate_itinerary, nor any preconditions or exclusions.

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

get_statsBInspect

Usage statistics for this API (call counts, recent calls).

NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses little beyond the payload contents. It never states that the call is read-only and side-effect free, nor does it describe time window, aggregation granularity, or response shape — all of which matter for a statistics endpoint.

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?

A single front-loaded sentence with the resource first and the concrete contents in a compact parenthetical. There is no filler, hedging, or restatement of the tool name.

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 is the only place a caller can learn what comes back, and it gives only two examples ('call counts, recent calls') without structure, time window, or granularity. It is adequate for a zero-parameter low-risk call but leaves meaningful gaps about the return value.

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?

The tool takes zero parameters, which is the baseline-4 case per the rubric. The description's parenthetical does confirm that the metrics are implicitly scoped (call counts, recent calls) rather than requiring arguments, which is consistent with the empty schema.

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 names a specific verb ('usage statistics') and enumerates the concrete data returned (call counts, recent calls), so the agent knows exactly what resource this surfaces. It offers no differentiation from sibling tools, but the siblings (generate_itinerary, get_knowledge) are unrelated, so the cost of that omission is low.

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?

There is no statement of when to reach for get_stats versus the sibling tools, no prerequisites, and no exclusions. The agent must infer entirely from the name that this is a diagnostics/introspection call rather than, say, content retrieval.

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. 1 tool update
    • Changedgenerate_itinerary2 fields changed
      • changedInput schema / properties / month / description
        Previous value: -"Month of travel, e.g. 'July' or 7. Ask the traveller if unknown; do not guess. Changes activity picks, hostel prices and whale-watching."New value: +"Month of travel, e.g. 'July' or 7. Ask the traveller; do not guess. If omitted, the current month is assumed and flagged in warnings. Changes activity picks, hostel prices and whale-watching."
      • changedInput schema / required
        Previous value: -[
        -  "towns",
        -  "days",
        -  "month"
        -]New value: +[
        +  "towns",
        +  "days"
        +]
  2. 1 tool update
    • Changedgenerate_itinerary4 fields changed
      • changedInput schema / properties / budget_max / description
        Previous value: -"Maximum spend per day in rand, all-in (dorm + food allowance + activities), excluding transport."New value: +"Maximum spend per day in rand, all-in (dorm + food allowance + activities), excluding inter-town transport."
      • addedInput schema / properties / month
        Added value: +{
        +  "description": "Month of travel, e.g. 'July' or 7. Ask the traveller if unknown; do not guess. Changes activity picks, hostel prices and whale-watching.",
        +  "type": "string"
        +}
      • addedInput schema / properties / rainy_days
        Added value: +{
        +  "description": "Optional. Day numbers (1-based) the traveller wants rain-proofed with indoor/covered options or a hub trip, e.g. [2, 3].",
        +  "items": {
        +    "type": "integer"
        +  },
        +  "type": "array"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "towns",
        -  "days"
        -]New value: +[
        +  "towns",
        +  "days",
        +  "month"
        +]
  3. 3 tool updates
    • First observedgenerate_itinerary
    • First observedget_knowledge
    • First observedget_stats

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.