loading…
Search for a command to run...
loading…
A MCP server that provides access to AllTrails data, allowing you to search for hiking trails and get detailed trail information
A MCP server that provides access to AllTrails data, allowing you to search for hiking trails and get detailed trail information
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.
AllTrails contacted me regarding this repository, citing:
If you need trail data, please:
A Model Context Protocol (MCP) server that provides access to AllTrails data [DEPRECATED - NO LONGER FUNCTIONAL].
search_trailsSearch 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_detailsGet detailed information about a specific trail by its AllTrails slug.
Parameters:
slug (required): Trail slug from AllTrails URL (the part after /trail/)This approach isolates dependencies and prevents conflicts with other Python projects.
git clone <your-repo-url>
cd alltrails_mcp
python3 -m venv alltrails_mcp_venv
source alltrails_mcp_venv/bin/activate # On Windows: alltrails_mcp_venv\Scripts\activate
pip install -r requirements.txt
Test that the server starts without errors:
python3 server.py
You should see the server start without crashing. Press Ctrl+C to stop.
If you prefer not to use a virtual environment, you can install dependencies globally.
git clone <your-repo-url>
cd alltrails_mcp
pip install -r requirements.txt
Test that the server starts without errors:
python3 server.py
You should see the server start without crashing. Press Ctrl+C to stop.
This approach runs the server in an isolated container.
docker build -t alltrails-mcp .
docker run -i --rm alltrails-mcp
For Docker-based deployment, you can configure Claude Desktop to use the containerized server:
{
"mcpServers": {
"alltrails_mcp_server": {
"command": "docker",
"args": ["run", "-i", "--rm", "alltrails-mcp"]
}
}
}
Find your Claude Desktop configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonIf it doesn't exist, create a json file named claude_desktop_config.json in the above directory.
Add the following to your claude_desktop_config.json file:
{
"mcpServers": {
"alltrails_mcp_server": {
"command": "/path/to/your/alltrails_mcp/alltrails_mcp_venv/bin/python3",
"args": ["/path/to/your/alltrails_mcp/server.py"]
}
}
}
{
"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.
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
cd /path/to/your/alltrails_mcp
source alltrails_mcp_venv/bin/activate
which python3
which python3
Use the output path in your configuration.
Dependencies are already installed in your virtual environment from step 3.
Install dependencies globally:
pip install -r requirements.txt
Completely quit and restart Claude Desktop for the changes to take effect.
Once configured, you can use these commands in Claude Desktop:
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
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
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
The MCP server works with natural language, so you can ask questions like:
us/tennessee/great-smoky-mountains-national-parkus/california/yosemite-national-parkus/wyoming/yellowstone-national-parkus/arizona/grand-canyon-national-parkus/utah/zion-national-parkCheck 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
which python3 or which python to verify the correct Python executable pathFor detailed debugging, check the MCP logs:
# macOS
tail -f ~/Library/Logs/Claude/mcp.log
# The server also outputs debug information to stderr
Run the test suite using pytest:
pytest
Format and check code using ruff:
ruff check .
ruff format .
alltrails_mcp/
├── app/
│ └── alltrails_scraper.py # AllTrails scraping logic
├── examples/
│ └── claude_desktop_config.json # Example configuration file for Claude Desktop
├── tests/ # Test suite
│ ├── conftest.py # Test fixtures
│ └── test_scraper.py # Scraper tests
├── server.py # MCP server implementation
├── requirements.txt # Python dependencies
├── pyproject.toml # Project configuration (Ruff, Pytest)
├── alltrails_mcp_venv/ # Virtual environment
├── README.md # This file
└── .gitignore # Git ignore file
MIT License
Copyright (c) 2025 Srinath Srinivasan
This project is DEPRECATED and non-functional as of January 25, 2026.
The scraping functionality violated AllTrails' Terms of Service and has been completely disabled at their request. This repository exists only for historical/educational purposes.
DO NOT attempt to use, fork, or replicate this code for scraping AllTrails or any other website without explicit written permission from the website owner.
Respect Terms of Service. Respect copyright. Use official APIs when available.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"srinath1510-alltrails-mcp-server": {
"command": "npx",
"args": []
}
}
}