srinath1510/alltrails-mcp-server
If you are the rightful owner of alltrails-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The AllTrails MCP Server provides access to AllTrails data, allowing users to search for hiking trails and get detailed trail information directly through Claude Desktop.
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.
AllTrails MCP Server
A Model Context Protocol (MCP) server that provides access to AllTrails data, allowing you to search for hiking trails and get detailed trail information directly through Claude Desktop.
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 formatus/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
git clone <your-repo-url>
cd alltrails_mcp
2. Create Virtual Environment
python3 -m venv alltrails_mcp_venv
source alltrails_mcp_venv/bin/activate # On Windows: alltrails_mcp_venv\Scripts\activate
3. Install Dependencies
pip install -r requirements.txt
4. Verify Installation
Test that the server starts without errors:
python3 server.py
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
git clone <your-repo-url>
cd alltrails_mcp
2. Install Dependencies Globally
pip install -r requirements.txt
3. Verify Installation
Test that the server starts without errors:
python3 server.py
You should see the server start without crashing. Press Ctrl+C to stop.
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
Add the following to your claude_desktop_config.json
file:
Option A: Using Virtual Environment (Recommended)
{
"mcpServers": {
"alltrails_mcp_server": {
"command": "/path/to/your/alltrails_mcp/alltrails_mcp_venv/bin/python3",
"args": ["/path/to/your/alltrails_mcp/server.py"]
}
}
}
Option B: Using System Python
{
"mcpServers": {
"alltrails_mcp_server": {
"command": "python3",
"args": ["/path/to/your/alltrails_mcp/server.py"]
}
}
}
Or with absolute Python path:
{
"mcpServers": {
"alltrails_mcp_server": {
"command": "/usr/bin/python3",
"args": ["/path/to/your/alltrails_mcp/server.py"]
}
}
}
Important: Replace /path/to/your/alltrails_mcp
with the actual absolute path to your project directory.
Other MCP Clients
For other MCP-compatible clients, refer to their documentation for server configuration. The server implements the standard MCP protocol and should work with any compliant client.
Server Command: python3 server.py
Communication: Standard input/output (stdio)
Protocol Version: MCP 1.9.4
3. Find Your Python Path
For Virtual Environment Users:
cd /path/to/your/alltrails_mcp
source alltrails_mcp_venv/bin/activate
which python3
For System Python Users:
which python3
Use the output path in your configuration.
4. Install Dependencies
If Using Virtual Environment:
Dependencies are already installed in your virtual environment from step 3.
If Using System Python:
Install dependencies globally:
pip install -r requirements.txt
5. Restart Claude Desktop
Completely quit and restart Claude Desktop for the changes to take effect.
Usage Examples
Once configured, you can use these commands in Claude Desktop:
Search for Trails
By park name:
Find trails in Great Smoky Mountains National Park
By location:
What are the best hiking trails in Yosemite?
With specific criteria:
Show me moderate difficulty trails in Yellowstone
Using park slugs directly:
Search for trails in us/california/yosemite-national-park
For specific activities:
Find family-friendly trails in Zion National Park
Get Trail Details
By trail name:
Get details for Alum Cave Trail to Mount LeConte
Using trail slugs:
Get details for trail us/tennessee/alum-cave-trail-to-mount-leconte
For planning purposes:
I need detailed information about Rainbow Falls Trail including difficulty and elevation
Combination Queries
Search and get details:
Find the most popular trails in Grand Canyon National Park and give me details about the top rated one
Compare trails:
Search for trails in Great Smoky Mountains and tell me which ones are best for beginners
Trip planning:
I'm visiting Yellowstone for 3 days. Find me a mix of easy and moderate trails with good views
Natural Language Examples
The MCP server works with natural language, so you can ask questions like:
- "What are some good day hikes in the Smoky Mountains?"
- "Find me a challenging trail with waterfalls in Tennessee"
- "I want to hike to a summit with 360-degree views"
- "Show me trails that are good for photography"
- "Find dog-friendly trails in national parks"
- "What's the difficulty level of Charlies Bunion trail?"
Common Park Slugs
- Great Smoky Mountains:
us/tennessee/great-smoky-mountains-national-park
- Yosemite:
us/california/yosemite-national-park
- Yellowstone:
us/wyoming/yellowstone-national-park
- Grand Canyon:
us/arizona/grand-canyon-national-park
- Zion:
us/utah/zion-national-park
Troubleshooting
Server Not Connecting
-
Check the logs:
tail -f ~/Library/Logs/Claude/mcp.log
-
Verify your config file:
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json
-
Test the server manually:
cd /path/to/your/alltrails_mcp source alltrails_mcp_venv/bin/activate python3 server.py
Common Issues
- "Connection closed" errors: Usually indicates a Python path or virtual environment issue
Path configuration issues: Check that all paths in the config are absolute and correct
- Import errors: Ensure all dependencies are installed in the correct Python environment (virtual environment vs system Python)
- Python path errors: Use
which python3
orwhich python
to verify the correct Python executable path
Debug Mode
For detailed debugging, check the MCP logs:
# macOS
tail -f ~/Library/Logs/Claude/mcp.log
# The server also outputs debug information to stderr
Project Structure
alltrails_mcp/
āāā app/
ā āāā alltrails_scraper.py # AllTrails scraping logic
āāā examples/
ā āāā claude_desktop_config.json # Example configuration file for Claude Desktop
āāā server.py # MCP server implementation
āāā requirements.txt # Python dependencies
āāā alltrails_mcp_venv/ # Virtual environment
āāā README.md # This file
āāā .gitignore # Git ignore file
How It Works
- MCP Protocol: Uses the Model Context Protocol to communicate with Claude Desktop
- Web Scraping: Scrapes AllTrails website for trail data using BeautifulSoup
- Data Processing: Formats and returns trail information in a structured format
- Tool Integration: Exposes tools that Claude can call to search and retrieve trail data
License
MIT License
Copyright (c) 2025 Srinath Srinivasan
Acknowledgments
- Built using the Model Context Protocol
- Trail data sourced from AllTrails
- Inspired by the MCP community examples
Note: This tool scrapes publicly available data from AllTrails. Please use responsibly and in accordance with AllTrails' terms of service.