AllTrails
Busca senderos de senderismo y obtén información detallada de los senderos desde AllTrails.
Documentación
AllTrails MCP Server
⚠️ OBSOLETO - PROYECTO ARCHIVADO
Este proyecto ha sido obsoleto y ya no es funcional.
Fecha: 25 de enero de 2026
Motivo: Este proyecto violó los Términos de Servicio de AllTrails al extraer datos de su sitio web sin autorización.
A petición del CTO de AllTrails, toda la funcionalidad de scraping ha sido deshabilitada. Este repositorio se mantiene únicamente con fines históricos y para preservar las estrellas de GitHub, pero el código ya no funciona y no debe usarse.
¿Qué pasó?
AllTrails se puso en contacto conmigo con respecto a este repositorio, citando:
- Scraping/extracción de datos no autorizados en violación de sus Términos de Servicio
- Posibles violaciones de propiedad intelectual
- Redistribución de contenido con derechos de autor sin licencia
Alternativas
Si necesitas datos de senderos, por favor:
- Usa el sitio web oficial de AllTrails
- Contacta directamente con AllTrails sobre el acceso a la API
- Respeta los Términos de Servicio del sitio web y los derechos de autor
Descripción original (para referencia histórica)
Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona acceso a los datos de AllTrails [OBSOLETO - YA NO FUNCIONAL].
Características
- 🥾 Buscar senderos por parque nacional
- 📍 Obtener información detallada del sendero incluyendo dificultad, longitud, ganancia de elevación y descripciones
- 🏔️ Datos completos de senderos de AllTrails incluyendo calificaciones, tipos de ruta y resúmenes
- 🤖 Integración perfecta con el cliente mediante el protocolo MCP
Especificaciones técnicas
Soporte de protocolo
- Versión del protocolo: MCP 1.9.4
- Comunicación: Entrada/salida estándar (stdio)
- Capacidades: Herramientas
- Nombre del servidor: alltrails-mcp
- Versión del servidor: 0.1.0
Herramientas disponibles
search_trails
Busca senderos en un parque nacional específico usando datos de AllTrails.
Parámetros:
park(obligatorio): slug del parque en formatous/state/park-name(p. ej.,us/tennessee/great-smoky-mountains-national-park)
get_trail_details
Obtén información detallada sobre un sendero específico mediante su slug de AllTrails.
Parámetros:
slug(obligatorio): slug del sendero de la URL de AllTrails (la parte después de/trail/)
Opciones de instalación
Opción 1: Con entorno virtual (Recomendado)
Este enfoque aísla las dependencias y evita conflictos con otros proyectos de Python.
1. Clonar el repositorio
git clone <your-repo-url>
cd alltrails_mcp
2. Crear entorno virtual
python3 -m venv alltrails_mcp_venv
source alltrails_mcp_venv/bin/activate # On Windows: alltrails_mcp_venv\Scripts\activate
3. Instalar dependencias
pip install -r requirements.txt
4. Verificar la instalación
Prueba que el servidor se inicie sin errores:
python3 server.py
Deberías ver que el servidor se inicia sin fallar. Presiona Ctrl+C para detenerlo.
Requisitos previos
- Python 3.8 o superior
- Este servidor se puede usar con cualquier cliente compatible con MCP. Yo uso Claude Desktop con suscripción Pro.
- macOS (probado) u otro sistema tipo Unix
Opción 2: Con Python del sistema
Si prefieres no usar un entorno virtual, puedes instalar las dependencias globalmente.
1. Clonar el repositorio
git clone <your-repo-url>
cd alltrails_mcp
2. Instalar dependencias globalmente
pip install -r requirements.txt
3. Verificar la instalación
Prueba que el servidor se inicie sin errores:
python3 server.py
Deberías ver que el servidor se inicia sin fallar. Presiona Ctrl+C para detenerlo.
Opción 3: Con Docker
Este enfoque ejecuta el servidor en un contenedor aislado.
1. Construir la imagen
docker build -t alltrails-mcp .
2. Ejecutar el contenedor
docker run -i --rm alltrails-mcp
3. Usar con Claude Desktop
Para la implementación basada en Docker, puedes configurar Claude Desktop para usar el servidor contenerizado:
{
"mcpServers": {
"alltrails_mcp_server": {
"command": "docker",
"args": ["run", "-i", "--rm", "alltrails-mcp"]
}
}
}
Configuración de Claude Desktop
1. Localizar la configuración de Claude Desktop
Encuentra tu archivo de configuración de Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Si no existe, crea un archivo json llamado claude_desktop_config.json en el directorio anterior.
2. Agregar configuración del servidor MCP
Agrega lo siguiente a tu archivo claude_desktop_config.json:
Opción A: Usando entorno virtual (Recomendado)
{
"mcpServers": {
"alltrails_mcp_server": {
"command": "/path/to/your/alltrails_mcp/alltrails_mcp_venv/bin/python3",
"args": ["/path/to/your/alltrails_mcp/server.py"]
}
}
}
Opción B: Usando Python del sistema
{
"mcpServers": {
"alltrails_mcp_server": {
"command": "python3",
"args": ["/path/to/your/alltrails_mcp/server.py"]
}
}
}
O con ruta absoluta de Python:
{
"mcpServers": {
"alltrails_mcp_server": {
"command": "/usr/bin/python3",
"args": ["/path/to/your/alltrails_mcp/server.py"]
}
}
}
Importante: Reemplaza /path/to/your/alltrails_mcp con la ruta absoluta real a tu directorio del proyecto.
Otros clientes MCP
Para otros clientes compatibles con MCP, consulta su documentación para la configuración del servidor. El servidor implementa el protocolo MCP estándar y debería funcionar con cualquier cliente compatible.
Comando del servidor: python3 server.py
Comunicación: Entrada/salida estándar (stdio)
Versión del protocolo: MCP 1.9.4
3. Encuentra tu ruta de Python
Para usuarios de entorno virtual:
cd /path/to/your/alltrails_mcp
source alltrails_mcp_venv/bin/activate
which python3
Para usuarios de Python del sistema:
which python3
Usa la ruta de salida en tu configuración.
4. Instalar dependencias
Si usas entorno virtual:
Las dependencias ya están instaladas en tu entorno virtual desde el paso 3.
Si usas Python del sistema:
Instala las dependencias globalmente:
pip install -r requirements.txt
5. Reiniciar Claude Desktop
Cierra y reinicia completamente Claude Desktop para que los cambios surtan efecto.
Ejemplos de uso
Una vez configurado, puedes usar estos comandos en Claude Desktop:
Buscar senderos
Por nombre del parque:
Find trails in Great Smoky Mountains National Park
Por ubicación:
What are the best hiking trails in Yosemite?
Con criterios específicos:
Show me moderate difficulty trails in Yellowstone
Usando slugs de parques directamente:
Search for trails in us/california/yosemite-national-park
Para actividades específicas:
Find family-friendly trails in Zion National Park
Obtener detalles del sendero
Por nombre del sendero:
Get details for Alum Cave Trail to Mount LeConte
Usando slugs de senderos:
Get details for trail us/tennessee/alum-cave-trail-to-mount-leconte
Para fines de planificación:
I need detailed information about Rainbow Falls Trail including difficulty and elevation
Consultas combinadas
Buscar y obtener detalles:
Find the most popular trails in Grand Canyon National Park and give me details about the top rated one
Comparar senderos:
Search for trails in Great Smoky Mountains and tell me which ones are best for beginners
Planificación de viajes:
I'm visiting Yellowstone for 3 days. Find me a mix of easy and moderate trails with good views
Ejemplos de lenguaje natural
El servidor MCP funciona con lenguaje natural, por lo que puedes hacer preguntas como:
- "¿Cuáles son algunas buenas caminatas de un día en las Montañas Humeantes?"
- "Encuéntrame un sendero desafiante con cascadas en Tennessee"
- "Quiero caminar hasta una cumbre con vistas de 360 grados"
- "Muéstrame senderos que sean buenos para la fotografía"
- "Encuentra senderos aptos para perros en parques nacionales"
- "¿Cuál es el nivel de dificultad del sendero Charlies Bunion?"
Slugs comunes de parques
- 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
Solución de problemas
El servidor no se conecta
-
Revisa los registros:
tail -f ~/Library/Logs/Claude/mcp.log -
Verifica tu archivo de configuración:
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json -
Prueba el servidor manualmente:
cd /path/to/your/alltrails_mcp source alltrails_mcp_venv/bin/activate python3 server.py
Problemas comunes
- Errores de "Conexión cerrada": Generalmente indica un problema con la ruta de Python o el entorno virtual
Problemas de configuración de rutas: Verifica que todas las rutas en la configuración sean absolutas y correctas
- Errores de importación: Asegúrate de que todas las dependencias estén instaladas en el entorno de Python correcto (entorno virtual vs Python del sistema)
- Errores de ruta de Python: Usa
which python3owhich pythonpara verificar la ruta correcta del ejecutable de Python
Modo de depuración
Para depuración detallada, revisa los registros de MCP:
# macOS
tail -f ~/Library/Logs/Claude/mcp.log
# The server also outputs debug information to stderr
Desarrollo
Ejecutar pruebas
Ejecuta la suite de pruebas usando pytest:
pytest
Linting
Formatea y revisa el código usando ruff:
ruff check .
ruff format .
Estructura del proyecto
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
Cómo funciona
- Protocolo MCP: Usa el Protocolo de Contexto de Modelo para comunicarse con Claude Desktop
- Web Scraping: Extrae datos de senderos del sitio web de AllTrails usando BeautifulSoup
- Procesamiento de datos: Formatea y devuelve la información de los senderos en un formato estructurado
- Integración de herramientas: Expone herramientas que Claude puede llamar para buscar y recuperar datos de senderos
Licencia
Licencia MIT
Copyright (c) 2025 Srinath Srinivasan
Agradecimientos
- Construido usando el Protocolo de Contexto de Modelo
- Datos de senderos obtenidos de AllTrails
- Inspirado por los ejemplos de la comunidad MCP
⚠️ AVISO IMPORTANTE
Este proyecto está OBSOLETO y no es funcional a partir del 25 de enero de 2026.
La funcionalidad de scraping violó los Términos de Servicio de AllTrails y ha sido completamente deshabilitada a petición suya. Este repositorio existe solo con fines históricos/educativos.
NO intentes usar, bifurcar o replicar este código para hacer scraping de AllTrails o de cualquier otro sitio web sin permiso explícito por escrito del propietario del sitio web.
Respeta los Términos de Servicio. Respeta los derechos de autor. Usa las API oficiales cuando estén disponibles.