Title100/100
Find trails near a location
The title clearly communicates the tool’s action and subject. Keep it concise.
Description85/100
Find hiking, running, biking, backpacking or other trails for outdoor activities near a set of coordinates within an optional specified maximum radius (meters). Use this tool when the user: * Requests trails near a specific point of interest or landmark. * Requests trails near a named location within a specified radius or accessible within a specified time constraint. * Provides specific latitude and longitude coordinates. For most named places, use the "search within bounding box" tool if possible. Use this tool as a fallback when the bounding box of the named place is unknown. Users can specify filters related to appropriate activities, attractions, suitability, and more. Numeric range filters related to distance, elevation, and length are also available. These filter values MUST be specified in meters. In the response, length and distance values are returned both in meters and imperial units. These MUST be displayed to the user in the units most appropriate for the user's locale, e.g. feet or miles for US English users.
The description explains the capability, when to use it, and what to expect.
Inputs73/100
Resolve the mismatch between this description and its schema constraints.
input › filters › anyOf › 0 › min_rating
The minimum rating of the trail from 0 to 5. This filter can be used to find trails that have a certain minimum rating. For example, if you want to find trails that have a rating of at least 4 stars, you would use the `minRating` filter with `min: 4` as the value.
Resolve the mismatch between this description and its schema constraints.
input › filters › anyOf › 0 › elevation_gain › anyOf › 0 › min
Minimum value for the range
Explain the meaning of this value, not just its name.
input › filters › anyOf › 0 › elevation_gain › anyOf › 0 › max
Maximum value for the range
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
input › filters › anyOf › 0 › highest_point › anyOf › 0 › min
Minimum value for the range
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
input › filters › anyOf › 0 › highest_point › anyOf › 0 › max
Maximum value for the range
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
input › filters › anyOf › 0 › length › anyOf › 0 › min
Minimum value for the range
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
input › filters › anyOf › 0 › length › anyOf › 0 › max
Maximum value for the range
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
input › filters › anyOf › 0 › duration › anyOf › 0 › min
Minimum value for the range
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
input › filters › anyOf › 0 › duration › anyOf › 0 › max
Maximum value for the range
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
input › filters › anyOf › 0 › difficulty
The difficulty level of the trail. Union filter. There should be no duplicates in the difficulty array.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
input › filters › anyOf › 0 › activity
The type of activity that can be done on the trail. Intersection filter. For example, if you want to find trails that are suitable for both hiking and biking, you would use the `activity` filter with both `hiking` and `biking` as values. There should be no duplicates in the activity array. Activity types include: birding (Birdwatching), camping (staying overnight), off-road-driving (4x4 vehicles), via-ferrata (climbing with fixed anchors), paddle-sports (kayaking, canoeing, paddleboarding), scenic-driving (beautiful scenic routes).
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
input › filters › anyOf › 0 › attractions
The type of attraction that can be found on the trail. Intersection filter. There should be no duplicates in the attractions array. Attraction types include: CityWalk (urban trails with city features), HistoricSite (historic sites and landmarks), PubCrawl (urban trails featuring pubs and breweries), Event (trails created for specific events like marathons), RailsTrails (converted railway lines, often flat and straight), Views (scenic views of natural features), Waterfall (trails featuring waterfalls), WildFlowers (trails with wildflowers - no guarantee of bloom timing), Wildlife (trails where wildlife can be seen - no guarantee of sightings).
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
input › filters › anyOf › 0 › suitability
The type of suitability that can be found on the trail. Intersection filter. For example, if you want to find trails that are suitable for both dogs and kids, you would use the `suitability` filter with both `dogs` and `kids` as values. There should be no duplicates in the suitability array. Suitability types include: Ada (Americans with Disabilities Act compliant, accessible to people with disabilities), Dogs (dogs allowed), DogsLeash (dogs allowed but must be leashed), DogsNo (dogs not allowed), Strollers (suitable for strollers), Paved (paved trail), PartiallyPaved (partially paved trail).
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
input › filters › anyOf › 0 › route_type
The type of the route. Union filter. There should be no duplicates in the route type array. Route types: O (Out and back route - goes to a point and returns to start), L (Loop route - starts and ends at the same point), P (Point to point route - starts at one point and ends at another).
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
input › filters › anyOf › 0 › trail_traffic
The amount of traffic on the trail. Union filter. This is an average, an approximation, drawn from internal activity tracking data. It is not a guarantee of how many people will be on the trail at any given time. Traffic levels: light (light traffic), moderate (moderate traffic), heavy (heavy traffic).
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
input › limit
Maximum number of results
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
input › sort
Ability to specify a sorting option. The default is NONE. CRITICAL: Only extract sort if the query contains EXPLICIT sort keywords: - "best trails", "top trails" → most_popular - "closest trails", "nearest trails" → closest - "new trails", "recently added" → newly_added Only include a sort option if the user's query explicitly indicates a particular sort order. If no sort preference is indicated, omit the `sort` property entirely. Available sort options: - `closest`: Sort by distance from the user's location. Use when the query asks for "closest trails" or "trails nearest to" a location. - `most_popular`: Sort by overall popularity. - `newly_added`: Sort by date added. Use for queries like "new hiking trails". - `seasonal`: Sort by popularity at the current time of year. Use when the query asks for trails "at this time of year", "this season", "right now", or similar seasonal phrasing. - `month_1` through `month_12`: Sort by popularity in a specific month. Use when the query mentions a specific month, e.g., "hiking trails in July" → `month_7`.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
input › locale
A BCP 47 locale string (e.g. 'en-US', 'es-ES', 'de-DE'). Should be set to the user's device/browser locale or the language of the current conversation. Used for localizing trail names and descriptions, difficulty labels, and URLs. Falls back to request metadata if not provided.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
input › latitude
Latitude in decimal degrees
Clear enough to supply this argument.
input › longitude
Longitude in decimal degrees
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
input › max_radius_meters
Maximum search radius in meters. Specify this value if the user: * Indicates they are looking for nearby trails within a specific distance. * Mentions a specific distance around a named location * Mentions a time constraint to reach a location. If the user mentions a time constraint, but does not mention the mode of transport, assume they are traveling by car. Generate the maximum radius based on a typical travel speed for the mode of transport. * Requests a point of interest or landmark. Generate an appropriate maximum radius between 1000 and 5000 meters. * If a bounding box is unknown for a named location. (If a bounding box is known, use the "search within bounding box" tool instead.) Supply this value to ensure the search is performed within a reasonable area for the kind of location the user is referring to. Example values: * country: 500000m radius * state/province/official region: 200000m radius * county/administrative area/unofficial region: 25000m radius * city/town: 10000m radius * neighborhood/district: 2000m radius
Clear enough to supply this argument.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
{
"title": "Find trails near a location",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}Output schema66/100
Describe the returned fields so an agent can interpret the result.
View output schema
{
"type": "object",
"$defs": {
"TrailSearchItem": {
"type": "object",
"title": "TrailSearchItem",
"required": [
"id",
"name",
"has_profile_photo"
],
"properties": {
"id": {
"type": "integer",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
},
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Slug",
"default": null
},
"features": {
"type": "array",
"items": {
"type": "string"
},
"title": "Features",
"default": []
},
"activities": {
"type": "array",
"items": {
"type": "string"
},
"title": "Activities",
"default": []
},
"avg_rating": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Avg Rating",
"default": null
},
"difficulty": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Difficulty",
"default": null
},
"route_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Route Type",
"default": null
},
"length_miles": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Length Miles",
"default": null
},
"length_meters": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Length Meters",
"default": null
},
"location_label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Location Label",
"default": null
},
"duration_minutes": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Duration Minutes",
"default": null
},
"alltrails_web_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Alltrails Web Url",
"default": null
},
"has_profile_photo": {
"type": "boolean",
"title": "Has Profile Photo"
},
"profile_photo_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Profile Photo Url",
"default": null
},
"elevation_gain_feet": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Elevation Gain Feet",
"default": null
},
"elevation_gain_meters": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Elevation Gain Meters",
"default": null
},
"trail_head_distance_miles": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Trail Head Distance Miles",
"default": null
},
"trail_head_distance_meters": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Trail Head Distance Meters",
"default": null
}
}
}
},
"title": "TrailsSearchOutput",
"required": [
"trails"
],
"properties": {
"trails": {
"type": "array",
"items": {
"type": "object",
"title": "TrailSearchItem",
"required": [
"id",
"name",
"has_profile_photo"
],
"properties": {
"id": {
"type": "integer",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
},
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Slug",
"default": null
},
"features": {
"type": "array",
"items": {
"type": "string"
},
"title": "Features",
"default": []
},
"activities": {
"type": "array",
"items": {
"type": "string"
},
"title": "Activities",
"default": []
},
"avg_rating": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Avg Rating",
"default": null
},
"difficulty": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Difficulty",
"default": null
},
"route_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Route Type",
"default": null
},
"length_miles": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Length Miles",
"default": null
},
"length_meters": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Length Meters",
"default": null
},
"location_label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Location Label",
"default": null
},
"duration_minutes": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Duration Minutes",
"default": null
},
"alltrails_web_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Alltrails Web Url",
"default": null
},
"has_profile_photo": {
"type": "boolean",
"title": "Has Profile Photo"
},
"profile_photo_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Profile Photo Url",
"default": null
},
"elevation_gain_feet": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Elevation Gain Feet",
"default": null
},
"elevation_gain_meters": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Elevation Gain Meters",
"default": null
},
"trail_head_distance_miles": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Trail Head Distance Miles",
"default": null
},
"trail_head_distance_meters": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Trail Head Distance Meters",
"default": null
}
}
},
"title": "Trails"
},
"message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Message",
"default": null
}
}
}