AllTrails MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
⚠️ DEPRECATED - PROJECT ARCHIVED
**This project has been deprecated and is no longer functional.**
**Date:** January 25, 2026
**Reason:** This project violated AllTrails' Terms of Service by scraping their website without authorization.
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**.
What Happened?
AllTrails contacted me regarding this repository, citing:
- Unauthorized scraping/data extraction in violation of their Terms of Service
- Potential intellectual property violations
- Redistribution of copyrighted content without a license
Alternatives
If you need trail data, please:
- Use AllTrails' official website
- Contact AllTrails directly about API access
- Respect website Terms of Service and copyright
---
Original Description (For Historical Reference)
A Model Context Protocol (MCP) server that ~~provides access to AllTrails data~~ **[DEPRECATED - NO LONGER FUNCTIONAL]**.
Features
- 🥾 **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
Technical Specifications
Protocol Support
- **Protocol Version**: MCP 1.9.4
- **Communication**: Standard input/output (stdio)
- **Capabilities**: Tools
- **Server Name**: alltrails-mcp
- **Server Version**: 0.1.0
Tools Available
search_trails
Search for trails in a specific national park using AllTrails data.
**Parameters:**
- park (required): Park slug in format us/state/park-name (e.g., us/tennessee/great-smoky-mountains-national-park)
get_trail_details
Get detailed information about a specific trail by its AllTrails slug.
**Parameters:**
- slug (required): Trail slug from AllTrails URL (the part after /trail/)
Installation Options
Option 1: With Virtual Environment (Recommended)
This approach isolates dependencies and prevents conflicts with other Python projects.
1. Clone the Repository
2. Create Virtual Environment
3. Install Dependencies
4. Verify Installation
Test that the server starts without errors:
You should see the server start without crashing. Press Ctrl+C to stop.
Prerequisites
- 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
---
Option 2: With System Python
If you prefer not to use a virtual environment, you can install dependencies globally.
1. Clone the Repository
2. Install Dependencies Globally
3. Verify Installation
Test that the server starts without errors:
You should see the server start without crashing. Press Ctrl+C to stop.
---
Option 3: With Docker
This approach runs the server in an isolated container.
1. Build the Image
2. Run the Container
3. Use with Claude Desktop
For Docker-based deployment, you can configure Claude Desktop to use the containerized server:
Claude Desktop Configuration
1. Locate Claude Desktop Config
Find your Claude Desktop configuration file:
- **macOS**: ~/Library/Application Support/Claude/claude_desktop_config.json
- **Windows**: %APPDATA%\Claude\claude_desktop_config.json
If it doesn't exist, create a json file named claude_desktop_config.json in the above directory.
2. Add MCP Server Configuration