Cork & Curve wine travel
Server Details
Verified wineries and wine bars in 31 regions with provenance, wine festivals, tours and stays.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 10 tools
Each tool targets a distinct resource or workflow: city coverage, venue search/detail, editorial dishes, bookable experiences, festivals, itineraries, day planning, car hire, and stays. The only near-overlap (plan_day vs itineraries) is explicitly disambiguated in the descriptions.
Most tools use clear, lowercase resource nouns (cities, dishes, experiences, festivals, itineraries, stays), and the two actions are readable verb_noun names (plan_day, search_places). The pattern is not perfectly uniform because car_hire is a compound noun and place is singular, but there is no chaotic mixing of styles.
Ten tools is well within the ideal 3-15 range for a travel-content server, and each tool covers a distinct facet of wine travel without redundancy. The count feels intentionally scoped rather than padded.
The read-only surface covers city discovery, venue search and detail, signature dishes/producers, bookable experiences, festivals, itineraries, day planning, ground transport, and lodging. A minor gap is the lack of an explicit region/country browsing tool, but cities plus the region-scoped tools make this workable.
Available Tools
10 toolscar_hireARead-onlyIdempotentInspect
Car hire partners that verifiably cover a city (read-only): one entry per partner with the pickup facts we checked and a tracked booking link. Empty list when no partner covers the city.
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean. | |
| country | Yes | Country slug or name, e.g. 'italy'. Optional where city is given. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context: one entry per partner, pickup facts we checked, tracked booking link, and empty list when no partner covers the city. This goes beyond the annotations without contradicting them.
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?
The description is a single, dense sentence that front-loads the core purpose and then adds the key behavioral details. Every clause earns its place, and the empty-list note is a valuable edge-case disclosure.
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 read-only list tool with an output schema and full schema coverage, the description is nearly complete. It explains the result shape (one entry per partner, empty list) and the verification aspect. It does not detail pagination or sorting, but those are minor given the output schema and annotations.
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 documents both parameters. The description adds the notion of 'city coverage' but does not add new parameter-level meaning beyond the schema. Baseline 3 is appropriate.
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 verb ('cover'), a resource ('car hire partners'), and a clear scope ('per city'), and it distinguishes itself from siblings by emphasizing verified coverage and tracked booking links. It also clarifies the empty-list behavior, which is a useful semantic detail.
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 description implies when to use it: when you need car hire partners that verifiably cover a city, and it notes the read-only nature. It does not explicitly name alternatives or exclusions, but the sibling list and the 'read-only' qualifier give enough context for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
citiesARead-onlyIdempotentInspect
Every city the site covers (read-only), with the country and city slugs the other tools accept and the hub page URL. Call first when unsure of coverage.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | Country slug to filter by, e.g. 'italy'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds value beyond those annotations by clarifying that the returned slugs are the ones other tools accept, which is important integration context not present in the annotations.
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 short, purposeful sentences with no filler. The tool's purpose, return contents, and usage hint are all front-loaded and immediately actionable.
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 low-complexity tool with one optional parameter, rich annotations, and an output schema, the description covers the essential operational guidance: what it returns and when to call it. Nothing critical is missing.
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%, and the schema already explains the optional country filter with an example. The description adds minor context by mentioning country and city slugs, but the schema carries the parameter-documentation burden.
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 clearly identifies this as the list of every city the site covers, and specifies that it returns the country slug, city slug, and hub page URL used by other tools. It is not a tautology and is clearly distinct from the sibling tools, which operate on specific content types rather than city coverage.
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 explicit directive 'Call first when unsure of coverage' tells the agent exactly when to use this tool, positioning it as the discovery/reference step before using other tools. This is strong usage guidance for a simple list tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dishesARead-onlyIdempotentInspect
Signature wines of a region and the producer to visit (read-only). Each item has a description, the venues resolved to ids and page URLs, and the page to cite; ranked by editorial score.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean. | |
| limit | No | Maximum results (1-100). | |
| query | No | Free text: a dish, ingredient, style or grape. | |
| country | No | Country slug or name, e.g. 'italy'. Optional where city is given. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful behavioral context beyond annotations: each item contains a description, resolved venue ids/page URLs, a citation page, and editorial ranking. It does not contradict annotations.
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 dense sentences that front-load the core resource and then add the output shape and ranking. The '(read-only)' parenthetical is slightly redundant with the readOnlyHint annotation but harmless.
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 read-only content lookup with all-optional parameters and an output schema, the description is mostly complete: it names the result subject, item fields, and ranking behavior. It does not explain how city/country/query interact or when to select this tool over sibling content tools, which prevents a 5.
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 fully documents the city, limit, query, and country parameters. The description adds no new parameter-level meaning and only loosely maps to the region/city/country filtering, so the baseline of 3 is appropriate.
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 clearly identifies the resource: regional signature wines and the producer to visit, plus the item shape and ranking. It lacks an explicit verb like 'search' or 'list' and does not differentiate from siblings, and the tool name 'dishes' sits awkwardly against the wine-focused description.
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?
No when-to-use or when-not-to-use guidance is given, and no alternative sibling tools are mentioned. The intended use is only implied by the phrase 'Signature wines of a region,' leaving the agent to infer when this is the right tool versus experiences, place, or search_places.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
experiencesARead-onlyIdempotentInspect
Bookable wine tours, tastings, cellar visits and tickets for a region. Read-only. Each item has price, rating, review count, duration and a tracked book link. Ranked by relevance to query when given, otherwise by popularity.
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean. | |
| limit | No | Maximum results (1-100). | |
| query | No | Free text, e.g. 'cooking class', 'wine tasting', 'market tour'. | |
| country | No | Country slug or name, e.g. 'italy'. Optional where city is given. | |
| food_only | No | Keep only products on the site's theme (food and drink, or wine). Set false for everything bookable in the city. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, it discloses useful behavioral details: result ranking rules, the item fields returned (price, rating, review count, duration), and a tracked book link. This adds operational expectations without contradicting the readOnly/idempotent annotations.
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?
Three sentences with no filler. Scope and read-only nature are front-loaded, followed by result contents and ranking behavior. Every sentence contributes useful information.
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?
With a full output schema, complete annotations, and 100% schema coverage for parameters, the description's added detail about result fields and ranking makes the tool's behavior clear enough for correct invocation. No critical missing context remains.
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 baseline is 3. The description adds some value by explaining that query affects ranking, but it does not add meaning beyond what the schema already provides for the individual parameters.
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 clearly identifies the resource as bookable experiences — wine tours, tastings, cellar visits, and tickets — scoped to a region, and adds that it is read-only. It lacks an explicit verb like 'returns' or 'lists' and does not name sibling tools, but the category is specific and unambiguous.
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 description gives functional usage context, such as ranking by query relevance when a query is provided and by popularity otherwise, and the resource list implies when to use it. It does not explicitly state when to prefer an alternative sibling tool or when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
festivalsARead-onlyIdempotentInspect
Wine festivals with their next resolved dates (read-only). Filter by city, country, a date window and text. Each item carries starts_on/ends_on for the next edition, the organiser source URL and the page to cite.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean. | |
| limit | No | Maximum results (1-100). | |
| query | No | Free text: festival name, food or drink. | |
| country | No | Country slug or name, e.g. 'italy'. Optional where city is given. | |
| date_to | No | Latest start date to include, ISO. | |
| date_from | No | Earliest end date to include, ISO. Defaults to today. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior, so the description correctly reinforces 'read-only' without contradicting them. It adds useful behavioral context by explaining that dates are 'resolved' to the next edition and that items include the organiser source URL and citation page.
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?
The description is compact, front-loaded with the core purpose, and uses a short sentence plus one clarifying follow-up. Every phrase adds value, and there is no redundant repetition of schema or annotation content.
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 read-only list tool with six optional parameters and an output schema, the description covers the essential choices: what the tool returns, what filters are available, and the special 'page to cite' detail. It is complete enough that an agent can confidently select and invoke it without further clarification.
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 baseline is 3 and the description does not need to restate parameter details. It helpfully summarizes the filter dimensions (city, country, date window, text) but adds no semantics beyond what the schema already documents.
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 names a specific resource ('Wine festivals'), a clear verb/action ('Filter'), and a defined output scope ('next resolved dates'). It clearly distinguishes this tool from its siblings, which cover transport, places, dishes, and itineraries rather than festivals.
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 description states the primary usage context: this is a read-only wine-festival lookup filterable by city, country, date window, and text. It does not explicitly name alternatives or say when not to use it, but the context is clear enough for an agent to avoid confusing it with the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
itinerariesARead-onlyIdempotentInspect
Editorial day-by-day wine itineraries for a city (read-only): every venue resolved to an id, address, hours and page URL. Empty list when the city has none.
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean. | |
| country | Yes | Country slug or name, e.g. 'italy'. Optional where city is given. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the description's 'read-only' is consistent; it adds useful behavior beyond annotations: itineraries are editorial, day-by-day, each venue is resolved to structured fields, and an empty list is returned when a city has none. No contradiction.
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 dense sentence front-loads the core purpose and then packs in the resolved venue fields and empty-list behavior. Every clause earns its place.
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?
With an output schema present, the description does not need to explain return values; it covers the city-scoped behavior, what a venue entry contains, and the empty-case semantics. No essential behavior is missing.
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 both city and country are already documented; the description adds no parameter-level detail beyond saying the tool is city-scoped. Baseline 3 applies because the schema handles the parameter documentation burden.
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 identifies a specific resource – editorial day-by-day wine itineraries for a city – and specifies that venues are resolved to id, address, hours and page URL. It is distinguishable from siblings like plan_day or search_places, though it lacks an explicit verb like 'returns'.
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 description implies the tool is used when a user wants curated wine itineraries for a city, and notes when the list is empty. It does not explicitly name alternatives or state when not to use this tool, leaving route selection partly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
placeARead-onlyIdempotentInspect
One venue in full by id (read-only): every field, provenance, hours, open_now_utc, the booking link and three nearby venues. Returns {error: ...} when the id is malformed or unknown.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The id search_places returned: country/city/kind/slug, e.g. 'italy/rome/restaurants/roscioli'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive. The description adds error behavior (returns {error: ...} for malformed/unknown id) and enumerates return content, which is useful beyond annotations. No contradiction; adds context on failure modes.
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 dense sentence that front-loads the purpose and enumerates key return fields and error case. Zero fluff; every clause earns its place.
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?
With no output schema, the description compensates by listing the expected return fields and the error format. For a simple id-based lookup, it covers all needed operational details. Sibling tools are distinct and the description fully equips an agent to call it correctly.
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 100%, so the description need not explain the id parameter further. The description mentions 'by id' but adds no semantic detail beyond the schema's example. Baseline 3 is appropriate since the schema fully documents the parameter.
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 clearly states the tool's function: retrieving one venue in full by id, read-only. It enumerates the specific content (fields, provenance, hours, open_now_utc, booking link, nearby venues) which distinguishes it from sibling tools like search_places (list) or cities/dishes (other resources).
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 description implies usage when you have an id and need full venue details, and the schema explicitly ties id to 'search_places returned'. However, it does not explicitly state alternatives or conditions when not to use this tool, though the sibling list and schema hint at the lookup workflow. Lacks explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_dayARead-onlyIdempotentInspect
Compose a wine day for one city (read-only): one best-scored open venue per slot from morning to evening, filtered by neighbourhood, dietary need and price tier, every stop open on the given date, plus one bookable experience. Also lists the titles of the editorial itineraries for the city, which are the better plan when one exists (fetch them with itineraries).
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean. | |
| date | No | ISO date, e.g. '2026-09-20'. Each stop is checked open at its slot time on that weekday. | |
| country | Yes | Country slug or name, e.g. 'italy'. Optional where city is given. | |
| dietary | No | vegan, vegetarian, gluten-free, halal, kosher... | |
| price_tier | No | The site's tier symbols for the country, e.g. '€€' or '$$$'. | |
| neighborhood | No | Neighbourhood name or slug to keep the day inside. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false Brief: description adds valuable behavioral context: stops are checked open on the given date, only best-scored venues are selected, and editorial itinerary titles are included. It does not contradict the annotations, and while it doesn't discuss rate limits or error behavior, the safety profile is well covered by annotations.
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 dense sentences carry all relevant information without filler. The first sentence front-loads the core operation and read-only nature, then lists filters and output. The second sentence adds an actionable alternative. Every clause earns its place.
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?
Given there is no output schema, the description adequately conveys the shape of returned data (venues per slot, bookable experience, editorial itinerary titles) and the key validation rule (venues open on the date). Minor gaps like explicit slot definitions or exact return structure prevent a 5, but the tool is callable from this description alone.
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 all six parameters are already documented. The description adds marginal value by naming which parameters act as filters ('neighbourhood, dietary need and price tier') and by tying `date` to the open-check behavior, but it does not introduce new semantic details beyond the 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?
The description identifies a specific verb and resource: 'Compose a wine day for one city', and details the output: one best-scored open venue per slot, filtered by neighbourhood, dietary need and price tier, plus a bookable experience. It also clearly separates itself from the sibling `itineraries` by saying editorial itineraries are 'the better plan' when one exists.
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 description explicitly tells the agent when to prefer an alternative: 'which are the better plan when one exists (fetch them with `itineraries`)'. It also states the tool is read-only alerts to side-effect-free use operationally. This gives concrete routing guidance beyond a generic 'use this to plan'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_placesARead-onlyIdempotentInspect
Search verified venues (read-only). Filter by text, city, kind (a topic such as vineyards, tasting-rooms, wine-bars, wine-restaurants, wine-retailers, distilleries, or a group: visit, drink, buy, do), cuisine, dietary, price tier, opening time, or near a coordinate. Results are ranked by relevance then editorial score and carry provenance (source URL, checked_on, open_status), hours, a page URL to cite and a tracked booking link where one exists. Returns at most limit items; an unknown city returns {did_you_mean: [...]} instead of a list.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean. | |
| kind | No | A topic slug (vineyards, tasting-rooms, wine-bars, wine-restaurants, wine-retailers, distilleries...) or a group: visit, drink, buy, do. | |
| near | No | 'lat,lng' to search around a point; results then sort by distance. | |
| limit | No | Maximum results (1-100). | |
| query | No | Free text: a venue name, dish, cuisine, neighbourhood or theme. | |
| offset | No | Skip this many results, for paging. | |
| country | No | Country slug or name, e.g. 'italy'. Optional where city is given. | |
| cuisine | No | Cuisine slug or name, e.g. 'sichuan', 'neapolitan pizza'. | |
| dietary | No | vegan, vegetarian, gluten-free, halal, kosher... | |
| open_at | No | 'now', a weekday and time such as 'sunday 10:00', or an ISO datetime (UTC). Venues with unparseable hours are returned last, flagged. | |
| radius_km | No | Radius for near, in km. | |
| price_tier | No | The site's tier symbols for the country, e.g. '€€' or '$$$'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering safety. The description adds valuable behavioral detail beyond annotations: relevance then editorial score ranking, provenance fields (source URL, checked_on, open_status), hours, citation URL, tracked booking link, a hard limit on results, and the did_you_mean response for unknown cities. This significantly aids the agent in predicting output and edge cases.
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?
The description is a single, well-structured paragraph that front-loads the core purpose and then efficiently lists filters and behavioral details. Every sentence adds value, with no fluff or repetition. It is appropriately sized for a 12-parameter search tool.
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?
Given the complexity (12 optional parameters, output schema present), the description covers the purpose, all filter categories, ranking behavior, provenance, limit semantics, and the unknown-city edge case. The output schema handles return-value details, so nothing critical is missing. The description is complete for correct invocation.
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% and every parameter has a detailed schema description (e.g., city slug, near 'lat,lng', open_at format). The description merely summarizes these filters without adding syntax or additional meaning beyond what the schema already provides. Per rubric, baseline of 3 applies; the description adds minimal extra semantic value.
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 opens with a specific verb and resource: 'Search verified venues (read-only).' It clearly distinguishes this tool from siblings like car_hire, stays, and experiences by listing venue-specific filters (kind, cuisine, price tier). An agent can immediately understand what this tool is for without ambiguity.
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 description clearly states what it does and enumerates filter options, giving strong contextual guidance. It does not explicitly contrast with sibling tools such as 'place' (likely single-venue lookup) or advise when not to use it, but the purpose is distinct enough that an agent can infer appropriate use. Minor gap: no explicit exclusions or alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
staysARead-onlyIdempotentInspect
Hotels and stay partners for a city (read-only): hotel listings with a tracked booking link each, plus the partner search links that cover the city. Prices are not returned; the partner page has them.
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean. | |
| limit | No | Maximum hotel listings (1-50). | |
| country | Yes | Country slug or name, e.g. 'italy'. Optional where city is given. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, idempotentHint, and destructiveHint. The description adds valuable behavioral detail beyond that: it states prices are not returned and must be found on the partner page, and it clarifies the nature of the links (tracked booking links and partner search links). This is not redundant with annotations and helps set agent expectations.
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 core purpose and read-only note, followed by the critical price caveat. No unnecessary words or repetition. Highly scannable and efficient.
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?
Given no output schema and three parameters, the description communicates the key return contents (listings with links, partner search links) and the price limitation. It does not detail exact response shape or pagination, but the essential information an agent needs to call and interpret the tool is present. The annotations cover safety traits.
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 baseline is 3. The description does not add parameter-specific meaning beyond the schema; it only mentions 'for a city', which the schema already covers. No extra value is provided for country, city, or limit.
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 clearly states the tool returns hotels and stay partners for a city, specifies read-only, and enumerates the contents (hotel listings with tracked booking links and partner search links). This distinguishes it from sibling tools like car_hire, experiences, or festivals without ambiguity.
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 description makes the usage context obvious: use this tool when you need hotel/stay listings for a city. It does not explicitly name alternatives or exclusion conditions, but the purpose is clear enough for an agent to select it over siblings. Lacking an explicit 'use X instead' statement keeps it from a 5.
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.
10 tool updates
- Changed
car_hire2 fields changed- added
Input schema / properties / city / descriptionAdded value: +"City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean." - added
Input schema / properties / country / descriptionAdded value: +"Country slug or name, e.g. 'italy'. Optional where city is given."
- Changed
cities1 field changed- added
Input schema / properties / country / descriptionAdded value: +"Country slug to filter by, e.g. 'italy'."
- Changed
dishes4 fields changed- added
Input schema / properties / city / descriptionAdded value: +"City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean." - added
Input schema / properties / country / descriptionAdded value: +"Country slug or name, e.g. 'italy'. Optional where city is given." - added
Input schema / properties / limit / descriptionAdded value: +"Maximum results (1-100)." - added
Input schema / properties / query / descriptionAdded value: +"Free text: a dish, ingredient, style or grape."
- Changed
experiences5 fields changed- added
Input schema / properties / city / descriptionAdded value: +"City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean." - added
Input schema / properties / country / descriptionAdded value: +"Country slug or name, e.g. 'italy'. Optional where city is given." - added
Input schema / properties / food_only / descriptionAdded value: +"Keep only products on the site's theme (food and drink, or wine). Set false for everything bookable in the city." - added
Input schema / properties / limit / descriptionAdded value: +"Maximum results (1-100)." - added
Input schema / properties / query / descriptionAdded value: +"Free text, e.g. 'cooking class', 'wine tasting', 'market tour'."
- Changed
festivals6 fields changed- added
Input schema / properties / city / descriptionAdded value: +"City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean." - added
Input schema / properties / country / descriptionAdded value: +"Country slug or name, e.g. 'italy'. Optional where city is given." - added
Input schema / properties / date_from / descriptionAdded value: +"Earliest end date to include, ISO. Defaults to today." - added
Input schema / properties / date_to / descriptionAdded value: +"Latest start date to include, ISO." - added
Input schema / properties / limit / descriptionAdded value: +"Maximum results (1-100)." - added
Input schema / properties / query / descriptionAdded value: +"Free text: festival name, food or drink."
- Changed
itineraries2 fields changed- added
Input schema / properties / city / descriptionAdded value: +"City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean." - added
Input schema / properties / country / descriptionAdded value: +"Country slug or name, e.g. 'italy'. Optional where city is given."
- Changed
place1 field changed- added
Input schema / properties / id / descriptionAdded value: +"The id search_places returned: country/city/kind/slug, e.g. 'italy/rome/restaurants/roscioli'."
- Changed
plan_day6 fields changed- added
Input schema / properties / city / descriptionAdded value: +"City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean." - added
Input schema / properties / country / descriptionAdded value: +"Country slug or name, e.g. 'italy'. Optional where city is given." - added
Input schema / properties / date / descriptionAdded value: +"ISO date, e.g. '2026-09-20'. Each stop is checked open at its slot time on that weekday." - added
Input schema / properties / dietary / descriptionAdded value: +"vegan, vegetarian, gluten-free, halal, kosher..." - added
Input schema / properties / neighborhood / descriptionAdded value: +"Neighbourhood name or slug to keep the day inside." - added
Input schema / properties / price_tier / descriptionAdded value: +"The site's tier symbols for the country, e.g. '€€' or '$$$'."
- Changed
search_places12 fields changed- added
Input schema / properties / city / descriptionAdded value: +"City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean." - added
Input schema / properties / country / descriptionAdded value: +"Country slug or name, e.g. 'italy'. Optional where city is given." - added
Input schema / properties / cuisine / descriptionAdded value: +"Cuisine slug or name, e.g. 'sichuan', 'neapolitan pizza'." - added
Input schema / properties / dietary / descriptionAdded value: +"vegan, vegetarian, gluten-free, halal, kosher..." - added
Input schema / properties / kind / descriptionAdded value: +"A topic slug (vineyards, tasting-rooms, wine-bars, wine-restaurants, wine-retailers, distilleries...) or a group: visit, drink, buy, do." - added
Input schema / properties / limit / descriptionAdded value: +"Maximum results (1-100)." - added
Input schema / properties / near / descriptionAdded value: +"'lat,lng' to search around a point; results then sort by distance." - added
Input schema / properties / offset / descriptionAdded value: +"Skip this many results, for paging." - added
Input schema / properties / open_at / descriptionAdded value: +"'now', a weekday and time such as 'sunday 10:00', or an ISO datetime (UTC). Venues with unparseable hours are returned last, flagged." - added
Input schema / properties / price_tier / descriptionAdded value: +"The site's tier symbols for the country, e.g. '€€' or '$$$'." - added
Input schema / properties / query / descriptionAdded value: +"Free text: a venue name, dish, cuisine, neighbourhood or theme." - added
Input schema / properties / radius_km / descriptionAdded value: +"Radius for near, in km."
- Changed
stays3 fields changed- added
Input schema / properties / city / descriptionAdded value: +"City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean." - added
Input schema / properties / country / descriptionAdded value: +"Country slug or name, e.g. 'italy'. Optional where city is given." - added
Input schema / properties / limit / descriptionAdded value: +"Maximum hotel listings (1-50)."
2 tool updates
- Added
plan_day - Changed
search_places3 fields changed- added
Input schema / properties / dietaryAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Dietary" +} - added
Input schema / properties / open_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Open At" +} - added
Input schema / properties / price_tierAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Price Tier" +}
9 tool updates
- First observed
car_hire - First observed
cities - First observed
dishes - First observed
experiences - First observed
festivals - First observed
itineraries - First observed
place - First observed
search_places - First observed
stays
Related MCP Connectors
Verified food venues in 206 cities with provenance, festivals with dates, bookable tours and stays.
Search 20,000+ wineries worldwide by region, amenities, hours, tasting fees and bookings.
Public wine registry and guides: search wines, grapes, regions, appellations. No account.
Find wines and compare live merchant prices in your region. Fair-deal search, My wine OAuth login.
Related MCP Servers
- -

Departi MCP Serverofficial
AlicenseAqualityBmaintenanceTravel compliance and trip planning for digital nomads — visa requirements, tax residency analysis, Schengen 90/180-day tracking, and curated accommodation, transport, and experience search across 189 European destinations.7MIT- AlicenseAqualityAmaintenanceSearch vacation rental properties, check real-time availability, get canonical pricing quotes, and create direct bookings. Each property is its own node with live data. Supports staircase pricing, seasonal rates, and 11 languages.413220 npm3Apache 2.0
- FlicenseNot gradedqualityFmaintenanceThe owner-verified local business data + service & menu-price layer for AI agents. Owner-authored business profiles where every response carries provenance — verification level, completeness score, freshness timestamps, and upstream sources. * Search & profiles — find businesses by name, category, city, or geo-radius; full profiles with contacts, hours, media, ratings. * Price layer-
Glama MCP Gateway
Add one secure layer between your agents and this server.