Votura Tours
Server Details
Search AI-powered audio tours and points of interest by city. Walking, cycling, and driving tours.
- Status
- Healthy
- Uptime
- 100.0% over 82 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- eugenelabonarsky/votura-mcp
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- Votura
TDQS
Scored across 3 tools
The three tools have clearly distinct purposes: search_tours finds tours, search_places finds points of interest, and get_tour_details retrieves a specific tour by ID. There is no meaningful overlap that would cause an agent to select the wrong tool.
All names follow a consistent snake_case verb_noun pattern: get_tour_details, search_places, search_tours. The convention is predictable and readable throughout.
Three tools is a focused and reasonable set for a read-only content discovery API, with each tool covering a distinct operation. It is on the thin side and could benefit from one or two additional operations, but nothing is redundant.
Core discovery and tour detail retrieval are covered, but notable gaps remain: there is no place-detail lookup, no category listing, and no broader city or tour listing operation. Agents can still perform main workflows, but some follow-up questions will hit dead ends.
Available Tools
3 toolsget_tour_detailsGet Tour DetailsARead-onlyInspect
Get full details for a specific Votura tour by its ID, including the list of stops with names, categories, and coordinates, plus a link that opens the tour in the Votura app (narrated audio guide), with an App Store / Google Play fallback.
| Name | Required | Description | Default |
|---|---|---|---|
| tour_id | Yes | UUID of the tour, obtained from search_tours |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description still adds real value by disclosing the shape of the result (stop names, categories, coordinates) and the deep-link-plus-store-fallback behavior, which is not derivable from annotations or 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?
It is one front-loaded sentence that leads with the verb and resource before listing payload contents. Slightly dense with parenthetical asides ('narrated audio guide', 'App Store / Google Play fallback'), but every clause carries 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 no output schema, the description must describe the return value, and it does so concretely down to the stop fields and the app link fallback. What is missing is minor: no note on error cases or how large a stop list can be.
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% and the single parameter's description already states it is a UUID obtainable from search_tours. The prose adds only the redundant phrase 'by its ID', so this sits at the baseline for a fully documented 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 uses a specific verb and resource ('Get full details for a specific Votura tour by its ID') and enumerates the payload (stops with names, categories, coordinates, plus an app deep link with store fallback). It implicitly separates itself from search_tours by requiring an ID, though it never names the sibling the way a top score would.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the tool is for 'a specific tour by its ID', and the schema notes the ID comes from search_tours. There is no explicit statement of when to call this versus search_tours, and no mention of behavior for an unknown or malformed ID.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_placesSearch PlacesARead-onlyInspect
Find points of interest near a city or coordinates using Votura. Optionally filter by category (e.g. "museum", "castle", "park"). Returns place names, addresses, ratings, coordinates, and a link to Votura audio tours of the surrounding city.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City or place name to search near, e.g. "Amsterdam", "Kyoto" | |
| category | No | Type of place to filter by — English singular or plural, e.g. "castle", "museum", "park", "church", "brewery", "cemetery", "landmark", "restaurant" | |
| latitude | No | Latitude — provide instead of city if you have coordinates | |
| longitude | No | Longitude — provide instead of city if you have coordinates | |
| radius_meters | No | Search radius in meters (optional, default 15000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that this is a safe read-only, open-world operation, so the description does not need to restate that. It adds useful behavioral context by naming the external provider Votura and listing returned fields such as place names, addresses, ratings, coordinates, and an audio-tour link. It still omits details like result limits, pagination, or how city and coordinate inputs interact if both are supplied.
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 tightly written sentences with no wasted language. The primary purpose is front-loaded, followed by optional filtering and return-value information. Every sentence 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?
For a simple five-parameter search tool with no output schema, the description does a good job explaining what is searched, how to filter, and what is returned. The main remaining gap is sibling-tool routing: it does not explain when to use search_places instead of search_tours or get_tour_details. Parameter-level details are already covered by the schema.
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 parameter meanings are already fully documented in the input schema. The description reinforces the city/coordinates and category filtering behavior but does not add syntax, constraints, or format details beyond what the schema provides. A 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 uses a specific verb and resource: "Find points of interest near a city or coordinates using Votura." It clearly scopes the search and mentions optional category filtering. It does not distinguish this tool from siblings like search_tours or get_tour_details, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by "near a city or coordinates" and "Optionally filter by category," giving enough context to understand the basic call. However, there is no explicit when-to-use guidance relative to the sibling tools search_tours and get_tour_details, and no when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_toursSearch ToursARead-onlyInspect
Search Votura for audio walking, cycling, or driving tours near a city or coordinates. Returns tours with name, duration, transport type, stop count, and a link that opens the tour in the Votura app (narrated audio guide), with an App Store / Google Play fallback.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City or place name to search near, e.g. "Paris", "Rome", "New York" | |
| language | No | Preferred language code, e.g. "en-US", "fr-FR", "de-DE" (optional, defaults to en-US) | |
| latitude | No | Latitude — provide instead of city if you have coordinates | |
| longitude | No | Longitude — provide instead of city if you have coordinates | |
| transport_type | No | Filter by transport mode (optional) | |
| max_duration_minutes | No | Return only tours shorter than this duration in minutes (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint true, destructiveHint false, openWorldHint true), so the description's job is to add context — and it does, by disclosing the returned fields and the app-link behavior including the App Store / Google Play fallback. It omits result-count limits, ordering, or pagination, which keeps it below a 5 for a network-backed search.
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 with the purpose and search scope front-loaded, followed by a compact return-value summary. Every clause carries information an agent would otherwise have to guess.
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 usefully enumerates the return fields and the app-link fallback, and it covers the two geographic input modes for a 6-parameter all-optional tool. Minor gaps remain around what happens if both city and coordinates are given and how many results come back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the schema, and the baseline of 3 applies. The description reinforces the city-vs-coordinates alternative and the transport modes matching the enum, but adds no format or constraint detail beyond what the schema states.
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 ("Search Votura for ... tours") plus the locational scope (near a city or coordinates) and the supported transport modes. It is clear enough to distinguish from get_tour_details, but never mentions search_places, so the boundary with the other discovery sibling is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by "near a city or coordinates" and the schema note that coordinates can be supplied instead of a city, giving the agent a sense of the two input modes. However, there is no explicit statement of when to prefer this over search_places or get_tour_details, and no when-not guidance.
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 tool update
- Changed
get_tour_details1 field changed- removed
Input schema / properties / languageRemoved value: -{ - "description": "Preferred language code for the tour URL, e.g. \"en-US\" (optional)", - "type": "string" -}
3 tool updates
- First observed
get_tour_details - First observed
search_places - First observed
search_tours
Related MCP Connectors
Audio guides for 44,000+ places in 1,900+ cities, with narrated previews in ChatGPT and Claude.
Search and explore a global travel points-of-interest catalog (cities, countries, POIs).
Free city-walk planner: day-by-day self-guided walking itineraries for 50+ cities. No sign-up.
GuruWalk affiliate program for AI agents. Free walking tours in 100+ countries. Earn per booking.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants and agents to search and retrieve self-guided audio walking tour catalog data for 129 European cities, including city guides, narrated sights, countries, and coverage overview via a read-only MCP server with no API key or sign-in.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to access verified city food trails, ranked dish recommendations, GPS stops, and mobile navigation deep links across 17 global culinary capitals. Supports listing cities, retrieving curated 5-stop walking itineraries, finding top dishes, and generating iOS or web trail links.MIT
- FlicenseNot gradedqualityNot gradedmaintenanceEnables AI-assisted travel planning with real-time weather forecasts, place discovery, customized itinerary generation based on interests and budget, and travel distance calculations between cities.-
- AlicenseNot gradedqualityDmaintenanceEnables searching for places and tourist activities using Foursquare and Amadeus APIs, integrated with Claude Desktop and OpenAI Agent SDK.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.