Search for hiking routes on Wikiloc based on geographical area and extract trail statistics
Single tool 'get_routes' has a complete input schema with proper types and descriptions for all 7 parameters (query, sw_lat, sw_lon, ne_lat, ne_lon, page, max_results). Tool name follows verb_noun pattern. However, the output description is severely deficient: it lists field names in a prose block rather than documenting a structured schema. The docstring conflates input documentation with output documentation, making it unclear what the actual response structure is. No error handling guidance, no pagination metadata (total_count, next_cursor), and the tool returns a formatted string rather than structured JSON. The description lacks WHEN to use this tool and prerequisites. Output schema is completely undocumented, LLMs cannot plan downstream calls without knowing the response structure.
Search for routes on Wikiloc based on geographical area. Args: query: Search query (e.g. "Vall de Núria - Ribes de Freser"). sw_lat: Latitude of the southwest corner of the bounding box. sw_lon: Longitude of the southwest corner of the bounding box. ne_lat: Latitude of the northeast corner of the bounding box. ne_lon: Longitude of the northeast corner of the bounding box. page: The page of results to fetch. max_results: The maximum number of results to return. Output: "title": Name of the trail, "url": Url, "distance_km": Distance in KM, "slope": Slope of the trail in meters, "author": Author of the trail, "location": Location of the trail, "trailrank": Punctuation of the trail.
Output schema not documented. Tool returns a formatted string, not structured JSON. LLMs cannot extract fields or chain to downstream tools.
Description conflates input args with output fields. No clear statement of WHAT the tool does, WHEN to use it, or what structure is returned.
No pagination metadata returned (total_count, next_cursor). Large result sets will blow context window; no guidance on how to fetch next page.
No error handling guidance. If Wikiloc API fails or returns no results, LLM receives bare string with no recovery path.
max_results parameter defaults to 5 but tool makes N+1 HTTP requests (one per route to fetch details). No documentation of this cost or timeout risk.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |