AllTrails
Pesquise trilhas para caminhadas e obtenha informações detalhadas sobre as trilhas do AllTrails.
Documentação
AllTrails MCP Server
⚠️ DEPRECIADO - PROJETO ARQUIVADO
Este projeto foi descontinuado e não é mais funcional.
Data: 25 de janeiro de 2026
Motivo: Este projeto violou os Termos de Serviço da AllTrails ao fazer scraping do site sem autorização.
A pedido do CTO da AllTrails, toda a funcionalidade de scraping foi desativada. Este repositório é mantido apenas para fins históricos e para preservar estrelas do GitHub, mas o código não funciona mais e não deve ser usado.
O que aconteceu?
A AllTrails entrou em contato comigo sobre este repositório, citando:
- Scraping/extração de dados não autorizada em violação aos seus Termos de Serviço
- Possíveis violações de propriedade intelectual
- Redistribuição de conteúdo protegido por direitos autorais sem licença
Alternativas
Se você precisar de dados de trilhas, por favor:
- Use o site oficial da AllTrails
- Entre em contato com a AllTrails diretamente sobre acesso à API
- Respeite os Termos de Serviço e os direitos autorais do site
Descrição Original (Para Referência Histórica)
Um servidor Model Context Protocol (MCP) que fornece acesso aos dados da AllTrails [DEPRECIADO - NÃO FUNCIONAL].
Recursos
- 🥾 Pesquisar trilhas por parque nacional
- 📍 Obter informações detalhadas da trilha incluindo dificuldade, extensão, ganho de elevação e descrições
- 🏔️ Dados abrangentes de trilhas da AllTrails incluindo avaliações, tipos de rota e resumos
- 🤖 Integração perfeita com o cliente via protocolo MCP
Especificações Técnicas
Suporte ao Protocolo
- Versão do Protocolo: MCP 1.9.4
- Comunicação: Entrada/saída padrão (stdio)
- Capacidades: Ferramentas
- Nome do Servidor: alltrails-mcp
- Versão do Servidor: 0.1.0
Ferramentas Disponíveis
search_trails
Pesquise trilhas em um parque nacional específico usando dados da AllTrails.
Parâmetros:
park(obrigatório): Slug do parque no formatous/state/park-name(ex.:us/tennessee/great-smoky-mountains-national-park)
get_trail_details
Obtenha informações detalhadas sobre uma trilha específica pelo slug da AllTrails.
Parâmetros:
slug(obrigatório): Slug da trilha da URL da AllTrails (a parte após/trail/)
Opções de Instalação
Opção 1: Com Ambiente Virtual (Recomendado)
Essa abordagem isola as dependências e evita conflitos com outros projetos Python.
1. Clone o Repositório
git clone <your-repo-url>
cd alltrails_mcp
2. Crie o Ambiente Virtual
python3 -m venv alltrails_mcp_venv
source alltrails_mcp_venv/bin/activate # On Windows: alltrails_mcp_venv\Scripts\activate
3. Instale as Dependências
pip install -r requirements.txt
4. Verifique a Instalação
Teste se o servidor inicia sem erros:
python3 server.py
Você deve ver o servidor iniciar sem travar. Pressione Ctrl+C para parar.
Pré-requisitos
- Python 3.8 ou superior
- Este servidor pode ser usado com qualquer cliente compatível com MCP. Eu uso o Claude Desktop com assinatura Pro.
- macOS (testado) ou outro sistema Unix-like
Opção 2: Com Python do Sistema
Se você preferir não usar um ambiente virtual, pode instalar as dependências globalmente.
1. Clone o Repositório
git clone <your-repo-url>
cd alltrails_mcp
2. Instale as Dependências Globalmente
pip install -r requirements.txt
3. Verifique a Instalação
Teste se o servidor inicia sem erros:
python3 server.py
Você deve ver o servidor iniciar sem travar. Pressione Ctrl+C para parar.
Opção 3: Com Docker
Essa abordagem executa o servidor em um contêiner isolado.
1. Construa a Imagem
docker build -t alltrails-mcp .
2. Execute o Contêiner
docker run -i --rm alltrails-mcp
3. Use com o Claude Desktop
Para implantação baseada em Docker, você pode configurar o Claude Desktop para usar o servidor em contêiner:
{
"mcpServers": {
"alltrails_mcp_server": {
"command": "docker",
"args": ["run", "-i", "--rm", "alltrails-mcp"]
}
}
}
Configuração do Claude Desktop
1. Localize a Configuração do Claude Desktop
Encontre o arquivo de configuração do Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Se não existir, crie um arquivo json chamado claude_desktop_config.json no diretório acima.
2. Adicione a Configuração do Servidor MCP
Adicione o seguinte ao seu arquivo claude_desktop_config.json:
Opção A: Usando Ambiente 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"]
}
}
}
Opção B: Usando Python do Sistema
{
"mcpServers": {
"alltrails_mcp_server": {
"command": "python3",
"args": ["/path/to/your/alltrails_mcp/server.py"]
}
}
}
Ou com caminho absoluto do Python:
{
"mcpServers": {
"alltrails_mcp_server": {
"command": "/usr/bin/python3",
"args": ["/path/to/your/alltrails_mcp/server.py"]
}
}
}
Importante: Substitua /path/to/your/alltrails_mcp pelo caminho absoluto real do diretório do seu projeto.
Outros Clientes MCP
Para outros clientes compatíveis com MCP, consulte a documentação deles para configuração do servidor. O servidor implementa o protocolo MCP padrão e deve funcionar com qualquer cliente compatível.
Comando do Servidor: python3 server.py
Comunicação: Entrada/saída padrão (stdio)
Versão do Protocolo: MCP 1.9.4
3. Encontre o Caminho do Seu Python
Para Usuários de Ambiente Virtual:
cd /path/to/your/alltrails_mcp
source alltrails_mcp_venv/bin/activate
which python3
Para Usuários de Python do Sistema:
which python3
Use o caminho de saída na sua configuração.
4. Instale as Dependências
Se Usar Ambiente Virtual:
As dependências já estão instaladas no seu ambiente virtual a partir do passo 3.
Se Usar Python do Sistema:
Instale as dependências globalmente:
pip install -r requirements.txt
5. Reinicie o Claude Desktop
Saia completamente e reinicie o Claude Desktop para que as alterações tenham efeito.
Exemplos de Uso
Depois de configurado, você pode usar estes comandos no Claude Desktop:
Pesquisar Trilhas
Por nome do parque:
Find trails in Great Smoky Mountains National Park
Por localização:
What are the best hiking trails in Yosemite?
Com critérios específicos:
Show me moderate difficulty trails in Yellowstone
Usando slugs de parque diretamente:
Search for trails in us/california/yosemite-national-park
Para atividades específicas:
Find family-friendly trails in Zion National Park
Obter Detalhes da Trilha
Por nome da trilha:
Get details for Alum Cave Trail to Mount LeConte
Usando slugs de trilha:
Get details for trail us/tennessee/alum-cave-trail-to-mount-leconte
Para fins de planejamento:
I need detailed information about Rainbow Falls Trail including difficulty and elevation
Consultas Combinadas
Pesquisar e obter detalhes:
Find the most popular trails in Grand Canyon National Park and give me details about the top rated one
Comparar trilhas:
Search for trails in Great Smoky Mountains and tell me which ones are best for beginners
Planejamento de viagem:
I'm visiting Yellowstone for 3 days. Find me a mix of easy and moderate trails with good views
Exemplos em Linguagem Natural
O servidor MCP funciona com linguagem natural, então você pode fazer perguntas como:
- "Quais são algumas boas trilhas de um dia nas Montanhas Smoky?"
- "Encontre uma trilha desafiadora com cachoeiras no Tennessee"
- "Quero fazer uma trilha até um cume com vistas de 360 graus"
- "Mostre-me trilhas boas para fotografia"
- "Encontre trilhas que aceitam cães em parques nacionais"
- "Qual é o nível de dificuldade da trilha Charlies Bunion?"
Slugs Comuns 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
Solução de Problemas
Servidor Não Conectando
-
Verifique os logs:
tail -f ~/Library/Logs/Claude/mcp.log -
Verifique o arquivo de configuração:
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json -
Teste o servidor manualmente:
cd /path/to/your/alltrails_mcp source alltrails_mcp_venv/bin/activate python3 server.py
Problemas Comuns
- Erros de "Conexão fechada": Geralmente indicam um problema com o caminho do Python ou ambiente virtual
-
Problemas de configuração de caminho: Verifique se todos os caminhos na configuração são absolutos e corretos
- Erros de importação: Garanta que todas as dependências estejam instaladas no ambiente Python correto (ambiente virtual vs Python do sistema)
- Erros de caminho do Python: Use
which python3ouwhich pythonpara verificar o caminho correto do executável Python
Modo de Depuração
Para depuração detalhada, verifique os logs do MCP:
# macOS
tail -f ~/Library/Logs/Claude/mcp.log
# The server also outputs debug information to stderr
Desenvolvimento
Executando Testes
Execute a suíte de testes usando pytest:
pytest
Linting
Formate e verifique o código usando ruff:
ruff check .
ruff format .
Estrutura do Projeto
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
Como Funciona
- Protocolo MCP: Usa o Model Context Protocol para se comunicar com o Claude Desktop
- Web Scraping: Faz scraping do site da AllTrails para obter dados de trilhas usando BeautifulSoup
- Processamento de Dados: Formata e retorna informações de trilhas em um formato estruturado
- Integração de Ferramentas: Expõe ferramentas que o Claude pode chamar para pesquisar e recuperar dados de trilhas
Licença
Licença MIT
Copyright (c) 2025 Srinath Srinivasan
Agradecimentos
- Construído usando o Model Context Protocol
- Dados de trilhas obtidos do AllTrails
- Inspirado nos exemplos da comunidade MCP
⚠️ AVISO IMPORTANTE
Este projeto está DEPRECIADO e não funcional a partir de 25 de janeiro de 2026.
A funcionalidade de scraping violou os Termos de Serviço da AllTrails e foi completamente desativada a pedido deles. Este repositório existe apenas para fins históricos/educacionais.
NÃO tente usar, bifurcar ou replicar este código para fazer scraping da AllTrails ou de qualquer outro site sem permissão explícita por escrito do proprietário do site.
Respeite os Termos de Serviço. Respeite os direitos autorais. Use APIs oficiais quando disponíveis.