Alltrails MCP Server

At the request of AllTrails' CTO, all scraping functionality has been disabled. This repository is maintained for historical purposes only and to

Local serverstdioPython

What is the Alltrails MCP server?

At the request of AllTrails' CTO, all scraping functionality has been disabled. This repository is maintained for historical purposes only and to preserve GitHub stars, but the code no longer works and should not be used. That is what the alltrails mcp server brings to an AI assistant: the same capability, reachable through the Model Context Protocol rather than a separate app or dashboard.

The short version

  • 🥾 Search trails by national park
  • 📍 Get detailed trail information including difficulty, length, elevation gain, and descriptions
  • 🏔️ Comprehensive trail data from AllTrails including ratings, route types, and summaries
  • 🤖 Seamless Client integration via MCP protocol

The tools it exposes

The server publishes 4 tools. What each one is for:

  • Alternatives — If you need trail data, please: - Use AllTrails' official website - Contact AllTrails directly about API access -
  • search_trails — Search for trails in a specific national park using AllTrails data
  • get_trail_details — Get detailed information about a specific trail by its AllTrails slug
  • Linting — The Linting tool exposed by this server

Getting it running

Setup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client. The configuration blocks on this page cover the common clients.

What it needs from you

  • Python 3.8 or higher - This server can be used with any MCP-compatible client. I use Claude Desktop with Pro subscription. - macOS (tested) or other Unix-like system ---

How it compares

Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Alltrails's toolset — Alternatives, search_trails, get_trail_details and 1 more — is a fair guide to whether it matches your workflow. It is maintained by srinath1510; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
AlternativesIf you need trail data, please: - Use [AllTrails' official website](https://www.alltrails.com/) - Contact AllTrails directly about API access - Respect website Terms of Service and copyright
search_trailsSearch for trails in a specific national park using AllTrails data.
get_trail_detailsGet detailed information about a specific trail by its AllTrails slug.
LintingThe Linting tool exposed by this server.

How to install the Alltrails MCP server

{
  "mcpServers": {
    "alltrails_mcp_server": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "alltrails-mcp"]
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Python 3.8 or higher - This server can be used with any MCP-compatible client. I use Claude Desktop with Pro subscription. - macOS (tested) or other Unix-like system ---

Example prompts to try

  • Use Alltrails to Alternatives.
  • Use Alltrails to search trails.
  • Use Alltrails to get trail details.

Frequently asked questions

It connects Alltrails to MCP-compatible AI assistants such as Claude and Cursor, exposing 4 tools (Alternatives, search_trails, get_trail_details, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Alltrails directly.