Cape Winelands Visit Planner
Server Details
Cape Winelands wine farm finder and day-route planner
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool has a clearly distinct role: search (discovery/filtering), get (single-record detail by id), plan (itinerary sequencing), and unmet_request (feedback capture). The search-vs-get boundary is spelled out (filters vs. id lookup), and plan is the only tool producing ordered itineraries. No plausible misselection between them.
Three of four tools follow a clean verb_noun snake_case pattern (get_wine_farm, search_wine_farms, plan_winelands_day). unmet_request breaks the pattern as a bare noun phrase, though it is still readable and semantically apt for a feedback sink.
Four tools is lean but well-matched to a narrow niche domain, and each covers a distinct stage of the visit-planning workflow. It sits at the low end — there is no explicit area/region listing or booking tool — but nothing feels redundant.
Search, detail lookup, and day-planning together cover the core discover-inspect-plan lifecycle, with booking needs surfaced via returned links rather than a booking action. Minor gaps exist (no explicit list of areas/regions, no direct availability or reservation operation), but unmet_request gives agents a graceful fallback for anything missing.
Available Tools
4 toolsget_wine_farmGet a wine farm's detailsARead-onlyInspect
Returns full visitor details for one wine farm by id: hours, tasting fee, booking requirement, features, contacts and booking link.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only and closed-world behavior, so the safety profile is covered. The description adds concrete value by naming the data surfaced (hours, tasting fee, booking requirement, features, contacts, booking link), telling the agent what it will get back. It does not address missing-ID behavior, keeping it short of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence with the return scope front-loaded after the verb. Every clause earns its place by naming a data category the agent will receive, with no filler.
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 simple one-parameter read tool with annotations covering safety and no output schema, listing the returned fields is the right amount of context. The only material gap is id provenance/format and error handling for an unknown id.
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 carries the full burden for the single 'id' parameter. It only says 'by id' without stating the id's format, source (e.g., from search_wine_farms results), or whether it is a slug or numeric identifier, which is insufficient compensation for the coverage gap.
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 and resource ('Returns full visitor details for one wine farm by id') and enumerates the returned content fields. This clearly distinguishes it from sibling search_wine_farms (listing) and plan_winelands_day (planning), which an agent can tell apart without opening schemas.
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?
The phrase 'by id' implies this is a lookup for a single already-known farm, which is useful context. However, it never explicitly says when to use this versus search_wine_farms or plan_winelands_day, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_winelands_dayPlan a winelands day routeARead-onlyInspect
Plans a self-drive winelands day: picks an efficient order of wine farm visits from a start point, checks each farm is open on arrival, and returns arrival times, drive distances and booking needs. Pass farm ids, or leave empty to auto-pick farms in an area.
| Name | Required | Description | Default |
|---|---|---|---|
| area | No | Used when farm_ids is empty | |
| date | Yes | YYYY-MM-DD | |
| start | Yes | ||
| stops | No | Number of farms when auto-picking | |
| farm_ids | No | ||
| start_time | No | 10:00 | |
| road_factor | No | Straight-line to road distance factor | |
| avg_speed_kmh | No | Country-road average incl. turns | |
| minutes_per_stop | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the description only needs to add context, which it does: it discloses that the tool checks farm opening hours on arrival and computes booking needs, and describes what is returned. It does not mention failure behavior when a farm is closed, but the added behavioral detail is meaningful.
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?
Two sentences, both front-loaded with the core action and the operational detail. No filler; every clause conveys behavior the agent needs.
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?
Despite nine parameters, a nested start object and no output schema, the description conveys the return contents (arrival times, distances, booking needs) and the two operating modes. Remaining gaps, such as closed-farm handling or route-failure behavior, are minor for a read-only planner.
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 coverage is 56%, and the description adds real value for one gap by explaining that farm_ids can be left empty to auto-pick via area. However, several parameters (start_time, stops, road_factor, avg_speed_kmh, minutes_per_stop) are only documented in the schema and get no additional meaning from the description. A baseline 3 is appropriate given partial coverage.
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 and resource ('Plans a self-drive winelands day') and enumerates the concrete operations: ordering farm visits, checking opening on arrival, and returning arrival times, distances and booking needs. This clearly separates it from the sibling lookup tools (get_wine_farm, search_wine_farms), which retrieve rather than plan a route.
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?
The final sentence explicitly resolves the main decision: 'Pass farm ids, or leave empty to auto-pick farms in an area,' tying each mode to its trigger. It gives clear context but does not name alternatives or state when-not to use this tool versus search_wine_farms.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_wine_farmsFind wine farms to visitARead-onlyInspect
Searches Cape Winelands wine farms open to visitors. Filter by area, a date and time they must be open, required features (restaurant, kids, dogs, cellar-tour, wheelchair, picnics, organic...), maximum tasting fee, or distance from a point.
| Name | Required | Description | Default |
|---|---|---|---|
| area | No | e.g. Wellington, Paarl, Stellenbosch, Franschhoek | |
| near | No | ||
| limit | No | ||
| open_at | No | HH:MM, needs open_on | |
| open_on | No | YYYY-MM-DD | |
| features | No | ||
| max_tasting_fee | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description usefully adds that only farms 'open to visitors' are returned and that filters combine, but it says nothing about result ordering, the default page size (limit=10 in schema is unannotated), or total counts. Useful additions, but not rich behavioral context.
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?
Two sentences, zero padding. The identity of the resource is front-loaded and the filter enumeration is packed into one dense clause that earns every word.
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 7-parameter tool with a nested object and no output schema, the description should say at least a little about what comes back and how limit/paging behaves. It covers the filter surface well but leaves return shape and page size implicit, so an agent cannot reason about result volume.
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 coverage is only 43%, so the description has to carry real weight, and it mostly does: it explains what area, open_at/open_on, features, max_tasting_fee and near are for, and enumerates valid feature values (restaurant, kids, dogs, cellar-tour, wheelchair, picnics, organic), which is the only source of enum-like guidance given 0 enums. Gaps remain: limit is never mentioned and the near sub-fields (lat/lng/radius_km) get only 'distance from a point'.
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 plus resource and a scoped domain: 'Searches Cape Winelands wine farms open to visitors'. The filter list further sharpens what kind of search this is. It never names the siblings, though, so the agent must infer on its own that get_wine_farm is for a single farm and plan_winelands_day for itineraries.
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?
The filter enumeration implies the usage scenario (find candidate farms matching constraints), but there is no explicit when-to-use/when-not statement and no pointer to the sibling tools. The agent gets a reasonable hint but must decide unaided between this and plan_winelands_day or unmet_request.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unmet_requestTell us what data you couldn't findAInspect
Free to call. If you needed South African data that none of these tools provide (a cost, rate, rule, price or place we don't cover), describe it here in one sentence. We review these every week and build the most-requested data first.
| Name | Required | Description | Default |
|---|---|---|---|
| need | Yes | What information you were looking for, in one sentence. | |
| region | No | Optional: province or town, if it matters. | |
| context | No | Optional: the kind of task it was for, e.g. 'renovation quote' or 'payroll run'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds real context beyond the annotations: 'Free to call' signals no call-budget cost, and 'We review these every week and build the most-requested data first' discloses that this is an asynchronous request with no immediate data returned. Nothing contradicts readOnlyHint=false (a submission does create a record) or openWorldHint=false; auth and rate-limit details are absent but low-risk here.
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?
Two sentences, front-loaded with the cost signal and then the qualifying condition, then the outcome. No restatement of the tool name and no wasted clauses.
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 fully documented, no-output-schema submission tool, the description covers purpose, trigger and what happens after submission. It could be slightly more complete by stating that no data is returned synchronously, but the weekly-review sentence conveys that implicitly.
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 100%, so the schema already explains need, region and context fully. The description reinforces the one-sentence constraint on the required field but adds no meaning beyond the schema for the optional region and context parameters, so the baseline 3 applies.
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 states a specific action (describe a missing data need) and resource (South African cost, rate, rule, price or place not covered), and explicitly frames itself as the fallback when the sibling calculators don't cover a need. It is immediately distinguishable from bond_repayment, municipal_rates and the other siblings, which are lookups rather than submissions.
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?
It gives a clear trigger: use this when needed South African data is not provided by 'none of these tools,' and enumerates the kinds of gaps that qualify. It does not name the specific sibling domains, so an agent still has to reason about what the siblings already cover before deciding to fall back here.
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.
4 tool updates
- First observed
get_wine_farm - First observed
plan_winelands_day - First observed
search_wine_farms - First observed
unmet_request
Related MCP Connectors
Garden Route travel MCP - routes, accommodation, and local guides
Search 20,000+ wineries worldwide by region, amenities, hours, tasting fees and bookings.
Verified wineries and wine bars in 31 regions with provenance, wine festivals, tours and stays.
Wine matching, pricing, auctions, exchange, merchant, critic, portfolio, and cellar intelligence.
Related MCP Servers
- -
- AlicenseAqualityAmaintenanceSeoul-area subway routes in English, Korean, Japanese and Chinese with transfers, boarding direction and fares, plus Korean public holidays and visitor guides. Works offline with no API key.469 npmMIT

onvaou-itineraires-mcpofficial
AlicenseAqualityCmaintenanceBike, e-bike, kick scooter, motorcycle, wheelchair and walking routes across Europe, with up to three variants (safe, balanced, fast) and safety indicators such as cycle lane, main road and unpaved shares.152 npmMIT- AlicenseNot gradedqualityDmaintenanceSurf Park live session availability for booking and cancellation. Made by surfers for wave pools worldwideMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.