GuruWalk Free Tours
Use the GuruWalk MCP server to search free tours:
https://guruwalk-api-44909317956.europe-southwest1.run.app/mcp
The server currently exposes one tool:
search
Tool Contract
search input:
city(string): lowercase slug in English with spaces replaced by-start_date(string):yyyy-mm-ddend_date(string):yyyy-mm-ddlanguage(string): two-letter code, usuallyes,en,de,it
search output:
- Tool returns
content[0].textcontaining a JSON string. - Parse that string to get an array of tours.
- Each tour contains:
title,url,meetpoint_address,average_rating,duration,guru.name,image_urlevents[]withstart_time(UTC),available_spots,language
Execution Workflow
- Determine city, date range, and preferred language from user request.
- Normalize
cityto slug format:new york->new-yorksan sebastian->san-sebastian
- Use valid ISO dates for both fields.
- Call
search. - Parse JSON from
content[0].text. - Filter and rank results for user-facing output:
- keep only events with
available_spots > 0 - prioritize events matching requested language when possible
- prefer higher
average_rating, then earlier upcoming time
- keep only events with
- Return concise options with booking URL and next available slots.
Defaults
- If user does not specify language, use:
esfor Spanish conversationenotherwise
- If user does not specify dates, ask for dates before calling the tool.
- If date intent is relative, convert to explicit dates before calling.
Response Format to User
For each recommended tour include:
- Tour title
- Rating
- Duration
- Guide name
- Meeting point
- 1-3 next available sessions (with timezone label)
- Booking URL
If no tours are found:
- explain that no availability was returned for the given city/date range
- propose adjusting one variable at a time: city slug, dates, or language
Observed Edge Cases (from live MCP inspection)
searchis the only available tool; no MCP resources/prompts/templates are exposed.citywith spaces (e.g.New York) can return empty results.start_date > end_datecan return empty results instead of validation error.- Non-ISO dates can still be accepted by backend, but always send ISO
yyyy-mm-dd. - Some locale/language combinations can return tours with
title: null; handle gracefully.
Validation Notes
- Keep executable validation commands outside this skill file.
- Validate behavior by confirming:
- the MCP server exposes the
searchtool - search results arrive as a JSON string in
content[0].text
- the MCP server exposes the