MCP server bringing Israel Hiking Map (Mapeak) trail data to LLM hosts: places, routes, POIs and routing
Five tools with complete, well-documented schemas and descriptions. All tools have clear verb-noun naming (search_*, get_*, list_, route_between). Descriptions are detailed (150 - 300 chars) and include caveats about data limitations. Parameters are typed with enums (Language, Difficulty, GeometryDetail) and numeric constraints (radiusKm 1 - 40, limit 1 - 20). Output schemas are documented in descriptions. All tools are read-only with no destructive operations. Minor gaps: no explicit error recovery guidance, no pagination metadata (total_count, next_cursor) in list responses, and tool annotations lack destructiveHint/idempotentHint (though all are read-only, explicit hints would improve clarity).
Get the full geometry and details of one hiking route. Takes a route ref from `search_hiking_routes` and returns its shape as a line, plus everything the source records about it: title, description, difficulty, length, ascent and descent. The geometry is simplified to fit the response: a route with thousands of points is thinned to the nearest 10 metres, and if it is still too large, the response says so in `unknowns`. The simplification is deterministic — the same route always simplifies the same way — so a caller can rely on the result. What the result does not tell you: whether the route is open, marked, passable, permitted, safe, or has water, parking, or public access. The data records what a volunteer wrote at an unknown date; most routes have no difficulty rating, and one that does was rated by somebody whose standards are not stated. Treat the result as a lead to check, not a plan.
List the points of interest along a hiking route. Takes a route ref from `search_hiking_routes` and returns the POIs (water sources, viewpoints, parking, etc.) that fall on or near the route, ordered by distance along it from the start. The list is built from the map data, so it reflects what volunteers have mapped and tagged. A POI that is not on the map will not appear, and one that is mapped but not tagged with a category will not either.
Route between two points using hiking trails. Returns a path from `start` to `end` that follows mapped hiking routes where possible, with turn-by-turn directions and distance. The route is built from the map data, so it reflects what trails are mapped and how they connect. The routing is not optimized for hiking difficulty or scenery, only for distance. A shorter route may be harder or less scenic than alternatives.
No explicit error recovery guidance in tool descriptions. Tools state limitations (e.g., 'Treat every result as a lead to check, not a plan') but do not guide LLMs on what to do if a call fails or returns empty results.
List tools (search_hiking_routes, search_places, list_route_pois) accept 'limit' but do not document pagination metadata (total_count, next_cursor, has_more) in responses. Large result sets may be truncated without the LLM knowing.
Tool annotations present (readOnlyHint=true for all tools) but lack explicit idempotentHint. All tools are read-only and idempotent, but this is not formally declared in the schema.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | <=2025-11-25 | v2 |
Find hiking routes mapped near a point on the Israel Hiking Map. Returns routes whose start marker falls within `radiusKm` of `center`, nearest first, with their length, any difficulty rating, and a link to the map site. Use `search_places` first to turn a place name into coordinates. Only hiking routes are returned. The same map data also holds cycling and 4x4 routes, which this tool does not search. What a result does not tell you: whether the route is open, marked, passable, permitted, safe, or has water, parking, or public access. Lengths and difficulty ratings are what a volunteer recorded, at an unknown date; most routes have no rating at all, and one that does was rated by somebody whose standards are not stated. `description` is often the only place a closure or hazard appears, and it is undated too. Treat every result as a lead to check, not a plan.
Find a place by name on the Israel Hiking Map. Returns the place's coordinates and a link to the map site. Use the coordinates with `search_hiking_routes` to find routes near it.
Parameter descriptions use prose caveats ('Most routes carry no rating') but do not formally constrain output. LLMs may assume all routes have difficulty ratings despite the caveat.
No batch variants offered. Agents calling list_route_pois for multiple routes must invoke the tool N times sequentially, wasting tokens and latency.