Gingerguide: European city walking tours
Server Details
Read-only European city sights: search, nearby, walking routes and itineraries in 6 languages.
- Status
- Healthy
- Uptime
- 100.0% over 62 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- gingerguide/gingerguide
- GitHub Stars
- 0
- Server Listing
- app.gingerguide/catalog
TDQS
Scored across 4 tools
Each tool serves a distinct purpose: overview statistics, city-specific details, country listing, and city search. There is no functional overlap or ambiguity between them.
All tool names follow a consistent verb_noun pattern with clear action prefixes (get, list, search). The naming is uniform and predictable.
With only 4 tools, the server is tightly scoped for a catalog domain. Each tool provides essential functionality without unnecessary bloat or gaps.
The server covers all key read operations for a catalog: overview, detailed city guides, country coverage, and search. The workflow from discovery to detail is complete.
Available Tools
4 toolsget_catalog_overviewCatalog overviewARead-onlyInspect
Totals for the whole catalog (cities, sights, countries), the supported languages, and the app download links.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 is not required to repeat safety traits. It adds useful context about what is returned (totals, languages, download links) but does not disclose any unexpected behavioral traits such as response size, formatting, or error conditions.
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 sentence. It front-loads the core purpose ('Totals for the whole catalog') and lists additional content types, with no filler or redundancy.
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 no-parameter, read-only overview tool, the description covers the main return categories: catalog totals, supported languages, and app download links. It omits the response structure or any potential caveats (e.g., whether totals are grouped), but the basic use case is sufficiently complete.
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?
The tool has zero parameters, so per the rubric baseline is 4. The description does not need to explain parameter meaning as none exist.
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?
Description clearly states the tool returns totals for the whole catalog (cities, sights, countries), supported languages, and app download links. The 'whole catalog' scope distinguishes it from sibling tools like get_city_guide and list_countries.
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 'for the whole catalog' implies when to use this tool—for catalog-wide summaries rather than per-city or per-country details. No explicit exclusions or alternatives are named, but the zero-parameter interface and sibling context make the usage context reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_city_guideGet city guideARead-onlyInspect
Get one city with all of its narrated sights (name, one-line description, category, coordinates, and visit minutes).
| Name | Required | Description | Default |
|---|---|---|---|
| city_id | Yes | City id, e.g. "rome". |
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 adds useful output details (sights, fields, single city), but does not disclose potential error behavior or any constraints beyond the annotations and schema.
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, front-loaded sentence. It states the operation, resource scope, and the included fields without extraneous words or repetition.
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 low parameter count, strong schema coverage, and read-only annotation, the description provides enough information to select and invoke the tool. It lacks minor context such as potential size of the returned sight list or error cases, but these are not critical for a simple lookup tool.
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?
Input schema coverage is 100% and the parameter description already explains city_id clearly with an example ('rome'). The tool description adds no extra semantics about the parameter, so the baseline score 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 states the action ('Get'), the target resource ('one city'), and the specific content ('all of its narrated sights' with listed attributes). It is unambiguous and naturally distinguishes itself from sibling tools like search_cities, list_countries, and get_catalog_overview.
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 you want a complete guide for a single city by ID, but it does not explicitly mention alternatives or exclusions. No guidance is given about when to use search_cities to find a city_id first or when a different sibling would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_countriesList countriesARead-onlyInspect
List covered countries and how many cities each one has.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the agent knows it is safe. The description adds that the response includes city counts, providing useful behavioral detail without overwhelming. It could mention more about what is returned or potential limitations.
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 packs the essential meaning. It is perfectly sized and front-loaded with the action verb.
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 list tool with no parameters, the description is nearly complete. It explains the tool's result shape (countries + city counts). A tiny bit more context about the response format could be added, but it's not necessary.
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?
With no parameters, this dimension is largely moot. Baseline of 4 is appropriate since the description confirms it requires no arguments and provides meaning for the output content.
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 uses a specific verb ('List') and resource ('countries'), with the extra detail 'how many cities each one has', which clearly communicates the tool's function and output shape. It does not explicitly differentiate from siblings, but its meaning is clear.
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 its use for getting a country list with city counts, but it does not specify when to prefer this over sibling tools or provide exclusions. It offers implied usage context by being distinct from get_catalog_overview, get_city_guide, and search_cities.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_citiesSearch citiesARead-onlyInspect
Find Gingerguide cities by name or country. Returns matching cities with their sight count and web guide URL. Omit query to list all.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | City or country text to match. | |
| country | No | Restrict to this country. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true, the read-only nature is known. The description adds that it returns sight count and web guide URL, and that omitting query lists all, which are useful beyond the annotations. However, it doesn't disclose pagination behavior or limit default, though these are partly in the schema. It adds some context but not rich detail.
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 two sentences, front-loaded with purpose, and includes a practical usage tip. Every word earns its place with no redundancy or fluff.
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?
The description covers the core purpose, return fields, and query behavior, but it doesn't explain the limit parameter (which lacks schema description) or clarify the interaction between query and country. It also doesn't mention result ordering or pagination. Given the tool's simplicity and existing annotations, this is moderate completeness with some gaps.
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 67% (query and country described, limit not). The description clarifies query use ('by name or country' and 'omit query to list all') but doesn't explain the limit parameter, which lacks a schema description. It adds some value but doesn't fully compensate for the 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?
The description clearly states the tool finds Gingerguide cities by name or country, and specifies the return fields (sight count and web guide URL). This verb+resource+scope pattern distinguishes it from siblings like get_city_guide and list_countries.
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 provides clear context for usage: search by name/country, or omit query to list all. While it doesn't explicitly mention alternatives or exclusions, the usage scenarios are well implied. It lacks explicit when-not-to-use guidance but gives adequate context.
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.
12 tool updates
- Removed
compare_cities - Removed
find_day_trips - Removed
find_nearby_attractions - Removed
get_attraction - Changed
get_city_guide3 fields changed- changed
Input schema / properties / city_id / descriptionPrevious value: -"Gingerguide city id, e.g. \"rome\" or \"istanbul\" (from search_cities)."New value: +"City id, e.g. \"rome\"." - removed
Input schema / properties / detailRemoved value: -{ - "default": "summary", - "enum": [ - "summary", - "full" - ], - "type": "string" -} - removed
Input schema / properties / languageRemoved value: -{ - "default": "en", - "description": "Language of names and descriptions: en, es, fr, de, tr or zh.", - "enum": [ - "en", - "es", - "fr", - "de", - "tr", - "zh" - ], - "type": "string" -}
- Removed
get_visit_info - Removed
plan_trip_itinerary - Removed
plan_walking_tour - Removed
recommend_attractions - Removed
recommend_destinations - Removed
search_attractions - Changed
search_cities4 fields changed- changed
Input schema / properties / country / descriptionPrevious value: -"Restrict to this country, e.g. \"Italy\"."New value: +"Restrict to this country." - removed
Input schema / properties / languageRemoved value: -{ - "default": "en", - "description": "Language of names and descriptions: en, es, fr, de, tr or zh.", - "enum": [ - "en", - "es", - "fr", - "de", - "tr", - "zh" - ], - "type": "string" -} - changed
Input schema / properties / limit / maximumPrevious value: -200New value: +100 - changed
Input schema / properties / query / descriptionPrevious value: -"City, country or region text, e.g. \"Seville\" or \"Portugal\"."New value: +"City or country text to match."
4 tool updates
- Added
get_visit_info - Changed
plan_trip_itinerary1 field changed- added
Input schema / properties / start_weekdayAdded value: +{ + "description": "Day of the week of day 1. Each day leaves out sights known to be closed that day.", + "enum": [ + "mon", + "tue", + "wed", + "thu", + "fri", + "sat", + "sun" + ], + "type": "string" +}
- Changed
plan_walking_tour1 field changed- added
Input schema / properties / weekdayAdded value: +{ + "description": "Day of the week of the visit. Sights known to be closed that day are left out (closing days are researched for some cities only).", + "enum": [ + "mon", + "tue", + "wed", + "thu", + "fri", + "sat", + "sun" + ], + "type": "string" +}
- Changed
search_attractions1 field changed- added
Input schema / properties / free_onlyAdded value: +{ + "default": false, + "description": "Only sights that are free to enter (squares, parks, free churches). Needs visit info, which some cities do not have yet.", + "type": "boolean" +}
2 tool updates
- Added
compare_cities - Added
find_day_trips
9 tool updates
- Added
find_nearby_attractions - Added
get_attraction - Changed
get_city_guide3 fields changed- changed
Input schema / properties / city_id / descriptionPrevious value: -"City id, e.g. \"rome\"."New value: +"Gingerguide city id, e.g. \"rome\" or \"istanbul\" (from search_cities)." - added
Input schema / properties / detailAdded value: +{ + "default": "summary", + "enum": [ + "summary", + "full" + ], + "type": "string" +} - added
Input schema / properties / languageAdded value: +{ + "default": "en", + "description": "Language of names and descriptions: en, es, fr, de, tr or zh.", + "enum": [ + "en", + "es", + "fr", + "de", + "tr", + "zh" + ], + "type": "string" +}
- Added
plan_trip_itinerary - Added
plan_walking_tour - Added
recommend_attractions - Added
recommend_destinations - Added
search_attractions - Changed
search_cities4 fields changed- changed
Input schema / properties / country / descriptionPrevious value: -"Restrict to this country."New value: +"Restrict to this country, e.g. \"Italy\"." - added
Input schema / properties / languageAdded value: +{ + "default": "en", + "description": "Language of names and descriptions: en, es, fr, de, tr or zh.", + "enum": [ + "en", + "es", + "fr", + "de", + "tr", + "zh" + ], + "type": "string" +} - changed
Input schema / properties / limit / maximumPrevious value: -100New value: +200 - changed
Input schema / properties / query / descriptionPrevious value: -"City or country text to match."New value: +"City, country or region text, e.g. \"Seville\" or \"Portugal\"."
4 tool updates
- First observed
get_catalog_overview - First observed
get_city_guide - First observed
list_countries - First observed
search_cities
Related MCP Connectors
Read-only city guides and public itineraries for family and group trips.
Open places, menus, ratings and booking routes in 119 travel destinations. Read-only, no key needed.
Find travel places (sights, museums, parks, beaches) and read place cards. Read-only, no auth.
Free city-walk planner: day-by-day self-guided walking itineraries for 50+ cities. No sign-up.
Related MCP Servers
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.138 npmMIT- AlicenseNot gradedqualityBmaintenanceEnables searching Vinted marketplaces for second-hand listings and reading detailed item information, read-only, without buying or contacting sellers.1MIT
- AlicenseAqualityBmaintenanceSearchable atlas of 2,400 castles, fortresses and palaces worldwide, with facts from Wikidata (CC0). Tools for name search, nearby lookup by coordinates, fame ranking, per-country listings and aggregate statistics — read-only, no API key.71MIT
- AlicenseNot gradedqualityBmaintenanceEnables users to plan trips by searching nearby Park4night places and reading reviews through a local read-only MCP interface.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.