AllTrails icon Outdoors MCP

AllTrails MCP

Ship trail discovery, route filtering, and trailhead weather inside your AI product without building and maintaining your own trails database.

  • check_circle Location-aware trail search by radius or bounding box
  • check_circle Filters for activity, difficulty, rating, length, elevation, and duration
  • check_circle Trail details plus 7-day weather at the trailhead
AllTrails MCP demo in ChatGPT

FAQ

Common questions teams ask before integrating AllTrails MCP.

How do I install this?

Set up your Infoseek account to get your app URL, then paste that URL into your preferred AI client.

What does AllTrails MCP do?

It powers trail search, named trail lookup, detailed trail metadata, and trailhead weather for AI apps and agents.

Are trail results real time?

Searches and weather calls are live at request time. Conditions can change, so rerun before final trip decisions.

What inputs are required?

For location-based search, pass coordinates. For details and weather, pass a trail_id. Optional filters refine activity, difficulty, length, and elevation.

Can I filter by activity and difficulty?

Yes. The search tools support filters for activity type, difficulty, route type, rating, length, elevation, and more.

Can I automate trail discovery and send daily updates?

Yes. Use a scheduled Codex Agent or workflow to run saved searches and send result summaries by email.

How long do searches take?

Most requests complete in seconds, depending on geographic scope, filters, and API response time.

Can I use this in my own MCP client?

Yes. Any MCP client that supports tools/list and tools/call can integrate this endpoint.

Tools

The AllTrails MCP exposes five production-ready tools for trail discovery, named search, rich trail details, and trailhead weather. Numeric filter values are expressed in meters.

Tool

find_trails_near_location

pin_drop

Use when you have a point location and want nearby trails within an optional radius.

Required inputs

  • input.latitude
  • input.longitude

Useful optional inputs

  • input.max_radius_meters
  • input.filters.activity, difficulty
  • input.filters.length, elevation_gain, duration
  • input.filters.min_rating
  • input.limit, input.sort

Returns

  • trails[].name, difficulty
  • trails[].length_miles, length_meters
  • trails[].elevation_gain_feet
  • trails[].alltrails_web_url

Tool

find_trails_within_bounds

map

Use when you know a bounding box and want trails inside those coordinates.

Required inputs

  • input.southwest_bounds
  • input.northeast_bounds

Useful optional inputs

  • input.filters.activity, difficulty
  • input.filters.length, elevation_gain, duration
  • input.filters.route_type, trail_traffic
  • input.limit, input.sort

Returns

  • trails[].location_label
  • trails[].trail_head_distance_miles
  • trails[].features, activities

Tool

search_trails_by_name

search

Use when the user knows a trail name or wants a name-based search.

Required inputs

  • input.search_query

Useful optional inputs

  • input.latitude
  • input.longitude
  • input.limit

Returns

  • trails[].id, name
  • trails[].avg_rating
  • trails[].alltrails_web_url

Tool

get_trail_details

info

Use after a trail search to fetch rich descriptions, stats, and accessibility details.

Required inputs

  • input.trail_id

Returns

  • trail.name, difficulty
  • trail.length_miles, length_meters
  • trail.elevation_gain_feet
  • trail.features, activities

Includes

  • trail.description
  • trail.route_type
  • trail.alltrails_web_url

Tool

get_trail_weather_overview

cloud

Use for a 7-day forecast at the trailhead once you have the trail ID.

Required inputs

  • input.trail_id

Useful optional inputs

  • input.units (i or m)

Returns

  • daily_forecasts[]
  • weather_alert_text

Response JSON

The MCP returns ready-to-render trail cards with ratings, distances, difficulty, and canonical AllTrails links. Length and distance fields include both meters and miles.

trail_head_distance_miles

Quickly rank trails by proximity to the user.

length_miles + length_meters

Show length in the units the user expects while keeping metric precision.

avg_rating + difficulty

Use quality and difficulty to drive ranking and recommendations.

alltrails_web_url

Stable canonical trail URL to link out or store for later.

{
  "trails": [
    {
      "id": 10280443,
      "name": "Discovery Park Extended Loop",
      "avg_rating": 4.7,
      "difficulty": "Moderate",
      "length_miles": 4.3,
      "length_meters": 6920.162,
      "elevation_gain_feet": 479.0,
      "trail_head_distance_miles": 5.57,
      "route_type": "Loop",
      "alltrails_web_url": "https://www.alltrails.com/trail/us/washington/..."
    },
    {
      "id": 10029568,
      "name": "Coal Creek Trail",
      "avg_rating": 4.5,
      "difficulty": "Moderate",
      "length_miles": 5.6,
      "length_meters": 9012.304,
      "elevation_gain_feet": 620.0,
      "trail_head_distance_miles": 8.56,
      "route_type": "Out & back",
      "alltrails_web_url": "https://www.alltrails.com/trail/us/washington/..."
    }
  ]
}

Quickstart + Code

Most integrations are a simple sequence: location search, optional detail fetch, and trailhead weather.

Three-step workflow

  1. 1. Search trails near a point or inside a bounding box.
  2. 2. Fetch details for the top trail(s) you plan to recommend.
  3. 3. Pull the 7-day forecast to verify trailhead conditions.
const nearby = await mcp.callTool("find_trails_within_bounds", {
  input: {
    southwest_bounds: { latitude: 47.45, longitude: -122.49 },
    northeast_bounds: { latitude: 47.75, longitude: -122.15 },
    filters: { activity: ["hiking"], min_rating: 4 }
  }
});

const topTrail = nearby.trails[0];
const detail = await mcp.callTool("get_trail_details", {
  input: { trail_id: topTrail.id }
});

Access Options

AllTrails MCP access is provisioned by Infoseek. Reach out to enable production access for your team.

shield_lock

Managed Access

We provision the MCP for your environment, align usage with your product needs, and help you ship the integration quickly.

support_agent

Integration Support

Get schema guidance, filter mapping help, and best practices for trail personalization and ranking.

Why These Outputs Matter

Geo-Aware Ranking

Use distance, rating, and difficulty to rank trails based on who the user is and where they are located.

Actionable Trail Cards

Features, activities, and route type fields let you show a credible recommendation without extra scraping.

Weather Confidence

Pair trail suggestions with trailhead forecasts to reduce surprise and boost conversion.

Use Cases

assistant

Outdoor Planning Agents

Answer “Where can I hike this weekend?” with filtered, nearby trail options and trailhead weather.

directions_walk

Fitness + Coaching Apps

Recommend trails that match distance, difficulty, or elevation goals for training plans.

terrain

Travel + Concierge Teams

Provide curated hikes near hotels, vacation rentals, or destination towns without manual research.